]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* util/i386/pc/grub-setup.c (usage): Fix syntax error.
[grub2.git] / ChangeLog
1 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
2
3 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
4 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5
6 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7
8 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
9 directly, and recommend grub-install instead.
10 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
11
12 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
13
14 Fix i386-pc prefix handling with nested partitions (Debian bug
15 #585068). Note that the case where the core image is booted using
16 multiboot and relocated from its original location still requires
17 more work.
18
19 * kern/i386/pc/init.c (make_install_device): If the prefix starts
20 with "(,", fill the boot drive in between those two characters, but
21 expect that a full partition specification including partition map
22 names will follow.
23 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
24 specified, write a prefix without the drive name but including a
25 full partition specification.
26
27 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
28
29 * util/grub-mkconfig.in: Ignore non-option arguments, for
30 compatibility with older versions (before 2010-06-12) which did the
31 same. In particular, this makes it easier to ship an update-grub
32 wrapper which is compatible with that used with GRUB Legacy (Debian
33 bug #586056).
34
35 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
36
37 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
38 for manual page generation.
39
40 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
41
42 * po/POTFILES: Remove leftover commands/handler.c.
43
44 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
45
46 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
47 left this script non-functional.
48
49 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
50
51 * docs/man/grub-emu.h2m: New file.
52
53 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
54
55 * docs/grub.texi (Commands): Document reduced command set in rescue
56 mode.
57 (cpuid): New section.
58
59 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
60
61 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
62 new partition naming style.
63 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
64
65 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
66
67 Add "-o grub.iso" like cmdline options support.
68
69 * util/grub-install.in: Improve cmdline option parsing.
70 * util/grub-mkconfig.in: Likewise.
71 * util/grub-mkrescue.in: Likewise.
72 * util/grub-reboot.in: Likewise.
73 * util/grub-set-default.in: Likewise.
74 * util/i386/efi/grub-install.in: Likewise.
75 * util/ieee1275/grub-install.in: Likewise.
76 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
77
78 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
79
80 * .bzrignore: Ignore 41_custom.
81
82 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
83
84 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
85
86 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
87
88 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
89 prototype declarations.
90
91 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
92 generating fs, partmap, and video lists.
93 * include/grub/fs.h (grub_fs_register): Omit prototype if
94 GRUB_LST_GENERATOR is defined.
95 * include/grub/partition.h (grub_partition_map_register): Likewise.
96 * include/grub/video.h (grub_video_register): Likewise.
97
98 2010-06-12 Javier Martín <lordhabbit@gmail.com>
99
100 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
101
102 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
103
104 * util/grub-mkrescue.in: Support --xorriso argument.
105
106 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
107
108 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
109 Suggested by: Thomas Schmitt.
110
111 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
112
113 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
114 Suggested by: Thomas Schmitt.
115
116 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
117
118 custom.cfg support.
119
120 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
121 * util/grub.d/41_custom.in: New file.
122
123 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
124
125 * util/grub-mkrescue.in (make_image): Remove sh module, which has
126 been merged back into normal.
127
128 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
129
130 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
131 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
132
133 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
134
135 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
136 when generating manual pages.
137 * docs/man/grub-bin2h.h2m: New file.
138 * docs/man/grub-editenv.h2m: New file.
139 * docs/man/grub-fstest.h2m: New file.
140 * docs/man/grub-install.h2m: New file.
141 * docs/man/grub-macho2img.h2m: New file.
142 * docs/man/grub-mkconfig.h2m: New file.
143 * docs/man/grub-mkdevicemap.h2m: New file.
144 * docs/man/grub-mkfont.h2m: New file.
145 * docs/man/grub-mkimage.h2m: New file.
146 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
147 * docs/man/grub-mkrelpath.h2m: New file.
148 * docs/man/grub-mkrescue.h2m: New file.
149 * docs/man/grub-ofpathname.h2m: New file.
150 * docs/man/grub-pe2elf.h2m: New file.
151 * docs/man/grub-probe.h2m: New file.
152 * docs/man/grub-reboot.h2m: New file.
153 * docs/man/grub-script-check.h2m: New file.
154 * docs/man/grub-set-default.h2m: New file.
155 * docs/man/grub-setup.h2m: New file.
156
157 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
158
159 Use FOR_* macros instead of *_iterate whenever possible.
160
161 * commands/handler.c: Removed.
162 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
163 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
164 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
165 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
166 (grub_probe_SOURCES): Remove kern/parser.c.
167 (util/grub-script-check.c_DEPENDENCIES): Removed.
168 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
169 and grub_script_check_init.c.
170 (grub_script_check_init.lst): Removed.
171 (grub_script_check_init.h): Likewise.
172 (grub_script_check_init.c): Likewise.
173 (pkglib_MODULES): Remove handler.mod and sh.mod.
174 (handler_mod_SOURCES): Removed.
175 (handler_mod_CFLAGS): Likewise.
176 (handler_mod_LDFLAGS): Likewise.
177 (normal_mod_SOURCES): Remove normal/handler.c.
178 Add script/main.c, script/script.c, script/execute.c,
179 script/function.c, script/lexer.c, grub_script.tab.c
180 and grub_script.yy.c.
181 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
182 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
183 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
184 (grub_setup_SOURCES): Remove kern/parser.c.
185 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
186 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
187 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
188 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
189 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
190 (grub_setup_SOURCES): Remove kern/parser.c.
191 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
192 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
193 * include/grub/command.h (grub_command_iterate): Removed.
194 (FOR_COMMANDS): New macro.
195 * include/grub/dl.h (grub_dl): New member next.
196 (grub_dl_iterate): Removed.
197 (grub_dl_head): New variable declaration.
198 (FOR_DL_MODULES): New macro.
199 * include/grub/fs.h: Include list.h.
200 (grub_fs): Make next first element.
201 (grub_fs_list): New variable declaration.
202 (grub_fs_register): Make inline.
203 (grub_fs_unregister): Likewise.
204 (grub_fs_iterate): Removed.
205 (FOR_FILESYSTEMS): New macro.
206 * include/grub/handler.h: Removed.
207 * include/grub/list.h (grub_list_hook_t): Removed.
208 (grub_list_test_t): Likewise.
209 (grub_list_pop): Likewise.
210 (grub_list_iterate): Likewise.
211 (grub_list_insert): Likewise.
212 (FOR_LIST_ELEMENTS): New macro.
213 * include/grub/parser.h (grub_parser_class): Removed.
214 (grub_parser_register): Likewise.
215 (grub_parser_unregister): Likewise.
216 (grub_parser_get_current): Likewise.
217 (grub_parser_set_current): Likewise.
218 (grub_register_rescue_parser): Likewise.
219 (grub_rescue_parse_line): New function.
220 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
221 * include/grub/script_sh.h (grub_script_function_list): New variable
222 declaration.
223 (FOR_SCRIPT_FUNCTIONS): New macro.
224 (grub_script_function_iterate): Removed.
225 (grub_normal_parse_line): New prototype.
226 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
227 (FOR_DISABLED_TERM_INPUTS): Likewise.
228 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
229 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
230 * include/grub/video.h (grub_video_adapter): Move 'next' to first
231 element.
232 (grub_video_register): Inline.
233 (grub_video_unregister): Likewise.
234 (grub_video_adapter_list): New variable declaration.
235 (grub_video_iterate): Removed.
236 (FOR_VIDEO_ADAPTERS): New macro.
237 * kern/dl.c (grub_dl_list): Removed. All users updated.
238 (grub_dl_iterate): Removed.
239 * kern/fs.c (grub_fs_list): Make global.
240 (grub_fs_register): Removed.
241 (grub_fs_unregister): Likewise.
242 (grub_fs_iterate): Likewise.
243 * kern/handler.c: Removed.
244 * kern/list.c (grub_list_pop): Removed.
245 (grub_list_iterate): Likewise.
246 (grub_list_insert): Likewise.
247 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
248 (grub_prio_list_insert): Don't use grub_list_insert.
249 * kern/main.c (grub_register_rescue_parser): Don't call
250 grub_register_rescue_parser.
251 * kern/parser.c (grub_parser_class): Removed.
252 (grub_parser_execute): Use grub_rescue_parse_line.
253 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
254 (grub_rescue_parser): Removed.
255 (grub_register_rescue_parser): Likewise.
256 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
257 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
258 (grub_auth_check_authentication): Likewise.
259 * normal/completion.c (iterate_command): Removed.
260 (grub_normal_do_completion): Use FOR_COMMANDS.
261 * normal/handler.c: Removed.
262 * normal/main.c (read_config_file): Remove parser changing.
263 (grub_normal_execute): Don't call read_handler_list.
264 (grub_normal_read_line_real): Statically allocate prompt.
265 (grub_cmdline_run): Use grub_normal_parse_line.
266 (GRUB_MOD_FINI): Don't call free_handler_list.
267 * normal/menu_entry.c (run): Likewise.
268 * script/function.c (grub_script_function_list): Make global.
269 (grub_script_function_iterate): Removed.
270 * script/main.c (grub_normal_parse_line): Make global.
271 (grub_sh_parser): Removed.
272 (GRUB_MOD_INIT): Likewise.
273 (GRUB_MOD_FINI): Likewise.
274 * tests/lib/functional_test.c (grub_functional_test): Use
275 FOR_LIST_ELEMENTS.
276 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
277 (grub_test_run): Use FOR_LIST_ELEMENTS.
278 * tests/lib/unit_test.c (main): Likewise.
279 * util/deviceiter.c (grub_util_iterate_devices): Don't use
280 grub_list_pop.
281 * util/grub-fstest.c (grub_term_input_class): Removed.
282 (grub_term_output_class): Likewise.
283 * util/grub-probe.c: Likewise.
284 * util/i386/pc/grub-setup.c: Likewise.
285 * util/sparc64/ieee1275/grub-setup.c: Likewise.
286 * util/grub-script-check.c (main): Don't call grub_init_all and
287 grub_fini_all.
288 * video/video.c (grub_video_adapter_list): Make global.
289 (grub_video_register): Removed.
290 (grub_video_unregister): Likewise.
291 (grub_video_iterate): Likewise.
292
293 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
296 reported by Henrique Ferreiro.
297
298 2010-06-09 Robert Millan <rmh@gnu.org>
299
300 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
301 ones, when both are available.
302
303 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
304
305 Make --version uniform and avoid hard-coded program name.
306
307 * util/grub-mkimage.c (main): Use `program_name' instead of
308 hard-coded string.
309 * util/i386/pc/grub-setup.c (main): Likewise.
310 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
311 * util/grub-install.in: Save the basename of $0 in $self, and use the
312 latter in informational messages. Use the same format for --version
313 as the binary programs.
314 * util/grub-mkconfig.in: Likewise.
315 * util/grub-mkrescue.in: Likewise.
316 * util/grub-reboot.in: Likewise.
317 * util/grub-set-default.in: Likewise.
318 * util/i386/efi/grub-install.in: Likewise.
319 * util/ieee1275/grub-install.in: Likewise.
320 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
321
322 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
323
324 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
325 embedding area. Use <= instead of == when checking for non-emptiness.
326
327 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
328
329 * configure.ac: Add `.' to the directories searched for unifont.
330
331 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
332
333 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
334 grub_script.yy.h.
335
336 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
337
338 * docs/grub.texi (History): Expand to cover GRUB 2.
339 (Serial terminal): Refer to `terminal_input' and `terminal_output'
340 commands, not `terminal'.
341 (serial): Likewise.
342 (terminal_input): New section.
343 (terminal_output): New section.
344 (uppermem): New section (stub).
345 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
346
347 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
348
349 * docs/grub.texi (Security): Menu entries are unrestricted by
350 default, not restricted to superusers as I had previously thought.
351 Reword to account for this.
352
353 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
354
355 * kern/emu/misc.c (device_mapper_null_log): New function.
356 (grub_device_mapper_supported): New function.
357 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
358 prototype.
359 * kern/emu/hostdisk.c (find_partition_start): Check whether
360 device-mapper is supported before trying to use it.
361 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
362
363 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
364
365 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
366 (File name syntax): Likewise.
367 (help): --all is no longer supported in GRUB 2. Be more precise
368 about pattern matching.
369
370 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
371
372 * normal/completion.c (grub_normal_do_completion): When completing
373 arguments to "set" and the current word contains an equals sign,
374 skip to after the equals sign before starting completion.
375
376 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
377
378 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
379
380 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
381
382 * docs/grub.texi (Network): New section.
383 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
384 `(nd)' as in GRUB Legacy.
385 (pxe_unload): New section.
386
387 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
388
389 * docs/grub.texi (Troubleshooting): `echo' is not usually available
390 in the rescue shell, so recommend using `set' instead. Thanks,
391 Jordan Uggla.
392
393 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
394
395 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
396 (password): New section.
397 (password_pbkdf2): New section.
398 (search): New section.
399 (Security): New section.
400 (Troubleshooting): New section, currently very incomplete.
401 (Invoking grub-mkpasswd-pbkdf2): New section.
402 (Internals): New section, currently very incomplete.
403
404 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
405
406 * util/grub.d/00_header.in: Add some more quoting (of
407 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
408 work again.
409 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
410
411 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
412
413 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
414 to `count', fixing variable shadowing that broke the -c option.
415
416 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
417
418 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
419 in case they contain spaces.
420
421 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
422
423 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
424 "part_" to partmap module names, in line with grub-install.
425 Reported by: Jindřich Makovička (Debian bug #584426).
426
427 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
428
429 * util/grub-mkimage.c: Make target-related error messages slightly
430 more helpful; -O talks about "format". Explicitly point to the use
431 of -O if no target is specified.
432 Reported by: Didier Raboud (Debian bug #584415).
433
434 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
435
436 * INSTALL: Document several build requirements for optional features
437 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
438
439 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
440
441 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
442 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
443 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
444
445 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
446
447 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
448 Thanks to Jordan Uggla for spotting this.
449
450 2010-06-02 Aleš Nesrsta <starous@volny.cz>
451
452 Finally make USB usable.
453
454 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
455 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
456 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
457 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
458 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
459 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
460 (GRUB_OHCI_FSMPS): Likewise.
461 (GRUB_OHCI_PERIODIC_START): Likewise.
462 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
463 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
464 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
465 (GRUB_OHCI_SET_PORT_RESET): Likewise.
466 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
467 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
468 (grub_ohci_transaction): Likewise.
469 (grub_ohci_transfer): Improve condition detection algorithms.
470 Handle toggle property. Program the transactions correctly.
471 Improve error handling. Various important fixups.
472 (grub_ohci_portstatus): Put register writes in right order.
473 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
474 (grub_uhci_transfer): Don't show "failed" message on success.
475 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
476 array.
477 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
478 determine its size.
479 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
480 before initialization is completed. Use IN direction for empty
481 transfers. Use last_trans and compute toggle.
482 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
483 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
484 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
485 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
486 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
487 (grub_usb_device): Increase toggle to 256.
488 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
489 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
490 GRUB_USBMS_SUBCLASS_SFF8070.
491 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
492 (grub_scsi_inquiry): New member page and alloc_length.
493 (grub_scsi_request_sense): New structure.
494 (grub_scsi_request_sense_data): Likewise.
495 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
496 control.
497 * disk/scsi.c (grub_scsi_request_sense): New function.
498 (grub_scsi_test_unit_ready): Likewise.
499 (grub_scsi_inquiry): Fill new fields.
500 (grub_scsi_read_capacity): Likewise.
501 (grub_scsi_read10): Add request sense at the end.
502 (grub_scsi_read12): Likewise.
503 (grub_scsi_write10): Likewise.
504 (grub_scsi_write12): Likewise.
505 (grub_scsi_open): Add Test Unit Ready.
506 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
507 Support additional subclasses. Con't clear halt yet. Activate the
508 proper config. Calculate LUNs correctly.
509 (grub_usbms_transfer): Various important fixups.
510
511 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
514 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
515 (grub_ohci_fini_hw): New function.
516 (grub_ohci_restore_hw): Likewise.
517 (GRUB_MOD_INIT(ohci)): Register preboot hook.
518 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
519 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
520
521 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
522
523 Dedicated DMA allocations.
524
525 * bus/pci.c (grub_memalign_dma32): New function
526 (grub_dma_free): Likewise.
527 (grub_dma_get_virt): Likewise.
528 (grub_dma_get_phys): Likewise.
529 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
530 (grub_ohci_pci_iter): Use dma32_alloc.
531 (grub_ohci_transfer): Likewise.
532 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
533 (grub_usb_bulk_readwrite): Likewise.
534 * include/grub/pci.h: Add declarations.
535
536 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
537
538 CS5536 support.
539
540 * bus/cs5536.c: New file.
541 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
542 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
543 (cs5536_mod_SOURCES): New variable.
544 (cs5536_mod_CFLAGS): Likewise.
545 (cs5536_mod_LDFLAGS): Likewise.
546 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
547 machine/pci.h.
548 (kernel_img_SOURCES): Add bus/cs5536.c.
549 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
550 usb_keyboard.mod.
551 (usb_mod_SOURCES): New variable.
552 (usb_mod_CFLAGS): New variable.
553 (usb_mod_LDFLAGS): New variable.
554 (usbtest_mod_SOURCES): New variable.
555 (usbtest_mod_CFLAGS): New variable.
556 (usbtest_mod_LDFLAGS): New variable.
557 (ohci_mod_SOURCES): New variable.
558 (ohci_mod_CFLAGS): New variable.
559 (ohci_mod_LDFLAGS): New variable.
560 (usbms_mod_SOURCES): New variable.
561 (usbms_mod_CFLAGS): New variable.
562 (usbms_mod_LDFLAGS): New variable.
563 (usb_keyboard_mod_SOURCES): New variable.
564 (usb_keyboard_mod_CFLAGS): New variable.
565 (usb_keyboard_mod_LDFLAGS): New variable.
566 * include/grub/smbus.h: New file.
567 * include/grub/cs5536.h: New file.
568
569 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
570
571 * util/grub.d/00_header.in: Add safety check to make sure that
572 ${locale_dir} exists before trying to probe it.
573
574 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
575
576 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
577 per the GNU Coding Standards; this is now too obscure to be worth
578 documenting.
579 (QNX): Likewise.
580 (chainloader): Remove cross-reference to `SCO UnixWare'.
581
582 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
583
584 * docs/grub.texi (Chain-loading): New section.
585 (DOS/Windows): New section, borrowed from GRUB Legacy with details
586 adjusted for GRUB 2.
587 (SCO UnixWare): Likewise.
588 (QNX): Likewise.
589 (chainloader): Add reference to `Block list syntax'.
590 (drivemap): New section.
591 (parttool): New section.
592
593 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
594
595 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
596 the grub shell'.
597 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
598 (Installing GRUB using grub-install): Remove reference to the grub
599 shell; mention `grub-mkimage' and `grub-setup' instead.
600 (Invoking grub-install): Likewise.
601 (Interface): Add reference to `Menu entry editor'.
602 (serial): Remove `--device' option.
603
604 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
605
606 * docs/grub.texi (Configuration): New section, documenting
607 configuration file generation using grub-mkconfig. I've left a slot
608 for documenting the full shell scripting format but have not yet
609 started on writing that up.
610 (Invoking grub-mkconfig): New section.
611
612 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
613
614 * docs/grub.texi (direntry): Remove grub-terminfo reference.
615 (GNU GRUB manual): Likewise.
616 (General commands): Update description of `terminfo' for GRUB 2.
617
618 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
619
620 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
621 (GRUB_MOD_INIT): Fix capitalisation.
622 * docs/grub.texi (Command-line and menu entry commands): Document
623 gettext and gptsync commands.
624
625 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
626
627 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
628 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
629
630 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
631
632 Add btrfs probing support, currently only in the single-device case.
633
634 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
635 function.
636 (grub_guess_root_device): Call find_root_device_from_mountinfo
637 before looking in /dev.
638
639 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
642 GRUB_DISK_SIZE_UNKNOWN.
643 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
644
645 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
646
647 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
648 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
649 corrupted or not synced properly.
650
651 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
652
653 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
654 Reported by: Seth Goldberg.
655
656 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
659 addition of dest.
660 Reported by: Seth Goldberg.
661
662 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
665 Reported by: Seth Goldberg.
666
667 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
668
669 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
670 64-bit address as signed on MIPS.
671
672 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
673
674 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
675 to the empty string.
676
677 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
678
679 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
680
681 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
682 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
683 * kern/misc.c (__enable_execute_stack): Disable on
684 GRUB_MACHINE_EMU.
685
686 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
687
688 Make grub-probe work with symbolic links under /dev/mapper as well
689 as with real block devices. The Linux world seems to be (at best)
690 in transition here, and GRUB shouldn't get caught in the middle.
691
692 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
693 /dev/mapper.
694
695 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
696
697 * util/grub-script-check.c (main): Ensure defined behaviour on empty
698 input files (in which case exit zero).
699
700 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
701
702 * kern/emu/misc.c (canonicalize_file_name): realpath can still
703 return NULL for various reasons even if it has a maximum-length
704 buffer: for example, there might be a symlink loop, or the path
705 might exceed PATH_MAX. If this happens, return NULL.
706
707 2010-05-27 Robert Millan <rmh@gnu.org>
708
709 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
710 partmap module to handle cross-partmap setups.
711 Reported by Orestes Mas. Gràcies!
712
713 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
714
715 * util/grub-mkrescue.in: Initialise override_dir rather than
716 assuming that it's unset or empty in the environment.
717
718 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
719
720 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
721 variable index into p_index to suppress a warning with -Wshadow.
722
723 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
724
725 * INSTALL: Added flex >= 2.5.35 requirement.
726
727 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
730
731 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
732
733 cmostest support.
734
735 * commands/i386/cmostest.c: New file.
736 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
737 (cmostest_mod_SOURCES): New variable.
738 (cmostest_mod_CFLAGS): Likewise.
739 (cmostest_mod_LDFLAGS): Likewise.
740 * conf/i386-pc.rmk: Likewise.
741 * docs/grub.texi (Vendor power-on keys): New section.
742 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
743 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
744 and GRUB_BUTTON_CMOS_ADDRESS.
745 * util/grub.d/00_header.in: Handle powering-on by separate button.
746
747 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
748
749 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
750 Removed drawing_scrollbar argument. All users updated
751 Fixes #29792.
752 Reported by Jo Shields
753
754 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
755
756 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
757 buffer since gfxterm handles double repaint.
758
759 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
762 * term/gfxterm.c (real_scroll): Likewise.
763
764 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
765
766 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
767 before calling BIOS.
768
769 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * include/grub/i18n.h: Always enable grub_gettext.
772
773 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
774
775 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
776 partition naming style.
777
778 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
779
780 * util/grub-mkconfig.in: Fix handling of -o so that it works when
781 not the first option.
782
783 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
784
785 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
786
787 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
788
789 * util/misc.c: Move inclusion of <limits.h> to ...
790 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
791
792 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
793
794 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
795 Fix merge error in NetBSD code.
796 (find_partition_start) [__NetBSD__]: Likewise.
797
798 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
799
800 Fix grub-mkrescue usage unit testing.
801
802 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
803
804 2010-05-18 Christian Franke <franke@computer.org>
805
806 * util/grub.d/10_windows.in: Use path names instead of
807 drive letters to prevent warning from Cygwin 1.7.
808 Add drivemap command to menuentry if needed.
809
810 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
811
812 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
813 gnumach and gnumach.gz.
814
815 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
816
817 * include/grub/i18n.h (gettext): Inline instead of using #define.
818 (grub_gettext): Likewise.
819 (_): Likewise.
820
821 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
824 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
825 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
826 (main): Add a slash after pkglibdirroot.
827
828 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
829
830 * util/grub-install.in: Add missing "in" keyword.
831
832 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
833
834 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
835 Reported by: Seth Goldberg.
836
837 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
838
839 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
840
841 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
842
843 * configure.ac: Check for Linux device-mapper support.
844
845 * util/hostdisk.c (device_is_mapped): New function.
846 (find_partition_start): New function, partly broken out from
847 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
848 device-mapper support added.
849 (linux_find_partition): Use find_partition_start.
850 (convert_system_partition_to_system_disk): Add `st' argument.
851 Support Linux /dev/mapper/* devices if device-mapper support is
852 available; only DM-RAID devices are understood at present.
853 (find_system_device): Add `st' argument. Pass it to
854 convert_system_partition_to_system_disk.
855 (grub_util_biosdisk_get_grub_dev): Pass stat result to
856 find_system_device and convert_system_partition_to_system_disk. Use
857 find_partition_start.
858
859 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
860 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
861 * util/deviceiter.c [__linux__]: Define MINOR.
862 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
863 * util/mkdevicemap.c (grub_putchar): New function.
864 (grub_getkey): New function.
865 (grub_refresh): New function.
866 (main): Set debug=all if -v -v is used.
867
868 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
869
870 Fix build with non-GNU libcs.
871
872 * util/misc.c (canonicalize_file_name): Move to ...
873 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
874 grub_make_system_path_relative_to_its_root.
875
876 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
877
878 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
879 we handle finding grub-mkimage. Default to finding grub-mkimage in
880 ${bindir} with program_transform_name applied, and provide a
881 --grub-mkimage option to override this.
882
883 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
884
885 Remove grub-mkisofs.
886
887 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
888 (grub_mkisofs_SOURCES): Removed.
889 (grub_mkisofs_CFLAGS): Removed.
890 * util/mkisofs/defaults.h: Removed.
891 * util/mkisofs/eltorito.c: Likewise.
892 * util/mkisofs/exclude.h: Likewise.
893 * util/mkisofs/hash.c: Likewise.
894 * util/mkisofs/include/: Likewise.
895 * util/mkisofs/include/fctldefs.h: Likewise.
896 * util/mkisofs/include/mconfig.h: Likewise.
897 * util/mkisofs/include/prototyp.h: Likewise.
898 * util/mkisofs/include/statdefs.h: Likewise.
899 * util/mkisofs/iso9660.h: Likewise.
900 * util/mkisofs/joliet.c: Likewise.
901 * util/mkisofs/match.c: Likewise.
902 * util/mkisofs/match.h: Likewise.
903 * util/mkisofs/mkisofs.c: Likewise.
904 * util/mkisofs/mkisofs.h: Likewise.
905 * util/mkisofs/msdos_partition.h: Likewise.
906 * util/mkisofs/multi.c: Likewise.
907 * util/mkisofs/name.c: Likewise.
908 * util/mkisofs/rock.c: Likewise.
909 * util/mkisofs/tree.c: Likewise.
910 * util/mkisofs/write.c: Likewise.
911
912 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
913
914 Unify grub-mkimage accross platforms.
915
916 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
917 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
918 (grub_mkelfimage_SOURCES): Removed.
919 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
920 (util/grub-mkimage.c_DEPENDENCIES): .. this.
921 (bin_UTILITIES): Add grub-mkimage.
922 (grub_mkimage_SOURCES): New variable.
923 (kernel_img_HEADERS): Remove machine/kernel.h.
924 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
925 (pkglib_PROGRAMS): Add kernel.img.
926 (kernel_img_HEADERS): Add machine/kernel.h.
927 (kernel_img_FORMAT): Removed.
928 (bin_UTILITIES): Remove grub-mkimage.
929 (grub_mkimage_SOURCES): Removed.
930 (grub_mkimage_CFLAGS): Likewise.
931 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
932 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
933 (pkglib_PROGRAMS): Add kernel.img.
934 (bin_UTILITIES): Remove grub-mkimage.
935 (grub_mkimage_SOURCES): Removed.
936 (grub_mkimage_CFLAGS): Likewise.
937 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
938 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
939 (pkglib_PROGRAMS): Add kernel.img.
940 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
941 (pkglib_PROGRAMS): Add kernel.img.
942 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
943 (grub_mkimage_SOURCES): Removed.
944 (grub_mkimage_CFLAGS): Likewise.
945 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
946 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
947 (pkglib_PROGRAMS): Add kernel.img.
948 (bin_UTILITIES): Remove grub-mkimage.
949 (grub_mkimage_SOURCES): Removed.
950 (grub_mkimage_CFLAGS): Likewise.
951 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
952 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
953 (grub_mkimage_SOURCES): Removed.
954 (grub_mkimage_CFLAGS): Likewise.
955 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
956 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
957 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
958 (grub_pe32_optional_header): ... this.
959 (grub_pe64_optional_header): ... and this. All users updated.
960 (GRUB_PE32_PE32_MAGIC): Split into ..
961 (GRUB_PE32_PE32_MAGIC): .. this.
962 (GRUB_PE32_PE64_MAGIC): .. and this.
963 (GRUB_PE32_SIGNATURE_SIZE): New definition.
964 * include/grub/elf.h (PT_GNU_STACK): New definition.
965 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
966 * include/grub/i386/efi/kernel.h: Likewise.
967 * include/grub/i386/kernel.h: Likewise.
968 * include/grub/i386/pc/kernel.h: Likewise.
969 * include/grub/i386/qemu/boot.h: Likewise.
970 * include/grub/mips/kernel.h: Likewise.
971 * include/grub/mips/qemu-mips/kernel.h: Likewise.
972 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
973 * include/grub/powerpc/kernel.h: Likewise.
974 * include/grub/sparc64/ieee1275/boot.h: Likewise.
975 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
976 * include/grub/sparc64/kernel.h: Likewise.
977 * include/grub/x86_64/efi/kernel.h: Likewise.
978 * include/grub/x86_64/kernel.h: Likewise.
979 * include/grub/offsets.h: New file.
980 * include/grub/kernel.h (grub_module_info): Split into ...
981 (grub_module_info32): ... this.
982 (grub_module_info64): ... and this.
983 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
984 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
985 (grub_boot_blocklist): Moved from here ...
986 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
987 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
988 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
989 * include/grub/types.h (grub_target_to_host16): Removed.
990 (grub_target_to_host32): Likewise.
991 (grub_target_to_host64): Likewise.
992 (grub_host_to_target16): Likewise.
993 (grub_host_to_target32): Likewise.
994 (grub_host_to_target64): Likewise.
995 (grub_host_to_target_addr): Likewise.
996
997 Support grub-mkrescue for efi, coreboot and qemu.
998
999 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
1000 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
1001 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
1002 * util/grub-mkrawimage.c: Moved from here ...
1003 * util/grub-mkimage.c: ... here. All users updated.
1004 (ALIGN_ADDR): Use image_target.
1005 (TARGET_NO_FIELD): New const.
1006 (image_target_desc): New type.
1007 (image_targets): New array.
1008 (grub_target_to_host64): Use image_target.
1009 (grub_target_to_host32): Likewise.
1010 (grub_target_to_host16): Likewise.
1011 (grub_host_to_target64): Likewise.
1012 (grub_host_to_target32): Likewise.
1013 (grub_host_to_target16): Likewise.
1014 (grub_host_to_target_addr): Likewise.
1015 (generate_image): Handle multiimage.
1016 (main): Require -O parameter. All users updated.
1017 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
1018 util/efi/grub-mkimage.c
1019 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
1020 New option --rom-directory.
1021 Use xorriso.
1022 * util/i386/efi/grub-mkimage.c: Removed.
1023 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
1024 (grub_target_to_host32): Likewise.
1025 (grub_target_to_host64): Likewise.
1026 (grub_host_to_target16): Likewise.
1027 (grub_host_to_target32): Likewise.
1028 (grub_host_to_target64): Likewise.
1029 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
1030 (grub_target_to_host32): Likewise.
1031 (grub_target_to_host64): Likewise.
1032 (grub_host_to_target16): Likewise.
1033 (grub_host_to_target32): Likewise.
1034 (grub_host_to_target64): Likewise.
1035
1036 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
1037
1038 Source tree is reorganized for emu build.
1039
1040 * include/grub/util/console.h: Move from here...
1041 * include/grub/emu/console.h: ...to here.
1042 * include/grub/util/getroot.h: Move from here...
1043 * include/grub/emu/getroot.h: ...to here.
1044 * include/grub/util/hostdisk.h: Move from here...
1045 * include/grub/emu/hostdisk.h: ...to here.
1046 * util/console.c: Move from here...
1047 * kern/emu/console.c: ...to here.
1048 * util/getroot.c: Move from here...
1049 * kern/emu/getroot.c: ...to here.
1050 * util/grub-emu.c: Move from here...
1051 * kern/emu/main.c: ...to here.
1052 * util/hostdisk.c: Move from here...
1053 * kern/emu/hostdisk.c: ...to here.
1054 * util/hostfs.c: Move from here...
1055 * kern/emu/hostfs.c: ...to here.
1056 * util/mm.c: Move from here...
1057 * kern/emu/mm.c: ...to here.
1058 * util/pci.c: Move from here...
1059 * bus/emu/pci.c: ...to here.
1060 * util/sdl.c: Move from here...
1061 * video/emu/sdl.c: ...to here.
1062 * util/time.c: Move from here...
1063 * kern/emu/time.c: ...to here.
1064 * util/usb.c: Move from here...
1065 * bus/usb/emu/usb.c: ...to here.
1066
1067 * include/grub/emu/misc.h: New header for grub-emu functions.
1068 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
1069
1070 * conf/any-emu.rmk: Rule updates for above renames.
1071 * conf/common.rmk: Likewise.
1072 * conf/i386-pc.rmk: Likewise.
1073 * conf/i386-qemu.rmk: Likewise.
1074 * conf/mips.rmk: Likewise.
1075 * conf/sparc64-ieee1275.rmk: Likewise.
1076 * conf/x86-efi.rmk: Likewise.
1077
1078 * disk/lvm.h: #include updates for above renames.
1079 * util/grub-mkrelpath.c: Likewise.
1080 * util/grub-probe.c: Likewise.
1081 * util/i386/pc/grub-setup.c: Likewise.
1082 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1083 * kern/emu/console.c: Likewise.
1084 * kern/emu/getroot.c: Likewise.
1085 * kern/emu/hostdisk.c: Likewise.
1086 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
1087
1088 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
1089 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
1090 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
1091 * util/misc.c: Remove grub-emu functions.
1092
1093 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 Fix gfxmenu crash.
1096 Reported by: Thorsten Grützmacher.
1097
1098 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
1099 timeout hook.
1100 (circprog_set_property): Register and unregister timeout hook.
1101 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
1102 (label_destroy): Free template. and unregister hook.
1103 (label_set_state): New function.
1104 (label_set_property): Handle templates and hooks.
1105 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
1106 timeout hook.
1107 (progress_bar_set_property): Register and unregister timeout hook.
1108 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
1109 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
1110 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
1111 (update_timeout_visit): Removed.
1112 (update_timeouts): New function.
1113 (redraw_timeouts): Likewise.
1114 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
1115 (grub_gfxmenu_clear_timeout): Likewise.
1116 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
1117 (grub_gfxmenu_timeout_notify): Likewise.
1118 (grub_gfxmenu_timeout_notifications): New external variable.
1119 (grub_gfxmenu_timeout_register): New function.
1120 (grub_gfxmenu_timeout_unregister): Likewise.
1121
1122 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 Transform (broken) vga terminal into (working) vga video driver.
1125
1126 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
1127 video/i386/pc/vga.c.
1128 * include/grub/video.h (grub_video_driver_id):
1129 Add GRUB_VIDEO_DRIVER_VGA.
1130 * term/i386/pc/vga.c: Renamed to ...
1131 * video/i386/pc/vga.c: ...this
1132 (DEBUG_VGA): Removed.
1133 (CHAR_WIDTH): Likewise.
1134 (CHAR_HEIGHT): Likewise.
1135 (TEXT_WIDTH): Likewise.
1136 (TEXT_HEIGHT): Likewise.
1137 (DEFAULT_FG_COLOR): Likewise.
1138 (DEFAULT_BG_COLOR): Likewise.
1139 (colored_char): Likewise.
1140 (xpos): Likewise.
1141 (ypos): Likewise.
1142 (cursor_state): Likewise.
1143 (fg_color): Likewise.
1144 (bg_color): Likewise.
1145 (text_buf): Likewise.
1146 (page): Likewise.
1147 (font): Likewise.
1148 (framebuffer): New variable.
1149 (set_read_map): Disabled.
1150 (setup): New variable.
1151 (is_target): Likewise.
1152 (grub_vga_mod_init): Likewise.
1153 (grub_vga_mod_fini): Likewise.
1154 (check_vga_mem): Likewise.
1155 (write_char): Likewise.
1156 (write_cursor): Likewise.
1157 (scroll_up): Likewise.
1158 (grub_vga_putchar): Likewise.
1159 (grub_vga_getcharwidth): Likewise.
1160 (grub_vga_getwh): Likewise.
1161 (grub_vga_getxy): Likewise.
1162 (grub_vga_gotoxy): Likewise.
1163 (grub_vga_cls): Likewise.
1164 (grub_vga_setcolorstate): Likewise.
1165 (grub_vga_setcursor): Likewise.
1166 (grub_video_vga_init): New function.
1167 (grub_video_vga_setup): Likewise.
1168 (grub_video_vga_fini): Likewise.
1169 (update_target): Likewise.
1170 (grub_video_vga_blit_bitmap): Likewise.
1171 (grub_video_vga_blit_render_target): Likewise.
1172 (grub_video_vga_set_active_render_target): Likewise.
1173 (grub_video_vga_get_active_render_target): Likewise.
1174 (grub_video_vga_swap_buffers): Likewise.
1175 (grub_video_vga_set_palette): Likewise.
1176 (grub_video_vga_get_info_and_fini): Likewise.
1177 (grub_vga_term): Removed.
1178 (grub_video_vga_adapter): New variable.
1179 (GRUB_MOD_INIT): Register a video driver instead of terminal.
1180 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
1181
1182 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 * video/readers/jpeg.c: Indented.
1185
1186 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 Various jpeg cleanups.
1189
1190 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
1191 (grub_jpeg_decode_quan_table): Use sizeof.
1192 (grub_jpeg_decode_du): Use ARRAY_SIZE.
1193
1194 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
1195
1196 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
1197 tables. Ignore non-last ac bit.
1198 (grub_jpeg_decode_quan_table): Likewise.
1199
1200 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1201
1202 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
1203 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
1204 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1205 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
1206 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
1207 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
1208
1209 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
1212 error.
1213
1214 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
1217
1218 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
1221 condition.
1222
1223 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1224
1225 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
1226 part.
1227
1228 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
1231 pointers.
1232
1233 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
1236
1237 2010-05-01 Christian Franke <franke@computer.org>
1238
1239 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
1240 Remove broken Cygwin path conversion.
1241 * util/misc.c: [__CYGWIN__] Add include and define.
1242 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
1243 for Cygwin 1.7.
1244 (make_system_path_relative_to_its_root): Simplify loop, replace early
1245 return by break.
1246 [__CYGWIN__] Add conversion to win32 path.
1247 Include "/" case in trailing slash removal.
1248
1249 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1250
1251 * kern/main.c (grub_load_config): Fix copy-pasted comment.
1252 Reported by: Seth Goldberg
1253
1254 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * commands/help.c (grub_cmd_help): Fix a typo.
1257 Reported by: Seth Goldberg
1258
1259 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
1262 name and add N_.
1263 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
1264 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
1265 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
1266 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
1267 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
1268 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
1269 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
1270 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
1271 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
1272 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
1273 * normal/context.c (GRUB_MOD_INIT): Likewise.
1274 * normal/main.c (GRUB_MOD_INIT): Likewise.
1275 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
1276 * term/serial.c (GRUB_MOD_INIT): Likewise.
1277 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
1278
1279 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1280
1281 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
1282 extra == 0.
1283
1284 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1285
1286 * commands/iorw.c: New file.
1287 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
1288 (iorw_mod_SOURCES): New variable.
1289 (iorw_mod_CFLAGS): Likewise.
1290 (iorw_mod_LDFLAGS): Likewise.
1291
1292 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 Hotkey support
1295
1296 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
1297 * normal/main.c (hotkey_aliases): New variable.
1298 (grub_normal_add_menu_entry): Parse "--hotkey".
1299 * normal/menu_text.c (run_menu): Handle hotkeys.
1300
1301 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * kern/i386/coreboot/init.c (grub_machine_init): Call
1304 grub_machine_mmap_init on qemu.
1305
1306 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * boot/i386/qemu/boot.S: Add a missing .code16.
1309
1310 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 Use LBIO on coreboot.
1313
1314 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
1315 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
1316 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
1317 New declaration.
1318 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
1319 grub_machine_mmap_init on coreboot.
1320 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
1321 GRUB_LINUXBIOS_MEMBER_LINK.
1322 (grub_machine_mmap_iterate): Fix declaration.
1323 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
1324
1325 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 Split coreboot and multiboot ports.
1328
1329 * conf/i386-multiboot.rmk: New file.
1330 * configure.ac: Add multiboot port.
1331 * include/grub/i386/multiboot/boot.h: New file.
1332 * include/grub/i386/multiboot/console.h: Likewise.
1333 * include/grub/i386/multiboot/init.h: Likewise.
1334 * include/grub/i386/multiboot/kernel.h: Likewise.
1335 * include/grub/i386/multiboot/loader.h: Likewise.
1336 * include/grub/i386/multiboot/memory.h: Likewise.
1337 * include/grub/i386/multiboot/serial.h: Likewise.
1338 * include/grub/i386/multiboot/time.h: Likewise.
1339 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
1340 * loader/multiboot.c: Likewise.
1341 * loader/multiboot_mbi2.c: Likewise.
1342 * util/grub-mkrescue.in: Generate multiboot rescue.
1343
1344 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 * kern/parser.c (grub_parser_execute): Cope with read-only config.
1347
1348 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 Merge handling of input and output terminals. Fix a hang.
1351
1352 * commands/terminal.c (abstract_terminal): New struct.
1353 (handle_command): New function. Based on grub_cmd_terminal_input.
1354 (grub_cmd_terminal_input): Use handle_command.
1355 (grub_cmd_terminal_output): Use handle_command.
1356
1357 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
1358
1359 Fix comment handling.
1360
1361 * tests/grub_script_comments.in: New testcase.
1362 * conf/tests.rmk: Rules for new testcase.
1363 * script/yylex.l: Updated flex rules.
1364
1365 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
1366
1367 * docs/grub.texi (play): Document that zero pitches produce rests.
1368 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
1369 if argc is 1.
1370
1371 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1372
1373 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
1374 autogen issues.
1375
1376 2010-04-26 Christian Franke <franke@computer.org>
1377
1378 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
1379 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
1380 (grub_get_prefix): Remove function.
1381 * util/grub-emu.c (main): Replace grub_get_prefix () call by
1382 make_system_path_relative_to_its_root ().
1383 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
1384
1385 2010-04-24 Christian Franke <franke@computer.org>
1386
1387 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
1388 (kernel_img_LDFLAGS): Remove -static-libgcc.
1389
1390 2010-04-24 Christian Franke <franke@computer.org>
1391
1392 * configure.ac: Do not CHECK_BSS_START_SYMBOL
1393 and CHECK_END_SYMBOL if grub-emu is built.
1394 Unset TARGET_OBJ2ELF if grub-emu is built
1395 without module support.
1396
1397 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
1398
1399 Nilfs2 support.
1400
1401 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
1402 (grub_fstest_SOURCES): Likewise.
1403 (pkglib_MODULES): Add nilfs2.mod.
1404 (nilfs2_mod_SOURCES): New variable.
1405 (nilfs2_mod_CFLAGS): Likewise.
1406 (nilfs2_mod_LDFLAGS): Likewise.
1407 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
1408 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
1409 * fs/nilfs2.c: New file.
1410
1411 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
1414 is not supported.
1415
1416 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
1417
1418 Add grub-mkconfig support for NetBSD.
1419
1420 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
1421 * util/grub-mkconfig.in: export new NetBSD specific variables.
1422 * po/POTFILES-shell: added 10_netbsd.in.
1423 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
1424
1425 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
1426
1427 Fix emu build with grub-emu-pci and grub-emu-modules.
1428
1429 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
1430 functions.
1431 * include/grub/libpciaccess.h: New file.
1432 * conf/any-emu.rmk: Update kernel headers for emu build.
1433
1434 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
1437
1438 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
1441
1442 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1443
1444 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
1445 Retrieve chosen/bootpath if bootpath isn't hardcoded.
1446 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
1447 util/ieee1275/ofpath.c.
1448 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
1449 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
1450 * include/grub/sparc64/ieee1275/boot.h
1451 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
1452 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
1453 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
1454 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
1455 const char *.
1456 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
1457 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
1458 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
1459 install.
1460
1461 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
1462
1463 * util/grub-mkconfig.in: Corrected two == equality tests.
1464 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
1465 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
1466 expect a number appended to it.
1467 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
1468 expects a number appended to it.
1469
1470 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
1473
1474 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * util/hostdisk.c (make_device_name): Change to new partition naming.
1477
1478 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1479
1480 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
1481
1482 2010-04-17 Christian Franke <franke@computer.org>
1483
1484 * Makefile.in: Add missing localedir setting.
1485
1486 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
1487
1488 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
1489 mistake in r2156. Noticed by Anthony Fok.
1490
1491 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
1492 @localedir@.
1493 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
1494
1495 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
1496
1497 Fix a spurious, uninitialized variable warning.
1498
1499 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
1500 Initialize variable, shdr.
1501 (grub_freebsd_load_elfmodule): Likewise.
1502 (grub_freebsd_load_elf_meta): Likewise.
1503
1504 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
1505
1506 Fix for escaped dollar in double quoted strings.
1507
1508 * script/yylex.l: Updated flex rules.
1509 * conf/tests.rmk: Rule for new testcase.
1510 * tests/grub_script_dollar.in: New testcase.
1511
1512 2010-04-13 Carles Pina i Estany <carles@pina.cat>
1513 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
1514
1515 Enclose all translated strings in grub.cfg in single quotes, and
1516 escape them appropriately (Ubuntu bug #552921).
1517
1518 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
1519 * util/grub.d/10_hurd.in: Use it.
1520 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
1521 * util/grub.d/10_linux.in (linux_entry): Likewise.
1522
1523 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1524
1525 Fix cygwin compilation.
1526
1527 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
1528 * include/grub/misc.h (__register_frame_info)
1529 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
1530 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
1531 * kern/misc.c (__register_frame_info)
1532 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
1533 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
1534
1535 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1536
1537 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
1538
1539 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 Unify libgcc processing.
1542
1543 * Makefile.in (kernel_img_LDFLAGS): New variable.
1544 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
1545 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
1546 overwriting.
1547 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
1548 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
1549 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
1550 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
1551 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
1552 overwriting. Remove -lgcc and -static-libgcc
1553 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
1554 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
1555 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
1556 (kernel_img_LDFLAGS): Append instead of overwriting.
1557 Remove -lgcc and -static-libgcc
1558 * conf/sparc64-ieee1275.rmk: Likewise.
1559 * include/grub/powerpc/libgcc.h: Move to ...
1560 * include/grub/libgcc.h: .. this.
1561 * include/grub/libgcc.h: Don't export most of the function on x86.
1562 (__bswapsi2): New export.
1563 (__bswapdi2): Likewise.
1564 * include/grub/mips/libgcc.h: Removed.
1565 * include/grub/sparc64/libgcc.h: Likewise.
1566
1567 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
1570 disk_info_msg (conflicts with gettexting into languages with cases).
1571
1572 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
1573
1574 Add grub-probe support for NetBSD.
1575
1576 * util/getroot.c (find_root_device): Convert block device to
1577 character device on NetBSD.
1578 * util/probe.c (probe): Require character device on NetBSD.
1579 * util/hostdisk.c: NetBSD specific headers.
1580 (configure_device_driver): new function to tune device driver
1581 parameters (currently only for NetBSD floppy driver).
1582 (grub_util_biosdisk_open): NetBSD specific code (get disk size
1583 via disklabel ioctl).
1584 (open_device): call configure_device_driver on NetBSD.
1585 (convert_system_partition_to_system_disk): NetBSD specific code.
1586 (device_is_wholedisk): Likewise.
1587 (grub_util_biosdisk_get_grub_dev): Likewise.
1588 (make_device_name): Fixed a typo in bsd_part_str.
1589 * configure.ac: check for opendisk() and getrawpartition() on
1590 NetBSD and set LIBUTIL.
1591 * Makefile.in: add LIBUTIL to LIBS.
1592
1593 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
1594
1595 Documentation fix.
1596
1597 * util/grub-script-check.c: Better help message.
1598
1599 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
1600
1601 Fix FreeBSD build.
1602
1603 * configure.ac: Flex version check.
1604 * conf/common.rmk: Add -Wno-error to sh.mod.
1605 * script/yylex.l: Remove all #pragma.
1606
1607 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 * include/grub/util/misc.h (canonicalise_file_name): Add missing
1610 prototype.
1611 Reported by: Seth Goldberg.
1612
1613 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
1616 Rename "module" to "module2".
1617 Reported by: Seth Goldberg.
1618
1619 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
1622 EXPORT_FUNC.
1623 Reported by: Seth Goldberg.
1624
1625 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 * lib/posix_wrap/locale.h: Add missing file.
1628 Reported by: Seth Goldberg.
1629
1630 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 grub-emu module load support.
1633
1634 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
1635 NO_DYNAMIC_MODULES switched to this.
1636 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
1637 (CFLAGS): Likewise.
1638 * conf/any-emu.rmk: Generate symlist.
1639 (kernel_img_HEADERS): Add util/datetime.h.
1640 (kernel_img_HEADERS) [sdl]: Add sdl.h.
1641 (kernel_img_HEADERS) [libusb]: Add libusb.h.
1642 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
1643 kern/$(target_cpu)/cache.S.
1644 * configure.ac (grub-emu-modules): New option.
1645 * genmk.rb: Handle multiple source lists.
1646 * include/grub/sdl.h: New file.
1647 * include/grub/libusb.h: Likewise.
1648 * util/grub-emu.c (main): Hanle (host) root.
1649 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
1650 GRUB_ERR_UNKNOWN_DEVICE.
1651 * util/misc.c: Move mm functions to ...
1652 * util/mm.c: ... here. All users updated.
1653
1654 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1655
1656 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
1657 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
1658 missing files.
1659 (maintainer-clean): Remove libgcrypt-grub.
1660
1661 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
1664
1665 2010-04-09 EFI Coder <eficoder@hotmail.com>
1666
1667 * normal/menu_text.c (print_message): Clean up the message and show
1668 the Fn information when on EFI
1669 * term/efi/console.c (grub_console_checkkey): Add F4 support.
1670
1671 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
1674 All users updated.
1675 * normal/crypto.c (read_crypto_list): Likewise.
1676 * normal/dyncmd.c (read_command_list): Likewise.
1677 * normal/term.c (read_terminal_list): Likewise.
1678 * normal/main.c (read_lists): Use explicit prefix.
1679 (read_lists_hook): Use read_lists.
1680 (grub_normal_execute): Likewise.
1681
1682 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
1685 Reported by: Thomas Schmitt.
1686 Add -no-emul-boot to grub-mkisofs parameters.
1687
1688 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * font/font.c: Indented.
1691
1692 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
1693
1694 Elif support to GRUB script (by Deepak Vankadaru).
1695
1696 * tests/grub_script_if.in: New testcase.
1697 * conf/tests.rmk: Rule for new testcase.
1698 * script/parser.y: Grammar rules for elif.
1699
1700 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
1701
1702 While and until loops support to GRUB script.
1703
1704 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
1705 (grub_script_create_cmdwhile): New function prototype.
1706 (grub_script_execute_cmdwhile): New function prototype.
1707 * script/execute.c (grub_script_execute_cmdwhile): New function.
1708 * script/parser.y (command): New commands.
1709 (whilecmd): New grammar rule.
1710 (untilcmd): New grammar rule.
1711 * script/script.c (grub_script_create_cmdwhile): New function.
1712 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
1713 function.
1714
1715 * tests/grub_script_while1.in: New testcase.
1716 * conf/tests.rmk: Rule for new testcase.
1717
1718 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
1721 as *.jpg.
1722
1723 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
1724
1725 GRUB_BACKGROUND support.
1726
1727 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
1728 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
1729
1730 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1731
1732 Load fonts and modules for gfxmenu in grub-mkconfig.
1733 Idea by: Mario Vazquez
1734
1735 * util/grub.d/00_header.in: Load pf2 and image modules.
1736
1737 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 grub-mkconfig multiple terminal support.
1740
1741 * util/grub-mkconfig.in: Handle multiple terminals correctly.
1742 * util/grub.d/00_header.in: Likewise.
1743
1744 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1745
1746 * Makefile.in: Specify files explicitly instead of using $< and $@ since
1747 we use cd $(srcdir).
1748
1749 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
1750
1751 * util/grub.d/10_linux.in: Only use the first word of
1752 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
1753 spaces in GRUB_DISTRIBUTOR.
1754 * util/grub.d/10_kfreebsd.in: Likewise.
1755 * util/grub.d/10_hurd.in: Likewise.
1756
1757 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
1758
1759 Fix unit testing framework for Qemu 0.12.
1760
1761 * tests/util/grub-shell.in: Remove -serial stdio option.
1762
1763 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 POSIX header file wrappers.
1766
1767 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
1768 equivalents.
1769 * lib/posix_wrap/ctype.h: Likewise.
1770 * lib/posix_wrap/errno.h: Likewise.
1771 * lib/posix_wrap/langinfo.h: Likewise.
1772 * lib/posix_wrap/limits.h: Likewise.
1773 * lib/posix_wrap/localcharset.h: Likewise.
1774 * lib/posix_wrap/stdint.h: Likewise.
1775 * lib/posix_wrap/stdio.h: Likewise.
1776 * lib/posix_wrap/stdlib.h: Likewise.
1777 * lib/posix_wrap/string.h: Likewise.
1778 * lib/posix_wrap/sys/types.h: Likewise.
1779 * lib/posix_wrap/unistd.h: Likewise.
1780 * lib/posix_wrap/wchar.h: Likewise.
1781 * lib/posix_wrap/wctype.h: Likewise.
1782 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
1783 (grub_script.yy.h): Likewise.
1784 * script/yylex.l: Remove POSIX emulation #defines.
1785 * Makefile.in (POSIX_CFLAGS): New variable.
1786 (GNULIB_UTIL_CFLAGS): Likewise.
1787
1788 Regexp support.
1789
1790 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
1791 (regexp_mod_SOURCES): New variable.
1792 (regexp_mod_CFLAGS): Likewise.
1793 (regexp_mod_LDFLAGS): Likewise.
1794 * commands/regexp.c: New file.
1795 * gnulib/regcomp.c: New file. Imported from gnulib.
1796 * gnulib/regex.c: Likewise.
1797 * gnulib/regex_internal.c: Likewise.
1798 * gnulib/regex_internal.h: Likewise.
1799 * gnulib/regexec.c: Likewise.
1800 * gnulib/regex.h: Likewise.
1801
1802 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1803
1804 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
1805 unsupported video mode types.
1806
1807 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
1810
1811 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
1814 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
1815
1816 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1817
1818 Remove unused grub_vga_get_font.
1819
1820 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
1821 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
1822
1823 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1824
1825 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
1826 * include/grub/misc.h: Likewise.
1827
1828 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1829
1830 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
1831 for which failure is fatal.
1832
1833 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1834
1835 * util/grub-install.in: Use mkdir -p to create grub directory.
1836 * util/i386/efi/grub-install.in: Likewise.
1837 * util/ieee1275/grub-install.in: Likewise.
1838
1839 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1840
1841 * Makefile.in (LEX): new variable.
1842
1843 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1844
1845 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
1846 `=' and added double quotes on operands of this equality test.
1847
1848 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * Makefile.in (uninstall): Remove a leftover debug echo.
1851 Reported by: Grégoire Sutre
1852
1853 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1854
1855 MIPS multiboot2 support.
1856
1857 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
1858 (multiboot2_mod_SOURCES): New variable.
1859 (multiboot2_mod_CFLAGS): Likewise.
1860 (multiboot2_mod_LDFLAGS): Likewise.
1861 (multiboot2_mod_ASFLAGS): Likewise.
1862 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
1863 definition.
1864 (MULTIBOOT_ENTRY_REGISTER): Likewise.
1865 (MULTIBOOT_MBI_REGISTER): Likewise.
1866 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
1867 (MULTIBOOT_ELF32_MACHINE): Likewise.
1868 (MULTIBOOT_ELF64_MACHINE): Likewise.
1869 * include/grub/mips/multiboot.h: New file.
1870 * include/grub/video.h (grub_video_driver_id): New type
1871 GRUB_VIDEO_DRIVER_SM712.
1872 (grub_video_get_info_and_fini): Export.
1873 (grub_video_get_palette): Likewise.
1874 (grub_video_get_driver_id): Likewise.
1875 * include/multiboot2.h: Resynced with spec.
1876 * loader/i386/multiboot.c: Moved from here ...
1877 * loader/multiboot.c: ... here. All users updated.
1878 (grub_multiboot_boot): Use platform-specific macros.
1879 * loader/i386/multiboot_elfxx.c: Moved from here ...
1880 * loader/multiboot_elfxx.c: ... here. All users updated.
1881 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
1882 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
1883 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
1884
1885 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 Import gnulib argp module.
1888
1889 * gnulib/argp-ba.c: New file.
1890 * gnulib/argp-eexst.c: Likewise.
1891 * gnulib/argp-fmtstream.c: Likewise.
1892 * gnulib/argp-fmtstream.h: Likewise.
1893 * gnulib/argp-fs-xinl.c: Likewise.
1894 * gnulib/argp-help.c: Likewise.
1895 * gnulib/argp-namefrob.h: Likewise.
1896 * gnulib/argp-parse.c: Likewise.
1897 * gnulib/argp-pin.c: Likewise.
1898 * gnulib/argp-pv.c: Likewise.
1899 * gnulib/argp-pvh.c: Likewise.
1900 * gnulib/argp-version-etc.c: Likewise.
1901 * gnulib/argp-version-etc.h: Likewise.
1902 * gnulib/argp-xinl.c: Likewise.
1903 * gnulib/argp.h: Likewise.
1904
1905 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * kern/device.c (grub_device_iterate): Clear errors after failed
1908 opening device.
1909
1910 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
1913 returned by firmware.
1914
1915 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
1918 compilation on coreboot and qemu
1919
1920 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 * include/multiboot2.h: Resync with spec.
1923
1924 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1925
1926 Multiboot2 tag support
1927
1928 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
1929 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
1930 Remove loader/multiboot_loader.c.
1931 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
1932 (grub_multiboot2_real_boot): Likewise.
1933 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
1934 (grub_get_multiboot_mmap_count): New proto.
1935 (grub_fill_multiboot_mmap): Likewise.
1936 (grub_multiboot_set_video_mode): Likewise.
1937 (grub_multiboot_set_console): Likewise.
1938 (grub_multiboot_load): Likewise.
1939 (grub_multiboot_load_elf): Likewise.
1940 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
1941 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
1942 * include/multiboot.h: Resynced with specification.
1943 * include/multiboot2.h: Resynced with specification.
1944 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
1945 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
1946 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
1947 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
1948 users updated.
1949 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
1950 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
1951 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
1952 Removed.
1953 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
1954 Moved from here...
1955 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
1956 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
1957 Moved from here...
1958 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
1959 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
1960 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
1961 All users updated.
1962 * loader/i386/multiboot_mbi2.c: New file.
1963
1964 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 Resync with gnulib.
1967
1968 * Makefile.in (GNULIB_CFLAGS): New variable.
1969 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
1970 (grub_script_check_CFLAGS): New variable.
1971 * gnulib/alloca.h: Resync with gnulib.
1972 * gnulib/error.c: Likewise.
1973 * gnulib/error.h: Likewise.
1974 * gnulib/fnmatch.c: Likewise.
1975 * gnulib/fnmatch_loop.c: Likewise.
1976 * gnulib/getdelim.c: Likewise.
1977 * gnulib/getline.c: Likewise.
1978 * gnulib/getopt.c: Likewise.
1979 * gnulib/getopt1.c: Likewise.
1980 * gnulib/getopt_int.h: Likewise.
1981 * gnulib/gettext.h: Likewise.
1982 * gnulib/progname.c: Likewise.
1983 * gnulib/progname.h: Likewise.
1984
1985 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
1986
1987 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
1988 which is the case with --disabled-nls.
1989
1990 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
1991 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
1992 * util/misc.c: Likewise.
1993 * util/mkisofs/mkisofs.c: Likewise.
1994 * util/mkisofs/mkisofs.h: Likewise.
1995
1996 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
1997
1998 Simplify Apple CC support.
1999
2000 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
2001 Add 0 byte at the end not to have a symbol with empty target.
2002 * mmap/i386/pc/mmap_helper.S: Likewise.
2003 * genmk.rb: Ignore errors 2030 and 2050.
2004 * kern/i386/pc/startup.S: Use LOCAL when possible.
2005
2006 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
2007
2008 Testcase and the fix for final semicolon on cmdline.
2009
2010 * tests/grub_script_final_semicolon.in: New testcase.
2011 * conf/tests.rmk: Rules for the new testcase.
2012 * script/parser.y: Grammar fix.
2013
2014 2010-03-26 BVK Chaitanya <bvk@localhost>
2015
2016 Blank lines testcase for GRUB script.
2017
2018 * tests/grub_script_blanklines.in: New testcase.
2019 * conf/tests.rmk: Rules for the new testcase.
2020
2021 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2022
2023 Don't use __FILE__.
2024
2025 * genmk.rb: Add -DGRUB_FILE to all C targets.
2026 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
2027 * include/grub/list.h: Likewise.
2028 * include/grub/misc.h: Likewise.
2029 * include/grub/mm.h: Likewise.
2030 * include/grub/test.h: Likewise.
2031 * kern/mm.c: Likewise.
2032 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
2033
2034 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2035
2036 Sunpc partitions support.
2037
2038 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
2039 (grub_fstest_SOURCES): Likewise.
2040 (pkglib_MODULES): Add part_sunpc.mod.
2041 (part_sunpc_mod_SOURCES): New variable.
2042 (part_sunpc_mod_CFLAGS): Likewise.
2043 (part_sunpc_mod_LDFLAGS): Likewise.
2044 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
2045 * partmap/sunpc.c: New file.
2046
2047 2010-03-26 BVK Chaitanya <bvk@localhost>
2048
2049 For loop support to GRUB script.
2050
2051 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
2052 (grub_script_create_cmdfor): New function prototype.
2053 (grub_script_execute_cmdfor): New function prototype.
2054 * script/execute.c (grub_script_execute_cmdfor): New function.
2055 * script/parser.y (command): New for command.
2056 (forcmd): New grammar rule.
2057 * script/script.c (grub_script_create_cmdfor): New function.
2058 * util/grub-script-check.c (grub_script_execute_cmdfor): New
2059 function.
2060 * tests/grub_script_for1.in: New testcase.
2061 * conf/tests.rmk: Rules for new testcase.
2062
2063 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2064
2065 Nested partitions
2066
2067 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
2068 'partition' is NULL, grub_partition_get_start already does that.
2069 * commands/loadenv.c (check_blocklists): Likewise.
2070 (write_blocklists): Likewise.
2071 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
2072 (grub_fstest_SOURCES): Likewise.
2073 (pkglib_MODULES): Add part_bsd.mod.
2074 (part_bsd_mod_SOURCES): New variable.
2075 (part_bsd_mod_CFLAGS): Likewise.
2076 (part_bsd_mod_LDFLAGS): Likewise.
2077 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
2078 (grub_emu_SOURCES): Likewise.
2079 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2080 * include/grub/bsdlabel.h: New file.
2081 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
2082 'get_name'.
2083 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
2084 (grub_partition_map_list): New variable.
2085 (grub_partition_map_register): Inline.
2086 (grub_partition_map_unregister): Likewise.
2087 (FOR_PARTITION_MAPS): New macro.
2088 (grub_partition_map_iterate): Removed.
2089 (grub_partition_get_start): Handle nested partitions.
2090 * include/grub/msdos_partition.h: Remove bsd-related entries.
2091 (grub_pc_partition): Remove.
2092 * kern/disk.c (grub_disk_close): Free partition data.
2093 (grub_disk_adjust_range): Handle nested partitions.
2094 * kern/partition.c (grub_partition_map_probe): New function.
2095 (grub_partition_probe): Parse name to number, handle subpartitions.
2096 (get_partmap): New function.
2097 (grub_partition_iterate): Handle subpartitions.
2098 (grub_partition_get_name): Likewise.
2099 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
2100 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
2101 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
2102 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
2103 Set 'number'.
2104 (acorn_partition_map_probe): Remove.
2105 (acorn_partition_map_get_name): Likewise.
2106 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
2107 Set 'number'.
2108 Set 'index' to 0 since there can be only one partition entry per sector.
2109 (amiga_partition_map_probe): Remove.
2110 (amiga_partition_map_get_name): Likewise.
2111 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
2112 Set 'number'.
2113 Set 'offset' and 'index' to real positions of partitions.
2114 (apple_partition_map_probe): Remove.
2115 (apple_partition_map_get_name): Likewise.
2116 * partmap/bsdlabel.c: New file.
2117 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
2118 Set 'number'.
2119 Allocate 'data' so it can be correctly freed.
2120 Set 'index' to offset inside sector.
2121 (gpt_partition_map_probe): Remove.
2122 (gpt_partition_map_get_name): Likewise.
2123 * partmap/msdos.c (grub_partition_parse): Remove.
2124 (pc_partition_map_iterate): Don't force raw access.
2125 Set 'number'.
2126 Make 'ext_offset' a local variable.
2127 (pc_partition_map_probe): Remove.
2128 (pc_partition_map_get_name): Remove.
2129 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
2130 Set 'number'.
2131 (sun_partition_map_probe): Remove.
2132 (sun_partition_map_get_name): Likewise.
2133 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
2134 (grub_pcpart_type): Likewise.
2135 * util/hostdisk.c (open_device): Handle new numbering scheme.
2136 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
2137 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
2138 * util/grub-probe.c (probe_partmap): Handle nested paritions.
2139 * util/grub-install.in: Insert all subpartition modules.
2140 * util/ieee1275/grub-install.in: Likewise.
2141
2142 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
2143
2144 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
2145 grammar.
2146
2147 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
2148
2149 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
2150
2151 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
2152
2153 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
2154 match where 'make install' puts them.
2155 * util/i386/efi/grub-install.in: Likewise.
2156
2157 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
2158
2159 * .bzrignore: Add gentrigtables, grub-script-check,
2160 grub_script_check_init.c, grub_script_check_init.h, and
2161 trigtables.c.
2162
2163 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 * kern/parser.c: Indented.
2166
2167 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
2170
2171 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
2174 alpha_mask_size == 0 case.
2175
2176 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
2177
2178 GRUB shell lexer and parser improvements.
2179
2180 * conf/any-emu.rmk: Build rule updates.
2181 * conf/common.rmk: Likewise.
2182 * conf/i386-coreboot.rmk: Likewise.
2183 * conf/i386-efi.rmk: Likewise.
2184 * conf/i386-ieee1275.rmk: Likewise.
2185 * conf/i386-pc.rmk: Likewise.
2186 * conf/powerpc-ieee1275.rmk: Likewise.
2187 * conf/x86_64-efi.rmk: Likewise.
2188
2189 * configure.ac: Configure check for flex.
2190
2191 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
2192 types.
2193 (grub_lexer_param): Struct member updates.
2194 (grub_parser_param): Likewise.
2195 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
2196 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
2197 (grub_script_lexer_init): Prototype update.
2198 (grub_script_lexer_record_start): Likewise.
2199 (grub_script_lexer_record_stop): Likewise.
2200 (grub_script_lexer_yywrap): New function prototype.
2201 (grub_script_lexer_fini): Likewise.
2202 (grub_script_execute_argument_to_string): Removed by...
2203 (grub_script_execute_argument_to_argv): ...better version.
2204
2205 * script/execute.c (ROUND_UPTO): New macro.
2206 (grub_script_execute_cmdline): Out of memory fixes.
2207 (grub_script_execute_menuentry): Likewise.
2208 (grub_script_execute_argument_to_string): Removed. Update all
2209 users by...
2210 (grub_script_execute_argument_to_argv): ...better version.
2211 * script/function.c (grub_script_function_create): Use
2212 grub_script_execute_argument_to_argv instead of
2213 grub_script_execute_argument_to_string.
2214
2215 * script/lexer.c (check_varstate): Removed.
2216 (check_textstate): Removed.
2217 (grub_script_lexer_record_start): Likewise.
2218 (grub_script_lexer_record_stop): Likewise.
2219 (recordchar): Replaced with...
2220 (grub_script_lexer_record): ...new function.
2221 (nextchar): Removed.
2222 (grub_script_lexer_init): Rewritten.
2223 (grub_script_yylex): Rewritten.
2224 (append_newline): New function.
2225 (grub_script_lexer_yywrap): New function.
2226 (grub_script_lexer_fini): New function.
2227 (grub_script_yyerror): Sets error flag.
2228
2229 * script/yylex.l: New file.
2230 (grub_lexer_yyfree): Wrapper for flex yyffre.
2231 (grub_lexer_yyalloc): Likewise.
2232 (grub_lexer_yyrealloc): Likewise.
2233 * script/parser.y: Refactored.
2234
2235 * script/script.c (grub_script_arg_add): Out of memory fixes.
2236 (grub_script_add_arglist): Likewise.
2237 (grub_script_create_cmdline): Likewise.
2238 (grub_script_create_cmdmenu): Likewise.
2239 (grub_script_add_cmd): Likewise.
2240 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
2241 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
2242 unnecessary code.
2243
2244 * tests/grub_script_echo1.in: New testcase.
2245 * tests/grub_script_vars1.in: New testcase.
2246 * tests/grub_script_echo_keywords.in: New testcase.
2247
2248 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 Remove some redundancy in build system.
2251
2252 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
2253 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
2254 (TARGET_LDFLAGS): Add -nostdlib.
2255 (TARGET_IMG_LDFLAGS): Likewise.
2256 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
2257 anything since mmap isn't available.
2258 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
2259 Add util/time.c.
2260 (pkglib_MODULES): Remove reboot.mod.
2261 (reboot_mod_SOURCES): Removed.
2262 (reboot_mod_CFLAGS): Likewise.
2263 (reboot_mod_LDFLAGS): Likewise.
2264 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
2265 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
2266 (DEFSYMFILES): Add kernel_syms.lst.
2267 (kernel_img_HEADERS): Add common headers.
2268 (symlist.c): New target.
2269 (kernel_syms.lst): Likewise.
2270 (pkglib_MODULES): Add memdisk.mod.
2271 (memdisk_mod_SOURCES): New variable.
2272 (memdisk_mod_CFLAGS): Likewise.
2273 (memdisk_mod_LDFLAGS): Likewise.
2274 (pkglib_MODULES): Add reboot.mod.
2275 (reboot_mod_SOURCES): New variable.
2276 (reboot_mod_CFLAGS): Likewise.
2277 (reboot_mod_LDFLAGS): Likewise.
2278 (pkglib_MODULES): Add date.mod.
2279 (date_mod_SOURCES): New variable.
2280 (date_mod_CFLAGS): Likewise.
2281 (date_mod_LDFLAGS): Likewise.
2282 (pkglib_MODULES): Add datehook.mod.
2283 (datehook_mod_SOURCES): New variable.
2284 (datehook_mod_CFLAGS): Likewise.
2285 (datehook_mod_LDFLAGS): Likewise.
2286 (pkglib_MODULES): Add lsmmap.mod.
2287 (lsmmap_mod_SOURCES): New variable.
2288 (lsmmap_mod_CFLAGS): Likewise.
2289 (lsmmap_mod_LDFLAGS): Likewise.
2290 (pkglib_MODULES): Add boot.mod.
2291 (boot_mod_SOURCES): New variable.
2292 (boot_mod_CFLAGS): Likewise.
2293 (boot_mod_LDFLAGS): Likewise.
2294 * conf/i386-coreboot.rmk: Removed redundant parts.
2295 * conf/i386-ieee1275.rmk: Likewise.
2296 * conf/i386-pc.rmk: Likewise.
2297 * conf/mips-yeeloong.rmk: Likewise.
2298 * conf/mips.rmk: Likewise.
2299 * conf/powerpc-ieee1275.rmk: Likewise.
2300 * conf/sparc64-ieee1275.rmk: Likewise.
2301 * conf/x86_64-efi.rmk: Likewise.
2302 * conf/i386-coreboot.rmk: Moved qemu parts ..
2303 * conf/i386-qemu.rmk: ... here
2304 * conf/i386-efi.rmk: Moved common parts to...
2305 * conf/x86-efi.rmk: ... here.
2306 * conf/i386.rmk: Added modules common to all x86 variants.
2307 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
2308 * disk/memdisk.c: Remove grub/machine/kernel.h.
2309 * gensymlist.sh.in: Include symbol.h.
2310 * hook/datehook.c: Correct module name.
2311 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
2312 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
2313 * include/grub/i386/efi/serial.h: New file.
2314 * include/grub/x86_64/efi/serial.h: Likewise.
2315 * util/time.c: Likewise.
2316 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
2317
2318 2010-03-14 Colin King <colin.king@ubuntu.com>
2319 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
2320
2321 Shrink the pre-partition-table part of boot.img by eight bytes.
2322
2323 * boot/i386/pc/boot.S (ERR): New macro.
2324 (chs_mode): Use ERR.
2325 (geometry_error): Likewise.
2326 (hd_probe_error): Remove. This is only used once, so we wrwite
2327 it inline instead.
2328 (read_error): Instead of printing read_error_string, just set up
2329 %si and fall through to ...
2330 (error_message): ... this new function, also used by ERR.
2331
2332 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
2333
2334 Speed up consecutive hostdisk operations on the same device.
2335
2336 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
2337 (grub_util_biosdisk_open): Initialise disk->data.
2338 (struct linux_partition_cache): New structure.
2339 (linux_find_partition): Cache partition start positions; these are
2340 expensive to compute on every read and write.
2341 (open_device): Cache open file descriptor in disk->data, so that we
2342 don't have to reopen it and flush the buffer cache for consecutive
2343 operations on the same device.
2344 (grub_util_biosdisk_close): New function.
2345 (grub_util_biosdisk_dev): Set `close' member.
2346
2347 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
2348 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
2349 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
2350 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
2351 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
2352
2353 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 Compile parts of grub-emu as modules.
2356
2357 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
2358 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
2359 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
2360 (all-local): Add $(GRUB_EMU).
2361 (install-local): Install $(GRUB_EMU).
2362 (uninstall): Uninstall $(GRUB_EMU).
2363 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
2364 * kern/dl.c: Likewise.
2365 * commands/sleep.c: Not include machine/time.h.
2366 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
2367 (COMMON_CFLAGS): Likewise.
2368 (sbin_UTILITIES): Remove grub-emu.
2369 (grub_emu_SOURCES): Removed.
2370 (kernel_img_RELOCATABLE): New variable.
2371 (pkglib_PROGRAMS): Add kernel.img.
2372 (kernel_img_SOURCES): New variable
2373 (kernel_img_CFLAGS): Likewise.
2374 (kernel_img_LDFLAGS): Likewise.
2375 (TARGET_NO_STRIP): Likewise.
2376 (TARGET_NO_DYNAMIC_MODULES): Likewise.
2377 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
2378 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
2379 (grub-emu): New target.
2380 (GRUB_EMU): New variable.
2381 * configure.ac: Whitelist -emu as possible x86_64 architecture.
2382 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
2383 * loader/xnu.c: Likewise.
2384 * include/grub/pci.h: Likewise.
2385 * genemuinit.sh: New file.
2386 * genemuinitheader.sh: Likewise.
2387 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
2388 Support TARGET_NO_DYNAMIC_MODULES.
2389 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
2390 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
2391 * disk/loopback.c: Likewise.
2392 * font/font_cmd.c: Likewise.
2393 * partmap/acorn.c: Likewise.
2394 * partmap/amiga.c: Likewise.
2395 * partmap/apple.c: Likewise.
2396 * partmap/gpt.c: Likewise.
2397 * partmap/msdos.c: Likewise.
2398 * partmap/sun.c: Likewise.
2399 * parttool/msdospart.c: Likewise.
2400 * term/gfxterm.c: Likewise.
2401 * video/bitmap.c: Likewise.
2402 * video/readers/jpeg.c: Likewise.
2403 * video/readers/png.c: Likewise.
2404 * video/readers/tga.c: Likewise.
2405 * video/video.c: Likewise.
2406 * util/grub-emu.c (read_command_list): Removed.
2407 (main): Don't call util_init_nls.
2408 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
2409 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
2410
2411 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
2414 date.mod, datehook.mod.
2415 (datetime_mod_SOURCES): New variable.
2416 (datetime_mod_CFLAGS): Likewise.
2417 (datetime_mod_LDFLAGS): Likewise.
2418 (date_mod_SOURCES): Likewise.
2419 (date_mod_CFLAGS): Likewise.
2420 (date_mod_LDFLAGS): Likewise.
2421 (datehook_mod_SOURCES): Likewise.
2422 (datehook_mod_CFLAGS): Likewise.
2423 (datehook_mod_LDFLAGS): Likewise.
2424 * conf/sparc64-ieee1275.rmk: Likewise.
2425 * lib/ieee1275/datetime.c: New file.
2426
2427 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
2430 (ieee1275_fb_mod_SOURCES): New variable.
2431 (ieee1275_fb_mod_CFLAGS): Likewise.
2432 (ieee1275_fb_mod_LDFLAGS): Likewise.
2433 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
2434 New proto.
2435 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
2436 (HEAP_MAX_ADDR): Likewise.
2437 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
2438 type.
2439 Correct stop condition.
2440 (grub_ieee1275_devices_iterate): New function.
2441 * video/ieee1275.c: New file.
2442
2443 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
2446
2447 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
2448 as scratch.
2449 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
2450 SCRATCH_PAD_DISKBOOT as scratch.
2451 (bootit): Pass Openfirmware pointer in %o4.
2452 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
2453 of 0x200000.
2454 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
2455 with util/grub-mkrawimage.c.
2456 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
2457 * include/grub/aout.h (AOUT_MID_SUN): New definition.
2458 (grub_aout_get_type) [GRUB_UTIL]: Removed.
2459 (grub_aout_load) [GRUB_UTIL]: Likewise.
2460 * include/grub/kernel.h (grub_modules_get_end): New proto.
2461 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
2462 (SCRATCH_PAD_BOOT): New definition.
2463 (SCRATCH_PAD_DISKBOOT): Likewise.
2464 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
2465 * include/grub/sparc64/ieee1275/ieee1275.h
2466 (grub_ieee1275_original_stack): New variable
2467 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
2468 New definition
2469 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
2470 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
2471 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
2472 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
2473 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
2474 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
2475 (grub_platform_image_format_t): New type.
2476 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
2477 * kern/main.c (grub_modules_get_end)
2478 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
2479 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
2480 (codestart): Switch stacks.
2481 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
2482 variable.
2483 (grub_heap_init): Use grub_modules_get_end.
2484 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
2485 stack.
2486 * util/grub-mkrawimage.c (generate_image): Support sparc64.
2487 (main): Likewise.
2488 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
2489
2490 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
2491
2492 * util/grub-mkrescue.in: Base ISO UUID on UTC.
2493
2494 2010-03-08 Matt Kraai <kraai@ftbfs.org>
2495
2496 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
2497 bug #559005).
2498
2499 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * genmoddep.awk: Output all missing symbols and not only first.
2502
2503 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * NEWS: Put the date of 1.98 release.
2506
2507 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2508
2509 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
2510 ft2build.h.
2511
2512 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
2515 completition in the middle of string.
2516
2517 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2518
2519 * util/grub-mkrescue.in: Use mktemp with explicit template.
2520
2521 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2522
2523 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
2524
2525 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
2528 right pointer.
2529
2530 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 Fix FreeBSD compilation.
2533
2534 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
2535 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
2536
2537 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
2540
2541 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
2544
2545 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2546
2547 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
2548
2549 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
2550
2551 Support relative image path in theme file.
2552
2553 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
2554 (image_set_property): Handle theme_dir and relative path.
2555
2556 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * configure.ac: Alias amd64 to x86_64.
2559
2560 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 * NEWS: mention multiboot on EFI.
2563
2564 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2565
2566 * kern/main.c (grub_load_modules): Handle errors from init functions of
2567 embeded modules.
2568
2569 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 * normal/autofs.c (autoload_fs_module): Handle errors.
2572
2573 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2574
2575 Disable linux.mod on qemu-mips since it's not functional and leads
2576 to compilation failure.
2577
2578 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
2579 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
2580 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
2581 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
2582 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
2583 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
2584 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
2585 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
2586 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
2587 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
2588 Reported by: BVK Chaitanya
2589
2590 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
2591
2592 * INSTALL: Add gettext as a dependency and add qemu to a new section
2593 "Prerequisites for make-check".
2594
2595 2010-03-04 Christian Franke <franke@computer.org>
2596
2597 * util/grub-pe2elf.c: Add missing include "progname.h".
2598
2599 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2600
2601 * normal/crypto.c (read_crypto_list): Fix a typo.
2602 Reported by: Seth Goldberg.
2603
2604 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2605
2606 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
2607 Reported by: Seth Goldberg.
2608
2609 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2610
2611 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
2612 ascii.bitmaps.
2613
2614 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 * genmk.rb: Remove terminal*.lst in make clean.
2617 Reported by: Seth Goldberg.
2618
2619 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 * util/i386/efi/grub-install.in: Copy gettext files.
2622
2623 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
2626
2627 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 Wait for user entry basing on presence of output rather than on errors.
2630
2631 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
2632 (grub_install_newline_hook): Likewise.
2633 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
2634 * normal/menu.c (show_menu): Check line_counter to determine presence
2635 of output.
2636 * normal/term.c (grub_normal_line_counter): New variable.
2637 (grub_normal_get_line_counter): New function.
2638 (grub_install_newline_hook): Likewise.
2639
2640 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2641
2642 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
2643
2644 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2645
2646 * configure.ac: Update version to 1.98.
2647
2648 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 * util/grub.d/10_linux.in (linux_entry): Don't default to
2651 gfxpayload=keep if Linux doesn't support video handover.
2652
2653 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 Don't compile video modules on yeeloong since video subsystem is part
2656 of kernel.
2657
2658 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
2659 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
2660 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
2661 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
2662 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
2663 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
2664 * include/grub/bitmap_scale.h: Likewise.
2665 * include/grub/bufio.h: Likewise.
2666 * include/grub/font.h: Likewise.
2667 * include/grub/gfxterm.h: Likewise.
2668 * include/grub/video.h: Likewise.
2669 * include/grub/vbe.h: Don't include video_fb.h.
2670 * video/i386/pc/vbe.c: Include video_fb.h.
2671 * commands/i386/pc/vbetest.c: Include video.h.
2672
2673 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
2674
2675 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
2676 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
2677 default entry if GRUB_SAVEDEFAULT=true. This allows using
2678 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
2679 saving a new default on every boot.
2680
2681 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 * normal/crypto.c (read_crypto_list): Fix a memory leak.
2684 * normal/term.c (read_terminal_list): Likewise.
2685 * normal/main.c (grub_normal_init_page): Likewise.
2686 (grub_normal_read_line_real): Likewise.
2687
2688 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
2691 memory leak.
2692 Reported by: Seth Goldberg.
2693
2694 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
2695
2696 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
2697 duplicate declaration of `start'.
2698
2699 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
2700
2701 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
2702 filename.
2703 Reported by: Georgy Buranov
2704
2705 2010-02-20 Carles Pina i Estany <carles@pina.cat>
2706
2707 * util/grub-mkrawimage.c (usage): Change string formatting to
2708 improve gettext.
2709
2710 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
2711
2712 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
2713 backspace keys.
2714
2715 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
2716
2717 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
2718 Reported by: Michael Suchanek.
2719
2720 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
2721
2722 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
2723 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
2724
2725 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
2726
2727 Remove any reference to non-free fonts.
2728
2729 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
2730 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
2731 uses non-free components.
2732 * font/font.c (grub_font_get_name): Remove example name.
2733 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
2734 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
2735 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
2736 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
2737
2738 2010-02-16 Georgy Buranov <gburanov@gmail.com>
2739
2740 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
2741
2742 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
2745 Double divisor.
2746 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
2747 features.
2748 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
2749
2750 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 * gensymlist.sh.in: Use TARGET_CC instead of CC.
2753
2754 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2755
2756 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
2757 * docs/grub.texi (Command-line and menu entry commands): Document play
2758 command.
2759
2760 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2761
2762 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
2763 parse arguments as inline tempo and notes. Move code for playing notes
2764 to...
2765 (play): ... new function.
2766
2767 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2768
2769 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
2770 grub_uint16_t instead of short.
2771 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
2772 disk from little endian to cpu endianness.
2773
2774 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
2775
2776 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
2777 GRUB_TICKS_PER_SECOND instead of 120.
2778
2779 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
2782 escape sequence after \e.
2783
2784 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
2787 non-ASCII characters.
2788
2789 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2790
2791 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
2792 set root in single quotes to prevent \, from being unescaped.
2793
2794 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 Prevent unknown commands from stopping menuentry execution.
2797
2798 * script/execute.c (grub_script_execute_cmdline): Print error after
2799 unknown command.
2800
2801 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2802
2803 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
2804 Reported by: Pavel Pisa.
2805
2806 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
2809
2810 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2811
2812 Merge grub_ieee1275_map_physical into grub_map and rename to
2813 grub_ieee1275_map
2814
2815 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
2816 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
2817 Remove.
2818 * kern/ieee1275/openfw.c (grub_map): Rename to ...
2819 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
2820 necessary.
2821 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
2822
2823 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2824
2825 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
2826 opening and not after.
2827
2828 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
2831 constants.
2832
2833 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
2836 (alloc_phys): Use ALIGN_UP instead of align_addr.
2837
2838 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2839
2840 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
2841
2842 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
2845
2846 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
2849 verbose dprintf.
2850
2851 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 Fix over-4GiB seek on sparc64.
2854
2855 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
2856 Replace pos_i and pos_lo with pos. All users updated.
2857 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
2858 New constant.
2859 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
2860 Likewise.
2861 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
2862 and pos_lo.
2863
2864 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 * util/grub-mkrawimage.c (main): Call set_program_name.
2867
2868 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 Properly align 64-bit targets.
2871
2872 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
2873 (generate_image): Use ALIGN_ADDR.
2874
2875 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 Properly create cross-endian images.
2878
2879 * include/grub/types.h (grub_host_to_target_addr): New macro
2880 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
2881
2882 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2883
2884 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
2885
2886 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
2889
2890 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
2891 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
2892 (grub_linux_boot): Divide by 64K when on VESA.
2893
2894 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 Support GRUB_GFXPAYLOAD_LINUX.
2897
2898 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
2899 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
2900
2901 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2902
2903 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
2904 to show messages instead of discarding them.
2905 Process errors after executing command and not before. Keep old method
2906 too as precaution.
2907
2908 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 * configure.ac: Check for ft2build.h.
2911
2912 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
2915
2916 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 * genkernsyms.sh.in: Use TARGET_CC.
2919
2920 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
2921
2922 * NEWS: Update.
2923
2924 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2925
2926 * include/grub/multiboot2.h: Remove leftover file.
2927 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
2928 * include/grub/partition.h [GRUB_UTIL]: Likewise.
2929
2930 2010-02-07 Yves Blusseau <blusseau@zetam.org>
2931
2932 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
2933
2934 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2935
2936 Fix warnings in grub-emu when compiling with maximum warning options.
2937
2938 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
2939 (grub_arch_modules_addr): Return 0 and not NULL.
2940 * util/misc.c (ENABLE_RELOCATABLE): New definition.
2941 (xstrdup): Use newstr instead of dup.
2942 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
2943 of disk to dsk to avoid shadowing.
2944 (find_free_slot): Fix prototype.
2945 * util/getroot.c (grub_util_is_dmraid): Make static.
2946 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
2947 Add missing prototype.
2948 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
2949
2950 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 * loader/i386/linux.c (grub_linux_setup_video): Handle error
2953 appropriately.
2954
2955 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
2958 code out.
2959
2960 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
2963 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
2964 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
2965 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
2966 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
2967 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
2968
2969 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 * include/grub/err.h (grub_err_printf): Don't export.
2972
2973 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
2976
2977 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2978
2979 * include/grub/i18n.h (grub_gettext_dummy): Removed.
2980 * kern/misc.c (grub_gettext_dummy): Make static.
2981
2982 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2983
2984 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
2985 by non-valid ones.
2986 * kern/term.c (grub_putchar): Likewise.
2987
2988 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
2991 buggy hook call and memory leak.
2992
2993 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2994
2995 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
2996
2997 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
3000
3001 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
3004 modevar.
3005 Return grub_errno on allocation error.
3006
3007 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3008
3009 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
3010
3011 2010-02-06 Yves Blusseau <blusseau@zetam.org>
3012
3013 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
3014 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
3015
3016 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
3019 non-pxe disk.
3020 (grub_pxefs_open): Likewise.
3021
3022 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
3023
3024 * util/grub.d/10_hurd.in: Add --class information to menuentries.
3025 * util/grub.d/10_kfreebsd.in: Likewise.
3026 * util/grub.d/10_linux.in: Likewise.
3027
3028 2010-02-06 Colin D Bennett <colin@gibibit.com>
3029
3030 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
3031 (gfxmenu_mod_SOURCES): New variable.
3032 (gfxmenu_mod_CFLAGS): Likewise.
3033 (gfxmenu_mod_LDFLAGS): Likewise.
3034 * include/grub/term.h (grub_term_set_current_output): Declare
3035 argument as const.
3036 * docs/gfxmenu-theme-example.txt: New file.
3037 * gfxmenu/gfxmenu.c: Likewise.
3038 * gfxmenu/gui_box.c: Likewise.
3039 * gfxmenu/gui_canvas.c: Likewise.
3040 * gfxmenu/gui_circular_progress.c: Likewise.
3041 * gfxmenu/gui_image.c: Likewise.
3042 * gfxmenu/gui_label.c: Likewise.
3043 * gfxmenu/gui_list.c: Likewise.
3044 * gfxmenu/gui_progress_bar.c: Likewise.
3045 * gfxmenu/gui_string_util.c: Likewise.
3046 * gfxmenu/gui_util.c: Likewise.
3047 * gfxmenu/icon_manager.c: Likewise.
3048 * gfxmenu/model.c: Likewise.
3049 * gfxmenu/named_colors.c: Likewise.
3050 * gfxmenu/theme_loader.c: Likewise.
3051 * gfxmenu/view.c: Likewise.
3052 * gfxmenu/widget-box.c: Likewise.
3053 * include/grub/gfxmenu_model.h: Likewise.
3054 * include/grub/gfxmenu_view.h: Likewise.
3055 * include/grub/gfxwidgets.h: Likewise.
3056 * include/grub/gui.h: Likewise.
3057 * include/grub/gui_string_util.h: Likewise.
3058 * include/grub/icon_manager.h: Likewise.
3059
3060 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 Agglomerate scrolling in gfxterm.
3063
3064 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
3065 (grub_virtual_screen_setup): Initialise 'total_screen'.
3066 (write_char): Split to ...
3067 (paint_char): ... this ...
3068 (write_char): ... and this.
3069 (paint_char): Handle delayed scrolling.
3070 (draw_cursor): Likewise.
3071 (scroll_up): Split to ...
3072 (real_scroll): ... this ...
3073 (scroll_up): ... and this.
3074 (real_scroll): Handle multi-line scroll and draw below-the-bottom
3075 characters.
3076 (grub_gfxterm_refresh): Call real_scroll.
3077
3078 2010-02-06 Colin D Bennett <colin@gibibit.com>
3079
3080 * include/grub/misc.h (grub_iscntrl): New inline function.
3081 (grub_isalnum): Likewise.
3082 (grub_strtol): Likewise.
3083
3084 2010-02-06 Colin D Bennett <colin@gibibit.com>
3085
3086 * normal/menu_text.c (get_entry_number): Move from here ...
3087 * normal/menu.c (get_entry_number): ... moved here.
3088 * include/grub/menu.h (grub_menu_get_default_entry_index):
3089 New prototype.
3090 * normal/menu.c (grub_menu_get_default_entry_index): New function.
3091 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
3092 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
3093 (grub_menu_viewer_should_return): Likewise.
3094 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
3095 * normal/menu_text.c (run_menu): Enable menu switching.
3096 * normal/menu_viewer.c (should_return): New variable.
3097 (menu_viewer_changed): Likewise.
3098 (grub_menu_viewer_show_menu): Handle menu viewer changes.
3099 (grub_menu_viewer_should_return): New function.
3100 (menuviewer_write_hook): Likewise.
3101 (grub_menu_viewer_init): Likewise.
3102
3103 2010-02-06 Colin D Bennet <colin@gibibit.com>
3104 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 Support for gfxterm in a window.
3107
3108 * include/grub/gfxterm.h: New file.
3109 * include/grub/video.h (struct grub_video_rect): New declaration.
3110 (grub_video_rect_t): Likewise.
3111 * term/gfxterm.c (struct grub_gfxterm_window): New type.
3112 (refcount): New variable.
3113 (render_target): Likewise.
3114 (window): Likewise.
3115 (repaint_callback): Likewise.
3116 (grub_virtual_screen_setup): Use 'render_target'.
3117 (init_window): New function.
3118 (grub_gfxterm_init_window): Likewise.
3119 (grub_gfxterm_init): Check reference counter.
3120 Use init_window.
3121 (destroy_window): New function.
3122 (grub_gfxterm_destroy_window): Likewise.
3123 (grub_gfxterm_fini): Check reference counter.
3124 Use destroy_window.
3125 (redraw_screen_rect): Restore viewport.
3126 Use 'render_target' and 'window'.
3127 Call 'repaint_callback'.
3128 (write_char): Use 'render_target'.
3129 (draw_cursor): Likewise.
3130 (scroll_up): Restore viewport.
3131 Use 'render_target' and 'window'.
3132 Call 'repaint_callback'.
3133 (grub_gfxterm_cls): Likewise.
3134 (grub_gfxterm_refresh): Use 'window'.
3135 (grub_gfxterm_set_repaint_callback): New function.
3136 (grub_gfxterm_background_image_cmd): Use 'window'.
3137 (grub_gfxterm_get_term): New function.
3138 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
3139
3140 2010-02-06 Colin D Bennett <colin@gibibit.com>
3141
3142 Bitmap scaling support.
3143
3144 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
3145 (bitmap_scale_mod_SOURCES): New variable.
3146 (bitmap_scale_mod_CFLAGS): Likewise.
3147 (bitmap_scale_mod_LDFLAGS): Likewise.
3148 * include/grub/bitmap_scale.h: New file.
3149 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
3150 (background_image_cmd_options): New variable.
3151 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
3152 (cmd): Rename and change type to ...
3153 (background_image_cmd_handle): ... this. All users updated.
3154 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
3155 * video/bitmap_scale.c: New file.
3156
3157 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3158
3159 SDL support.
3160
3161 * Makefile.in (LIBSDL): New variable.
3162 (enable_grub_emu_sdl): Likewise.
3163 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
3164 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
3165 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
3166 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
3167 * util/sdl.c: New file.
3168
3169 2010-02-06 Colin D Bennett <colin@gibibit.com>
3170 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 Double buffering support.
3173
3174 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
3175 * include/grub/video.h: Update comment.
3176 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
3177 New type.
3178 (grub_video_fb_doublebuf_blit_init): New prototype.
3179 * term/gfxterm.c (scroll_up): Support double buffering.
3180 (grub_gfxterm_refresh): Likewise.
3181 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
3182 (grub_video_fb_doublebuf_blit_init): Likewise.
3183 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
3184 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
3185 'displayed_page', 'render_page' and 'update_screen'.
3186 (grub_video_vbe_fini): Free offscreen buffer.
3187 (doublebuf_pageflipping_commit): New function.
3188 (doublebuf_pageflipping_update_screen): Likewise.
3189 (doublebuf_pageflipping_init): Likewise.
3190 (double_buffering_init): Likewise.
3191 (grub_video_vbe_setup): Enable doublebuffering.
3192 (grub_video_vbe_swap_buffers): Implement.
3193 (grub_video_vbe_set_active_render_target): Handle double buffering.
3194 (grub_video_vbe_get_active_render_target): Likewise.
3195 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
3196 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
3197 (grub_video_vbe_enable_double_buffering): Likewise.
3198 (grub_video_vbe_swap_buffers): Use update_screen.
3199 (grub_video_set_mode): Use double buffering.
3200
3201 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
3202
3203 * maintainance/gentrigtables.py: Remove.
3204 * lib/trig.c: Likewise.
3205
3206 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
3207
3208 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
3209 `trigtables.c'.
3210 (trigtables.c): New rule.
3211 (gentrigtables): Likewise.
3212 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
3213
3214 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
3215
3216 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
3217 integer constants.
3218
3219 2010-02-06 Colin D Bennet <colin@gibibit.com>
3220
3221 Trigonometry support.
3222
3223 * include/grub/trig.h: New file.
3224 * lib/trig.c: Likewise.
3225 * maintainance/gentrigtables.py: Likewise.
3226 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
3227 (trig_mod_SOURCES): New variable.
3228 (trig_mod_CFLAGS): Likewise.
3229 (trig_mod_LDFLAGS): Likewise.
3230
3231 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
3234 disk devices.
3235
3236 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
3239 error.
3240
3241 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 * util/hostdisk.c (open_device): Don't use partition device when reading
3244 before the partition.
3245 (grub_util_biosdisk_read): Don't read from partition and before the
3246 partition in single operation.
3247 (grub_util_biosdisk_write): Don't write to partition and before the
3248 partition in single operation.
3249
3250 2010-02-03 Torsten Landschoff <torsten@debian.org>
3251
3252 * kern/disk.c (grub_disk_read): Fix offset computation when reading
3253 last sectors.
3254
3255 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3256
3257 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
3258 CDROM reads.
3259 (grub_biosdisk_write): Refuse to write to CDROM.
3260
3261 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
3264
3265 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 * font/font.c (find_glyph): Check that bmp_idx is available before
3268 using it.
3269 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
3270 with (font == NULL).
3271
3272 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
3273
3274 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
3275
3276 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
3277
3278 * include/grub/script_sh.h (sourcecode): Add const qualifier.
3279 * util/grub-script-check.c (getline): Fix empty lines case.
3280
3281 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
3282
3283 * Makefile.in (check): Exit with fail status when one of the tests
3284 fails.
3285 * tests/example_functional_test.c (example_test): Fix reversed assert.
3286 * tests/example_unit_test.c (example_test): Likewise.
3287
3288 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
3289
3290 * util/grub.d/10_linux.in: This script does not use any of the
3291 contents of gettext.sh, only the external command `gettext', so stop
3292 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
3293 the same prefix as GRUB.)
3294 * util/grub.d/10_kfreebsd.in: Likewise.
3295
3296 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3297
3298 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
3299 of the line.
3300
3301 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3302
3303 * kern/disk.c (grub_disk_read): Fix offset computation when reading
3304 last sectors.
3305
3306 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3307
3308 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
3309 having a 4KiB and not 32KiB buffer size.
3310
3311 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3312
3313 * util/hostfs.c: Include `<errno.h>'.
3314 (grub_hostfs_read): Handle errors from fseeko() and fread().
3315
3316 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3317
3318 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
3319 loop when using read hooks on files whose size isn't sector-aligned.
3320
3321 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3322
3323 Remove unused parameter.
3324
3325 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
3326 (grub_iso9660_open): Remove initialization of `data->length'.
3327
3328 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3329
3330 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
3331 memleak conditions.
3332
3333 2010-01-27 Carles Pina i Estany <carles@pina.cat>
3334
3335 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
3336 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
3337
3338 2010-01-26 Carles Pina i Estany <carles@pina.cat>
3339
3340 * util/bin2h.c (usage): Fix warning (space after backslash).
3341
3342 2010-01-26 Carles Pina i Estany <carles@pina.cat>
3343
3344 * font/font.c: Include `grub/fontformat.h.
3345 Remove font file format constants.
3346 (grub_font_load): Use the new macros.
3347 * include/grub/fontformat.h: New file.
3348 * util/grub-mkfont.c: Include `grub/fontformat.c'.
3349 (write_font_pf2): Use the new macros.
3350
3351 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
3352
3353 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
3354 does.
3355
3356 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
3357
3358 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
3359
3360 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
3361 (_start): Macroify `0x7F'.
3362
3363 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
3364 (make_install_device): Use "(pxe)" as fallback prefix when booting
3365 via PXE.
3366
3367 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 * configure.ac: Reset LIBS after check for libgcc symbols.
3370
3371 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
3372
3373 * util/hostdisk.c (open_device): Add trailing newline to debug
3374 message.
3375
3376 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
3377
3378 * configure.ac: Check for `limits.h'.
3379 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
3380
3381 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
3382
3383 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
3384 capitalize error strings.
3385
3386 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
3387
3388 * util/grub.d/10_hurd.in: Add a recovery mode.
3389
3390 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * configure.ac: Check for libgcc symbols with -nostdlib.
3393
3394 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
3395
3396 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
3397
3398 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
3401 stack since heap may be unavailable at that point.
3402 (grub_ofconsole_gotoxy): Likewise.
3403
3404 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 * configure.ac: Check for _restgpr_14_x.
3407 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
3408 and _savegpr_* prototypes.
3409
3410 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
3411
3412 Use generic grub_reboot() for i386-efi.
3413
3414 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
3415 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
3416 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
3417
3418 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
3421 presence of "prefix" variable as it breaks when normal.mod is
3422 embedded.
3423
3424 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
3427 stack since heap is unavailable at that point.
3428
3429 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3430
3431 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
3432 (grub_freebsd_bootinfo): Rewritten.
3433 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
3434
3435 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3436
3437 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
3438
3439 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
3440
3441 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
3442 domain now.
3443
3444 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
3445
3446 * util/misc.c (make_system_path_relative_to_its_root): Change the work
3447 around for handling "/" to the correct fix. Fix a memory leak. Use
3448 xstrdup instead of strdup.
3449
3450 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
3453
3454 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3455
3456 Optimise glyph lookup by Basic Multilingual Plane lookup array.
3457
3458 * font/font.c (struct grub_font): New member 'bmp_idx'.
3459 (font_init): Initialise 'bmp_idx'.
3460 (load_font_index): Fill 'bmp_idx'.
3461 (find_glyph): Make inline. Use bmp_idx for BMP characters.
3462
3463 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3464
3465 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
3466 unnecessary calls.
3467
3468 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3469
3470 Move context handling out of the kernel.
3471
3472 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
3473 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
3474 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
3475 * conf/i386-efi.rmk: Likewise.
3476 * conf/i386-ieee1275.rmk: Likewise.
3477 * conf/i386-pc.rmk: Likewise.
3478 * conf/powerpc-ieee1275.rmk: Likewise.
3479 * conf/sparc64-ieee1275.rmk: Likewise.
3480 * conf/x86_64-efi.rmk: Likewise.
3481 * include/grub/env.h: Include grub/menu.h.
3482 (grub_env_var_type): Removed.
3483 (grub_env_var): Replaced field 'type' with 'global'.
3484 (grub_env_find): New prototype.
3485 (grub_env_context_open): Remove EXPORT_FUNC.
3486 (grub_env_context_close): Likewise.
3487 (grub_env_export): Likewise.
3488 (grub_env_set_data_slot): Removed.
3489 (grub_env_get_data_slot): Likewise.
3490 (grub_env_unset_data_slot): Likewise.
3491 (grub_env_unset_menu): New prototype.
3492 (grub_env_set_menu): Likewise.
3493 (grub_env_get_menu): Likewise.
3494 * include/grub/env_private.h: New file.
3495 * include/grub/normal.h (grub_context_init): New prototype.
3496 (grub_context_fini): Likewise.
3497 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
3498 * normal/context.c (grub_cmd_export): ... to here.
3499 * kern/env.c: Include env_private.h.
3500 (HASHSZ): Moved to include/grub/env_private.h.
3501 (grub_env_context): Likewise.
3502 (grub_env_sorted_var): Likewise.
3503 (current_context): Renamed from this ...
3504 (grub_current_context): ...to this. 'static' removed. All users updated.
3505 (grub_env_find): Removed 'static'.
3506 (grub_env_context_open): Moved to normal/context.c.
3507 (grub_env_context_close): Likewise.
3508 (grub_env_export): Likewise.
3509 (mangle_data_slot_name): Removed.
3510 (grub_env_set_data_slot): Likewise.
3511 (grub_env_get_data_slot): Likewise.
3512 (grub_env_unset_data_slot): Likewise.
3513 * kern/main.c (grub_set_root_dev): Don't export root.
3514 It will be done later.
3515 (grub_main): Don't export prefix.
3516 It will be done later.
3517 * normal/context.c: New file.
3518 * normal/main.c (free_menu): Use grub_env_unset_menu.
3519 (grub_normal_add_menu_entry): Use grub_env_get_menu.
3520 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
3521 (GRUB_MOD_INIT(normal)): Call grub_context_init.
3522 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
3523
3524 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 setpci support.
3527
3528 * commands/setpci.c: New file.
3529 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
3530 (setpci_mod_SOURCES): New variable.
3531 (setpci_mod_CFLAGS): Likewise.
3532 (setpci_mod_LDFLAGS): Likewise.
3533
3534 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 Byte-addressable PCI configuration space.
3537
3538 * bus/pci.c (grub_pci_make_address): Use byte address instead of
3539 dword address.
3540 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
3541 GRUB_PCI_REG_CACHELINE.
3542 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
3543 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
3544 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
3545 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
3546 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
3547 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
3548 grub_pci_make_address.
3549 (lock_rom_area): Likewise.
3550 * commands/lspci.c (grub_lspci_iter): Use macroses
3551 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
3552 of grub_pci_make_address.
3553 * disk/ata.c (grub_ata_pciinit): Likewise.
3554 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
3555 (GRUB_PCI_REG_VENDOR): Likewise.
3556 (GRUB_PCI_REG_DEVICE): Likewise.
3557 (GRUB_PCI_REG_COMMAND): Likewise.
3558 (GRUB_PCI_REG_STATUS): Likewise.
3559 (GRUB_PCI_REG_REVISION): Likewise.
3560 (GRUB_PCI_REG_CLASS): Likewise.
3561 (GRUB_PCI_REG_CACHELINE): Likewise.
3562 (GRUB_PCI_REG_LAT_TIMER): Likewise.
3563 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
3564 (GRUB_PCI_REG_BIST): Likewise.
3565 (GRUB_PCI_REG_ADDRESSES): Likewise.
3566 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3567 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3568 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3569 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3570 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3571 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3572 (GRUB_PCI_REG_CIS_POINTER): Likewise.
3573 (GRUB_PCI_REG_SUBVENDOR): Likewise.
3574 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
3575 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
3576 (GRUB_PCI_REG_CAP_POINTER): Likewise.
3577 (GRUB_PCI_REG_IRQ_LINE): Likewise.
3578 (GRUB_PCI_REG_IRQ_PIN): Likewise.
3579 (GRUB_PCI_REG_MIN_GNT): Likewise.
3580 (GRUB_PCI_REG_MAX_LAT): Likewise.
3581 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
3582 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
3583 * video/efi_uga.c (find_framebuf): Likewise.
3584 * video/sm712.c (grub_video_sm712_setup): Likewise.
3585 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
3586 space.
3587
3588 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3589
3590 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
3591 can be reliably determined to be supported.
3592
3593 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3594
3595 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
3596 that VESA is supported.
3597 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
3598 supported.
3599
3600 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3601
3602 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
3603
3604 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3605
3606 * util/misc.c (make_system_path_relative_to_its_root): Work around
3607 special-casing of "/", as previous incarnation of this routine did.
3608
3609 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3610
3611 Fix any-emu compilation.
3612
3613 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
3614 * grub_bin2h_SOURCES: New variable.
3615
3616 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3617
3618 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
3619
3620 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3621
3622 * util/grub.d/00_header.in: Fix handling of locale_dir.
3623
3624 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
3627 as possible unifont location (Gentoo).
3628 Reported by: Alexander Brüning
3629
3630 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3631
3632 Don't try to generate lists for kernel.img.
3633
3634 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
3635 (pkglib_MODULES): Remove kernel.img.
3636 (kernel_img_EXPORTS): Removed.
3637 (kernel_img_RELOCATABLE): New variable.
3638 * conf/x86_64-efi.rmk: Likewise.
3639 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
3640
3641 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3642
3643 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
3644 grub_xasprintf or grub_snprintf.
3645 (grub_vsprintf): Likewise.
3646 (grub_snprintf): New proto.
3647 (grub_vsnprintf): Likewise.
3648 (grub_xasprintf): Likewise.
3649 (grub_xvasprintf): Likewise.
3650 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
3651 (grub_sprintf): Removed.
3652 (grub_vsnprintf): New function.
3653 (grub_snprintf): Likewise.
3654 (grub_xvasprintf): Likewise.
3655 (grub_xasprintf): Likewise.
3656 (grub_vsprintf): Renamed to ...
3657 (grub_vsnprintf_real): ...this. New argument max_len.
3658
3659 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
3660
3661 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
3662 fix grub-script-check warning.
3663
3664 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3665
3666 * include/grub/font.h (grub_font_load): Fix prototype.
3667
3668 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3669
3670 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
3671
3672 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3673
3674 * include/grub/x86_64/at_keyboard.h: New file.
3675
3676 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * loader/mips/linux.c: Include missing grub/i18n.h.
3679
3680 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3681
3682 * normal/menu.c (notify_execution_failure): Clarify error message.
3683
3684 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3685
3686 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
3687 return value (and revert all return statements). Update users.
3688
3689 2010-01-20 Dan Merillat <debian@dan.merillat.org>
3690
3691 * kern/device.c (grub_device_iterate): Allocate new part_ent
3692 structure based on sizeof (*p) rather than sizeof (p->next), to
3693 account for structure padding.
3694
3695 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
3696 disk is NULL, which might happen for LVM physical volumes with no
3697 LVM signature.
3698
3699 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3700
3701 * loader/mips/linux.c (grub_cmd_initrd)
3702 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
3703
3704 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3705
3706 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
3707 (grub_video_video_init, grub_video_bitmap_init)
3708 (grub_font_manager_init, grub_term_gfxterm_init)
3709 (grub_at_keyboard_init): New extern declarations.
3710 (grub_machine_init): Initialize gfxterm and at_keyboard.
3711
3712 * kern/main.c (grub_main): Revert grub_printf delay kludge.
3713
3714 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
3715 `gfxterm.mod' into core image.
3716
3717 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
3718 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
3719 (kernel_img_FORMAT): Copy to ...
3720
3721 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
3722 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
3723 (kernel_img_FORMAT): ... here, and ...
3724
3725 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
3726 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
3727 (kernel_img_FORMAT): ... here.
3728
3729 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
3730 and input (at_keyboard) terminals in kernel.
3731 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
3732
3733 (pkglib_MODULES): Remove `pci.mod'.
3734 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
3735 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
3736 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
3737 (at_keyboard_mod_LDFLAGS): Remove variables.
3738
3739 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
3740
3741 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
3742
3743 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
3744
3745 * include/grub/mips/libgcc.h: Only export symbols for functions
3746 that libgcc provides.
3747
3748 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 MIPS support.
3751
3752 * bus/bonito.c: New file.
3753 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
3754 GRUB_PCI_NUM_DEVICES.
3755 * term/i386/pc/serial.c: Move to ...
3756 * term/serial.c: ... here. All users updated.
3757 * util/i386/pc/grub-mkimage.c: Move to ...
3758 * util/grub-mkrawimage.c: ... here. All users updated.
3759 * term/i386/pc/at_keyboard.c: Move to ...
3760 * term/at_keyboard.c: ... here. All users updated.
3761 * conf/mips-qemu-mips.rmk: New file.
3762 * conf/mips-yeeloong.rmk: Likewise.
3763 * conf/mips.rmk: Likewise.
3764 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
3765 mipsel-qemu-mips.
3766 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
3767 to port addresses.
3768 (grub_ata_pciinit): Support CS5536.
3769 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
3770 * font/font_cmd.c (loadfont_command): Open file before passing it to
3771 grub_font_load.
3772 (pseudo_file_read): New function.
3773 (pseudo_file_close): Likewise.
3774 (pseudo_fs): New structure.
3775 (load_font_module): New function.
3776 (GRUB_MOD_INIT(font_manager)): Load embedded font.
3777 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
3778 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
3779 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
3780 * include/grub/i386/at_keyboard.h: Split into ...
3781 * include/grub/at_keyboard.h: ... this ...
3782 * include/grub/i386/at_keyboard.h: ... and this.
3783 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
3784 New prototype.
3785 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
3786 updated.
3787 (grub_elf64_size): Likewise.
3788 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
3789 filename.
3790 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
3791 * include/grub/i386/coreboot/serial.h: Rewritten.
3792 * include/grub/i386/ieee1275/serial.h: Include
3793 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
3794 * include/grub/i386/pc/serial.h: Moved from here ...
3795 * include/grub/serial.h: ... to here. All users updated.
3796 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
3797 (GRUB_PCI_NUM_BUS): Likewise.
3798 (GRUB_PCI_NUM_DEVICES): Likewise.
3799 (grub_pci_device_map_range): Add missing volatile keyword.
3800 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
3801 * include/grub/mips/at_keyboard.h: New file.
3802 * include/grub/mips/cache.h: Likewise.
3803 * include/grub/mips/io.h: Likewise.
3804 * include/grub/mips/kernel.h: Likewise.
3805 * include/grub/mips/libgcc.h: Likewise.
3806 * include/grub/mips/pci.h: Likewise.
3807 * include/grub/mips/qemu-mips/boot.h: Likewise.
3808 * include/grub/mips/qemu-mips/kernel.h: Likewise.
3809 * include/grub/mips/qemu-mips/loader.h: Likewise.
3810 * include/grub/mips/qemu-mips/memory.h: Likewise.
3811 * include/grub/mips/qemu-mips/serial.h: Likewise.
3812 * include/grub/mips/qemu-mips/time.h: Likewise.
3813 * include/grub/mips/relocator.h: Likewise.
3814 * include/grub/mips/time.h: Likewise.
3815 * include/grub/mips/types.h: Likewise.
3816 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
3817 * include/grub/mips/yeeloong/boot.h: Likewise.
3818 * include/grub/mips/yeeloong/kernel.h: Likewise.
3819 * include/grub/mips/yeeloong/loader.h: Likewise.
3820 * include/grub/mips/yeeloong/memory.h: Likewise.
3821 * include/grub/mips/yeeloong/pci.h: Likewise.
3822 * include/grub/mips/yeeloong/serial.h: Likewise.
3823 * include/grub/mips/yeeloong/time.h: Likewise.
3824 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
3825 * kern/elf.c (grub_elf32_size): New parameter. All users
3826 updated.
3827 (grub_elf64_size): Likewise.
3828 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
3829 Load modules before saying "Welcome to GRUB!".
3830 Call grub_refresh after saying "Welcome to GRUB!".
3831 * kern/mips/cache.S: New file.
3832 * kern/mips/cache_flush.S: Likewise.
3833 * kern/mips/dl.c: Likewise.
3834 * kern/mips/init.c: Likewise.
3835 * kern/mips/qemu-mips/init.c: Likewise.
3836 * kern/mips/startup.S: Likewise.
3837 * kern/mips/yeeloong/init.c: Likewise.
3838 * kern/term.c (grub_putcode): Handle NULL terminal.
3839 (grub_getcharwidth): Likewise.
3840 (grub_getkey): Likewise.
3841 (grub_checkkey): Likewise.
3842 (grub_getkeystatus): Likewise.
3843 (grub_getxy): Likewise.
3844 (grub_getwh): Likewise.
3845 (grub_gotoxy): Likewise.
3846 (grub_cls): Likewise.
3847 (grub_setcolorstate): Likewise.
3848 (grub_setcolor): Likewise.
3849 (grub_getcolor): Likewise.
3850 (grub_refresh): Likewise.
3851 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
3852 (write_jump): Add hatch nop.
3853 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
3854 * lib/mips/setjmp.S: New file.
3855 * loader/mips/linux.c: Likewise.
3856 * term/i386/pc/at_keyboard.c: Move from here ...
3857 * term/at_keyboard.c: ... to here.
3858 * term/i386/pc/serial.c: Moved from here ...
3859 * term/serial.c: ... to here. All users updated.
3860 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
3861 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
3862 (serial_translate_key_sequence): Avoid deadlock.
3863 (grub_serial_getkey): Handle backspace.
3864 (grub_serial_putchar): Fix newline handling.
3865 * util/i386/pc/grub-mkimage.c: Move from here ...
3866 * util/grub-mkrawimage.c: ... to here. All users updated.
3867 (generate_image): New parameters 'font_path' and 'format'.
3868 Support embedding font.
3869 Use grub_host_to_target* instead of grub_cpu_to_le*.
3870 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
3871 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
3872 (options): New option "--font".
3873 (usage): Likewise.
3874 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
3875 (main): Handle "--font".
3876 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
3877 (grub_virtual_screen_setup): Set bg_color_display.
3878 (redraw_screen_rect): Use bg_color_display instead of incorrect
3879 bg_color.
3880 (grub_gfxterm_cls): Likewise.
3881 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
3882 Support embedding config file.
3883 (add_segments): Likewise.
3884 (options): New option "--config".
3885 (main): Handle "--config".
3886 * video/sm712.c: New file.
3887
3888 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3889
3890 Fix parallel builds.
3891
3892 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
3893 font.c depend on ascii.h).
3894
3895 2010-01-12 Carles Pina i Estany <carles@pina.cat>
3896
3897 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
3898
3899 2010-01-11 Carles Pina i Estany <carles@pina.cat>
3900
3901 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
3902 By default: disabled.
3903 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
3904 parameter.
3905
3906 2010-01-10 Carles Pina i Estany <carles@pina.cat>
3907
3908 * font/font.c: Update copyright years.
3909 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
3910
3911 2010-01-10 Carles Pina i Estany <carles@pina.cat>
3912
3913 * font/font.c: Include `ascii.h'.
3914 (ASCII_BITMAP_SIZE): New macro.
3915 (ascii_font_glyph): Define.
3916 (ascii_glyph_lookup): New function.
3917 (grub_font_get_string_width): Change comment. If glyph not found, use
3918 ascii_glyph_lookup.
3919 (grub_font_get_glyph_with_fallback): If glyph not available returns
3920 ascii_glyph_lookup.
3921 * util/grub-mkfont.c (file_formats): New enum.
3922 (options): Add `ascii-bitmaps' new option.
3923 (usage): Add `asii-bitmaps' new option.
3924 (write_font_ascii_bitmap): New function.
3925 (write_font): Rename to ...
3926 (write_font_p2): ... this. Remove print_glyphs call.
3927 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
3928 used. Call print_glyphs.
3929 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
3930
3931 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
3932
3933 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
3934 (grub_bin2h_SOURCES): New variable.
3935 * util/bin2h.c: New file.
3936
3937 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3938
3939 * include/multiboot.h: Resynced with spec.
3940 * include/multiboot2.h: Likewise.
3941 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
3942 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
3943
3944 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3945
3946 * include/grub/term.h (grub_term_register_input,
3947 grub_term_register_output): Check return of terminal init()
3948 routines, and abort if errors are raised.
3949
3950 * commands/terminal.c: Update copyright year.
3951
3952 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3953
3954 * commands/terminal.c (grub_cmd_terminal_input)
3955 (grub_cmd_terminal_output): Check return of terminal init()
3956 routines, and abort if errors are raised.
3957
3958 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * include/grub/i386/bsd.h: Fix include pathes.
3961
3962 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 Add missing *BSD copyright headers.
3965
3966 * include/grub/aout.h: Add BSD licence.
3967 * include/grub/i386/bsd.h: Parts under different licences moved to ...
3968 * include/grub/i386/freebsd_linker.h: ... here,
3969 * include/grub/i386/freebsd_reboot.h: ... here,
3970 * include/grub/i386/netbsd_bootinfo.h: ... here,
3971 * include/grub/i386/netbsd_reboot.h: ... here,
3972 * include/grub/i386/openbsd_bootarg.h: ... here,
3973 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
3974 licence to each file.
3975
3976 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3977
3978 * acinclude.m4: Remove `nop' assembly instruction; it's not
3979 implemented by all architectures.
3980
3981 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3982
3983 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
3984 ELILO. This is no longer necessary.
3985
3986 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
3987
3988 Added new tool, grub-scrit-check to verify grub.cfg syntax.
3989
3990 * util/grub-script-check.c: grub-script-check tool.
3991 * conf/common.rmk: Make rules for grub-script-check.
3992
3993 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3994
3995 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
3996 spotting it back in 2008. Shame on me for forgetting he did.
3997
3998 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
3999
4000 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4001
4002 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
4003 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
4004 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
4005 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
4006 (GRUB_VIDEO_TYPE_EFI): Rename to ...
4007 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
4008
4009 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
4010
4011 * include/grub/test.h: Add license header.
4012 * tests/example_functional_test.c: Likewise.
4013 * tests/example_unit_test.c: Likewise.
4014 * tests/lib/functional_test.c: Likewise.
4015 * tests/lib/test.c: Likewise.
4016 * tests/lib/unit_test.c: Likewise.
4017
4018 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 Use flag-based instead of hook-based video mode selection and "auto"
4021 keyword.
4022
4023 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
4024 (grub_video_set_mode): Changed prototype. All users updated.
4025 (grub_video_check_mode_flag): New inline function.
4026 * video/video.c (parse_modespec): New function.
4027 (grub_video_set_mode): Parse flags and keywords.
4028
4029 2010-01-17 Carles Pina i Estany <carles@pina.cat>
4030
4031 * util/misc.c (grub_util_info): Fix the order of the parameters in a
4032 fprintf call.
4033
4034 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
4035
4036 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
4037
4038 2010-01-16 Carles Pina i Estany <carles@pina.cat>
4039
4040 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
4041 string.
4042 * util/grub-emu.c (usage): Likewise.
4043 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
4044 * util/i386/efi/grub-mkimage.c (usage): Likewise.
4045 * util/i386/pc/grub-mkimage.c (usage): Likewise.
4046 * util/i386/pc/grub-setup.c (usage): Likewise.
4047
4048 2010-01-16 Carles Pina i Estany <carles@pina.cat>
4049
4050 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
4051 the message.
4052 (grub_util_info): Likewise.
4053 (grub_util_error): Likewise.
4054 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
4055 and/or new lines in `grub_util_warna', `grub_util_info',
4056 `grub_util_error' calls.
4057 * util/getroot.c: Likewise.
4058 * util/grub-editenv.c: Likewise.
4059 * util/grub-emu.c: Likewise.
4060 * util/grub-fstest.c: Likewise.
4061 * util/grub-mkdevicemap.c: Likewise.
4062 * util/grub-mkfont.c: Likewise.
4063 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4064 * util/grub-mkrelpath.c: Likewise.
4065 * util/grub-pe2elf.c: Likewise.
4066 * util/grub-probe.c: Likewise.
4067 * util/hostdisk.c: Likewise.
4068 * util/i386/efi/grub-mkimage.c: Likewise.
4069 * util/i386/pc/grub-mkimage.c: Likewise.
4070 * util/i386/pc/grub-setup.c: Likewise.
4071 * util/ieee1275/ofpath.c: Likewise.
4072 * util/mkisofs/eltorito.c: Likewise.
4073 * util/mkisofs/rock.c: Likewise.
4074 * util/mkisofs/write.c: Likewise.
4075 * util/raid.c: Likewise.
4076 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
4077 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4078
4079 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4080
4081 Enable multiboot on non-pc.
4082
4083 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
4084 multiboot.mod and multiboot2.mod to ...
4085 * conf/i386.rmk (pkglib_MODULES): ... here.
4086 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
4087 Moved to ...
4088 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
4089 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
4090 Moved to ...
4091 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
4092 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
4093 Moved to ...
4094 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
4095 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
4096 Moved to ...
4097 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
4098 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
4099 relocator.mod.
4100 (ata_mod_SOURCES): Removed.
4101 (ata_mod_CFLAGS): Likewise.
4102 (ata_mod_LDFLAGS): Likewise.
4103 (relocator_mod_SOURCES): Removed.
4104 (relocator_mod_CFLAGS): Likewise.
4105 (relocator_mod_ASFLAGS): Likewise.
4106 (relocator_mod_LDFLAGS): Likewise.
4107 Include i386.mk.
4108 * include/grub/x86_64/multiboot.h: New file.
4109 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
4110 Terminate EFI.
4111
4112 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 Video multiboot support.
4115
4116 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
4117 New prototype.
4118 * include/multiboot.h: Resynced with multiboot specification.
4119 * include/multiboot2.h: Likewise.
4120 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
4121 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
4122 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
4123 (HAS_VGA_TEXT): Likewise.
4124 (accepts_video): New variable.
4125 (grub_multiboot_set_accepts_video): New function.
4126 (grub_multiboot_get_mbi_size): Account for video structures.
4127 (set_video_mode): New function.
4128 (retrieve_video_parameters): Likewise.
4129 (grub_multiboot_make_mbi): Fill video fields.
4130
4131 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4132
4133 Video driver ids.
4134
4135 * include/grub/video.h (grub_video_driver_id): New type.
4136 (grub_video_adapter): New member 'id'. All users updated.
4137 (grub_video_get_driver_id): New proto.
4138 * video/video.c (grub_video_get_driver_id): New function.
4139
4140 2010-01-14 Carles Pina i Estany <carles@pina.cat>
4141
4142 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
4143 `var=val'.
4144
4145 2010-01-14 Carles Pina i Estany <carles@pina.cat>
4146
4147 * normal/cmdline.c (print_completion): Gettextizze.
4148
4149 2001-01-14 Carles Pina i Estany <carles@pina.cat>
4150
4151 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
4152
4153 2010-01-14 Carles Pina i Estany <carles@pina.cat>
4154
4155 * gettext/gettext.c (grub_gettext_translate): Push and pop
4156 grub_errno.
4157 (grub_gettext_delete_list): Change comment style.
4158 * kern/err.c (grub_error): Gettextizze.
4159 (grub_fatal): Gettextizze.
4160
4161 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
4162
4163 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
4164 (grub_linux16_real_boot): ... this.
4165 * kern/i386/loader.S: Likewise.
4166 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
4167 (grub_linux16_boot): New function. Switches to text mode and calls
4168 grub_linux16_real_boot().
4169
4170 * loader/i386/bsd.c: Include `<grub/video.h>'.
4171 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
4172 text mode before calling grub_unix_real_boot().
4173
4174 * loader/i386/multiboot.c: Include `<grub/video.h>'.
4175 (grub_multiboot_boot): Switch to text mode before calling
4176 grub_relocator32_boot().
4177
4178 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
4179 (grub_chainloader_boot): Switch to text mode before calling
4180 grub_chainloader_real_boot().
4181
4182 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
4183 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
4184
4185 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
4186 non-empty value.
4187
4188 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
4189 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
4190
4191 * util/grub.d/00_header.in: Define a "savedefault" function for use
4192 in menu entries.
4193 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
4194
4195 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
4196 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
4197
4198 * util/grub-mkconfig_lib.in (save_default_entry): Only set
4199 saved_entry if boot_once is unset.
4200 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
4201 previous saved entry (i.e. grub-reboot).
4202
4203 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
4204
4205 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
4206
4207 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
4208
4209 * util/grub.d/00_header.in: Use `set var=val' rather than plain
4210 `var=val'.
4211 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
4212
4213 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
4214
4215 * util/grub-reboot.in: Fix --version output.
4216 * util/grub-set-default.in: Likewise.
4217
4218 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
4219
4220 * util/grub.d/00_header.in: Silently ignore zero-sized environment
4221 blocks.
4222
4223 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
4224
4225 * util/grub.d/00_header.in: Quote the value assigned to `default',
4226 in case it contains spaces.
4227
4228 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
4229
4230 * util/grub.d/30_os-prober.in: Fix merge error that moved a
4231 `save_default_entry' call from the macosx case to the linux case.
4232
4233 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4234 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
4235
4236 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
4237 in `chosen' environment variable.
4238 * normal/menu_text.c (get_entry_number): Check if the variable
4239 matches the title of a menu entry.
4240 (run_menu): Pass menu to get_entry_number.
4241
4242 * util/grub-reboot.in: New file.
4243 * util/grub-set-default.in: New file.
4244 * conf/common.rmk (grub-reboot): New utility.
4245 (grub-set-default): New utility.
4246
4247 * util/grub-mkconfig_lib.in (save_default_entry): New function.
4248 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
4249 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
4250 move it to `saved_entry' for the next boot. Load environment on
4251 initialisation.
4252 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
4253 * util/grub.d/10_hurd.in: Likewise.
4254 * util/grub.d/10_linux.in (linux_entry): Likewise.
4255 * util/grub.d/10_windows.in: Likewise.
4256 * util/grub.d/30_os-prober.in: Likewise.
4257
4258 * util/grub-install.in: Create environment block.
4259 * util/i386/efi/grub-install.in: Likewise.
4260 * util/ieee1275/grub-install.in: Likewise.
4261 * util/sparc64/ieee1275/grub-install.in: Likewise.
4262
4263 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
4264
4265 Unit testing framework for GRUB.
4266
4267 * Makefile.in: Test framework build rules for 'make check'.
4268 * conf/tests.rmk: Build rules for individual tests and framework.
4269
4270 * include/grub/test.h: Header file for whitebox tests.
4271 * tests/lib/functional_test.c: Framework support for whitebox
4272 functional tests.
4273 * tests/lib/test.c: Common whitebox testing code for unit and
4274 functional tests.
4275 * tests/lib/unit_test.c: Framework support for whitebox unit
4276 tests.
4277
4278 * tests/util/grub-shell-tester.in: Support utility for grub-script
4279 tests.
4280 * tests/util/grub-shell.in: Utility to execute grub-script
4281 commands in a Qemu instance.
4282
4283 * tests/example_functional_test.c: Example whitebox functional
4284 test.
4285 * tests/example_grub_script_test.in: Example grub-script test.
4286 * tests/example_scripted_test.in: Example scripted test.
4287 * tests/example_unit_test.c: Example whitebox unit test.
4288
4289 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4290
4291 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
4292 Add loader/i386/multiboot_mbi.c.
4293 (multiboot2_mod_SOURCES): Likewise.
4294 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
4295 (multiboot2_mod_SOURCES): Likewise.
4296 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
4297 (grub_multiboot_make_mbi): Likewise.
4298 (grub_multiboot_free_mbi): Likewise.
4299 (grub_multiboot_init_mbi): Likewise.
4300 (grub_multiboot_add_module): Likewise.
4301 (grub_multiboot_set_bootdev): Likewise.
4302 * loader/i386/multiboot.c (mbi): Removed.
4303 (mbi_dest): Likewise.
4304 (alloc_mbi): New variable.
4305 (grub_multiboot_payload_size): Removed. All users updated.
4306 (grub_multiboot_pure_size): New variable.
4307 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
4308 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
4309 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
4310 (grub_fill_multiboot_mmap): Likewise.
4311 (grub_multiboot_get_bootdev): Likewise.
4312 (grub_multiboot): Use multiboot_mbi functions.
4313 * loader/i386/multiboot_mbi.c: New file.
4314
4315 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
4318 it would result in module crash.
4319
4320 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4321
4322 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
4323 (grub_ofconsole_getwh): Split to ...
4324 (grub_ofconsole_getwh): ... this.
4325 (grub_ofconsole_dimensions): ...and this.
4326 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
4327
4328 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
4329
4330 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
4331
4332 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4333
4334 * loader/i386/pc/multiboot2.c: Removed stalled file.
4335
4336 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
4339 Reported by: Grégoire Sutre
4340
4341 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
4342
4343 * util/misc.c (canonicalize_file_name): New function.
4344 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
4345 instead of realpath().
4346
4347 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
4348
4349 * util/grub-install.in (usage): Clarify meaning of --root-directory,
4350 and make it clearer that it's optional. Based on confusion
4351 witnessed on IRC.
4352
4353 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4354
4355 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
4356 in premature implicit newline.
4357
4358 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4359
4360 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4361 which resulted in garbled command line at the end of screen.
4362
4363 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
4364
4365 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
4366 initialization with similar approach as with other Linux loaders.
4367
4368 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
4369
4370 Fix i386-ieee1275 build.
4371
4372 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
4373 and grub_term_height() for video_{width,height} initialization.
4374
4375 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
4376
4377 Fix grub-emu build.
4378
4379 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
4380
4381 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4382 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
4383
4384 Support for multiple terminals.
4385
4386 * Makefile.in (pkglib_DATA): terminal.lst.
4387 (terminal.lst): New target.
4388 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
4389 (GRUB_MOD_INIT(handler)): Likewise.
4390 (GRUB_MOD_FINI(handler)): Likewise.
4391 * commands/help.c (grub_cmd_help): Handle multiple terminals.
4392 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
4393 * commands/sleep.c (do_print): Use grub_term_restore_pos.
4394 (grub_cmd_sleep): Use grub_term_save_pos.
4395 * commands/terminal.c: New file.
4396 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
4397 commands/terminal.c and lib/charset.c.
4398 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
4399 (pkglib_MODULES): Add terminal.mod.
4400 (terminal_mod_SOURCES): New variable.
4401 (terminal_mod_CFLAGS): Likewise.
4402 (terminal_mod_LDFLAGS): Likewise.
4403 * genhandlerlist.sh: Don't handle terminals.
4404 * genmk.rb: Generate terminal-*.lst.
4405 * genterminallist.sh: New file.
4406 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
4407 (grub_is_valid_utf8): Likewise.
4408 (grub_utf8_to_ucs4_alloc): Likewise.
4409 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
4410 (grub_menu_register_viewer): Changed argument.
4411 (grub_menu_try_text): New proto.
4412 (grub_gfxmenu_try_hook): New declaration.
4413 * include/grub/normal.h (grub_normal_exit_level): New declaration.
4414 (grub_menu_init_page): Additional argument term.
4415 (grub_normal_init_page): Likewise.
4416 (grub_cmdline_get): Arguments simplified.
4417 (grub_utf8_to_ucs4_alloc): Removed.
4418 (grub_print_ucs4): Additional argument term.
4419 (grub_getstringwidth): Likewise.
4420 (grub_print_message_indented): Likewise.
4421 (grub_menu_text_register_instances): New proto.
4422 (grub_show_menu): Likewise.
4423 (read_terminal_list): Likewise.
4424 (grub_set_more): Likewise.
4425 * include/grub/parser.h: Include handler.h.
4426 * include/grub/reader.h: Rewritten.
4427 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
4428 (GRUB_TERM_WIDTH): Changed to function.
4429 (GRUB_TERM_HEIGHT): Likewise.
4430 (GRUB_TERM_BORDER_WIDTH): Likewise.
4431 (GRUB_TERM_BORDER_HEIGHT): Likewise.
4432 (GRUB_TERM_NUM_ENTRIES): Likewise.
4433 (GRUB_TERM_ENTRY_WIDTH): Likewise.
4434 (GRUB_TERM_CURSOR_X): Likewise.
4435 (grub_term_input_class): Likewise.
4436 (grub_term_output_class): Likewise.
4437 (grub_term_outputs_disabled): New declaration.
4438 (grub_term_inputs_disabled): Likewise.
4439 (grub_term_outputs): Likewise.
4440 (grub_term_inputs): Likewise.
4441 (grub_term_register_input): Rewritten.
4442 (grub_term_register_output): Likewise.
4443 (grub_term_unregister_input): Likewise.
4444 (grub_term_unregister_output): Likewise.
4445 (FOR_ACTIVE_TERM_INPUTS): New macro.
4446 (FOR_DISABLED_TERM_INPUTS): Likewise.
4447 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
4448 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
4449 * include/grub/terminfo.h: Add oterm argument to all protypes.
4450 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
4451 Use grub_rescue_run.
4452 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
4453 All users updated.
4454 * kern/reader.c: Removed. All users updated.
4455 * kern/rescue_reader.c (grub_rescue_init): Removed.
4456 (grub_rescue_reader): Likewise.
4457 (grub_register_rescue_reader): Likewise.
4458 (grub_rescue_run): New function based on kern/reader.c.
4459 * kern/term.c: Adapted for multiterm.
4460 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
4461 (grub_is_valid_utf8): Likewise.
4462 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
4463 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
4464 right terminal.
4465 * loader/i386/linux.c (grub_linux_boot): Likewise.
4466 * normal/auth.c (grub_username_get): New function.
4467 (grub_auth_check_authentication): Use grub_username_get.
4468 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
4469 * normal/color.c: Adapt for multiterm.
4470 * normal/main.c (read_config_file): Don't use grub_reader_loop.
4471 (grub_normal_init_page): Additional argument term.
4472 (read_lists): Call read_terminal_lists.
4473 (grub_enter_normal_mode): Call grub_cmdline_run.
4474 Handle grub_normal_exit_level.
4475 (grub_cmd_normal): Make reentrant.
4476 (grub_cmd_normal_exit): New function.
4477 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
4478 * normal/menu.c: Adapt for multiterm.
4479 * normal/menu_entry.c: Likewise.
4480 * normal/menu_text.c: Likewise.
4481 * normal/menu_viewer.c: Removed. All users updated.
4482 * normal/term.c: New file.
4483 * util/console.c: Change order of includes to workaround a bug in
4484 ncurses headers.
4485 * term/terminfo.c: New argument oterm on all exported functions.
4486 All users updated.
4487 * util/grub-editenv.c (grub_term_input_class): Removed.
4488 (grub_term_output_class): Likewise.
4489
4490 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
4491
4492 Make loader output a bit more user-friendly.
4493
4494 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
4495 is being loaded. Likewise for the Hurd.
4496
4497 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
4498 that kernel of FreeBSD ${version} is being loaded.
4499
4500 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
4501 grub_dprintf().
4502 (grub_cmd_initrd): Likewise.
4503 * util/grub.d/10_linux.in (linux_entry): Print message indicating
4504 that Linux ${version} is being loaded. Likewise for initrd.
4505
4506 2010-01-09 Carles Pina i Estany <carles@pina.cat>
4507
4508 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
4509
4510 2010-01-08 Carles Pina i Estany <carles@pina.cat>
4511
4512 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
4513 (GRUB_MOD_INIT): Gettextizze.
4514 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
4515 (GRUB_MOD_INIT): Gettextizze.
4516 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
4517 (grub_cmd_linux): Capitalise Linux.
4518 (GRUB_MOD_INIT): Gettextizze.
4519 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
4520 (grub_cmd_linux): Capitalise Linux.
4521 (GRUB_MOD_INIT): Gettextizze.
4522 * loader/i386/linux.c: Include `<grub/i18n.h>'.
4523 (grub_cmd_linux): Capitalise Linux.
4524 (GRUB_MOD_INIT): Gettextizze.
4525 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
4526 (GRUB_MOD_INIT): Gettextizze.
4527 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
4528 (grub_cmd_linux): Capitalise Linux.
4529 (GRUB_MOD_INIT): Gettextizze.
4530 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
4531 (grub_cpu_xnu_init): Gettextizze.
4532 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
4533 (GRUB_MOD_INIT): Gettextizze.
4534 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
4535 (GRUB_MOD_INIT): Gettextizze.
4536 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
4537 (grub_linux_load64): Capitalise Linux.
4538 (GRUB_MOD_INIT): Gettextizze.
4539 * loader/xnu.c: Include `<grub/i18n.h>'.
4540 (GRUB_MOD_INIT): Gettextizze.
4541 * po/POTFILES: Add `loader/efi/appleloader.c',
4542 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
4543 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
4544 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
4545 `loader/i386/xnu.c', `loader/multiboot_loader.c',
4546 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
4547 and `loader/xnu.c'.
4548
4549 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
4550
4551 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
4552
4553 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
4554
4555 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
4556 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
4557 * util/mkisofs/mkisofs.c (main): Readjust --version output.
4558
4559 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4560
4561 Reset Multiboot 2 support. New loader implements the draft in
4562 /branches/multiboot2 and shares as much code as possible with the
4563 production Multiboot 1 implementation.
4564
4565 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
4566 * loader/multiboot2.c: Likewise.
4567 * loader/i386/multiboot_helper.S: Likewise.
4568 * include/multiboot2.h: Replace with latest version from the draft
4569 in /branches/multiboot2.
4570
4571 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
4572 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
4573 and `loader/multiboot2.c'.
4574 (pkglib_MODULES): Add `multiboot2.mod'.
4575 (multiboot2_mod_SOURCES): New variable.
4576 (multiboot2_mod_LDFLAGS): Likewise.
4577 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
4578
4579 * conf/i386-pc.rmk: Likewise.
4580
4581 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
4582 (multiboot_mod_SOURCES): Remove variable.
4583 (multiboot_mod_LDFLAGS): Likewise.
4584 (multiboot_mod_CFLAGS): Likewise.
4585
4586 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
4587 `<multiboot2.h>' instead of `<multiboot.h>'.
4588 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
4589 (MULTIBOOT_HEADER_MAGIC): New macros.
4590
4591 * loader/multiboot_loader.c (module_version_status): Remove variable.
4592 (find_multi_boot2_header): Remove function.
4593 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
4594 logic. Always check for the Multiboot version we're compiling for.
4595 (grub_cmd_module_loader): Likewise.
4596 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
4597 command instead of `multiboot'.
4598
4599 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4600
4601 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
4602 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
4603 all users.
4604
4605 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4606 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 Fix breakage introduced with previous commit.
4609
4610 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
4611 commands.
4612 * normal/handler.c (read_handler_list): Revert part of previous commit
4613 affecting this file.
4614 * normal/main.c (read_lists): Move read_handler_list() call back to ...
4615 (grub_normal_execute): ... here.
4616
4617 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4618
4619 Merge prefix-redefinition-fix branch.
4620
4621 * normal/autofs.c (read_fs_list): Make function capable of being
4622 run multiple times, gracefuly replacing the previous data
4623 structures.
4624 * normal/dyncmd.c (read_command_list): Likewise.
4625 * normal/handler.c (read_handler_list): Likewise.
4626 * normal/main.c (read_lists): New function. Calls all the
4627 list reading functions.
4628 (grub_normal_execute): Use read_lists() instead of calling all
4629 list reading functions explicitly. Register read_lists() as a
4630 variable hook attached to ${prefix}.
4631
4632 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 Merge crypto branch.
4635
4636 * Makefile.in (pkglib_DATA): Add crypto.lst.
4637 (crypto.lst): New target.
4638 * commands/hashsum.c: New file.
4639 * commands/password.c (check_password): Use grub_crypto_memcmp.
4640 * commands/password_pbkdf2.c: New file.
4641 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
4642 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
4643 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
4644 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
4645 -I$(srcdir)/lib/libgcrypt_wrap.
4646 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
4647 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
4648 password_pbkdf2.mod.
4649 (crypto_mod_SOURCES): New variable.
4650 (crypto_mod_CFLAGS): Likewise.
4651 (crypto_mod_LDFLAGS): Likewise.
4652 (hashsum_mod_SOURCES): New variable.
4653 (hashsum_mod_CFLAGS): Likewise.
4654 (hashsum_mod_LDFLAGS): Likewise.
4655 (pbkdf2_mod_SOURCES): New variable.
4656 (pbkdf2_mod_CFLAGS): Likewise.
4657 (pbkdf2_mod_LDFLAGS): Likewise.
4658 (password_pbkdf2_mod_SOURCES): New variable.
4659 (password_pbkdf2_mod_CFLAGS): Likewise.
4660 (password_pbkdf2_mod_LDFLAGS): Likewise.
4661 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
4662 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
4663 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
4664 Include conf/gcry.rmk.
4665 * include/grub/auth.h: Rewritten.
4666 * include/grub/crypto.h: New file.
4667 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
4668 * include/grub/normal.h (read_crypto_list): New prototype.
4669 * lib/crypto.c: New file.
4670 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
4671 * lib/pbkdf2.c: Likewise.
4672 * normal/auth.c (grub_auth_strcmp): Removed.
4673 (grub_iswordseparator): Likewise.
4674 (grub_auth_strword): Likewise.
4675 (is_authenticated): Use grub_strword.
4676 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
4677 and grub_strword. Pass entered password to authentication callback.
4678 * normal/crypto.c: New file.
4679 * normal/main.c: Call read_crypto_list.
4680 * util/grub-mkpasswd-pbkdf2.c: New file.
4681 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
4682
4683 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 Fix descent and ascent calculation.
4686
4687 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
4688 (options): New option "asce".
4689 (usage): Likewise.
4690 (add_char): Ignore invalid glyphs for descent calculation.
4691 Calculate ascent from actual content.
4692 (print_glyphs): Use 'asce'.
4693 (write_font): Likewise. Allow ascent override.
4694 (main): Handle "asce" option.
4695
4696 2010-01-06 Carles Pina i Estany <carles@pina.cat>
4697
4698 * kern/err.c: Include `<grub/i18n.h>'.
4699 (grub_print_error): Add full stop. Gettextizze.
4700 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
4701 (grub_bsd_load_elf): Capitalise ELF.
4702 (grub_cmd_freebsd_loadenv): Add `s' in error string.
4703 (grub_cmd_freebsd_module): Likewise.
4704 (grub_cmd_freebsd_module_elf): Likewise.
4705 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
4706
4707 2010-01-06 Carles Pina i Estany <carles@pina.cat>
4708
4709 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
4710 * commands/search_file.c (HELP_MESSAGE): New macro.
4711 * commands/search_label.c (HELP_MESSAGE): Likewise.
4712 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
4713 * po/POTFILES: Add `commands/search_file.c',
4714 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
4715 `commands/search.c'.
4716
4717 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
4718
4719 * config.rpath: Update from Gnulib.
4720
4721 2010-01-05 Yves Blusseau <blusseau@zetam.org>
4722
4723 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
4724
4725 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
4726
4727 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
4728
4729 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
4730
4731 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
4732 arguments to fread so that we get a return value in bytes, rather
4733 than something that will normally be rounded down to 0.
4734 Adjust error handling to avoid producing garbage when size_t is not
4735 the same size as long long.
4736
4737 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
4738
4739 * util/mkisofs/write.c (padblock_write): Check return value of
4740 fread.
4741
4742 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
4743
4744 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
4745 floppy images now.
4746
4747 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
4748
4749 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
4750
4751 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
4752 instead of manual alignment.
4753 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
4754 verbose). Avoid attempts to read past end of the device
4755 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
4756 but GRUB_DISK_CACHE_SIZE may exceed that).
4757
4758 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
4759
4760 * commands/crc.c (grub_cmd_crc): Abort on read errors.
4761 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
4762 it to upper layer.
4763
4764 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
4767 New constant.
4768 (grub_efi_piwg_device_path): New structure
4769 (grub_efi_piwg_device_path_t): New type.
4770 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
4771 (devpath_1): Transform to a structure. All users updated.
4772 (devpath_2): Likewise.
4773 (devpath_3): Likewise.
4774 (devpath_4): Likewise.
4775 (devpath_5): Likewise.
4776
4777 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 * loader/efi/appleloader.c: Restored. Update all users.
4780
4781 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
4782
4783 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
4784
4785 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
4786 (struct boot_blocklist): Move from here ...
4787 * include/grub/i386/pc/boot.h [ASM_FILE]
4788 (struct grub_boot_blocklist): ... to here. Update all users.
4789 (setup): Only initialize `start' member of `first_block'
4790 structure. Add assert() calls to verify the other members.
4791
4792 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
4793 (generate_image): Fix broken blocklist length initialization.
4794 Add assert() call to verify blocklist `segment' field.
4795
4796 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
4797
4798 * loader/efi/appleloader.c: Remove. Update all users.
4799
4800 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
4801
4802 * boot/i386/pc/boot.S: Update copyright year.
4803 * boot/i386/pc/cdboot.S: Likewise.
4804 * boot/i386/pc/diskboot.S: Likewise.
4805 * boot/i386/pc/lnxboot.S: Likewise.
4806 * boot/i386/pc/pxeboot.S: Likewise.
4807 * bus/pci.c: Likewise.
4808 * commands/cmp.c: Likewise.
4809 * commands/help.c: Likewise.
4810 * commands/hexdump.c: Likewise.
4811 * commands/i386/pc/halt.c: Likewise.
4812 * commands/i386/pc/play.c: Likewise.
4813 * commands/i386/pc/vbeinfo.c: Likewise.
4814 * commands/ls.c: Likewise.
4815 * commands/test.c: Likewise.
4816 * disk/dmraid_nvidia.c: Likewise.
4817 * disk/i386/pc/biosdisk.c: Likewise.
4818 * disk/ieee1275/nand.c: Likewise.
4819 * disk/ieee1275/ofdisk.c: Likewise.
4820 * disk/lvm.c: Likewise.
4821 * disk/raid.c: Likewise.
4822 * disk/raid6_recover.c: Likewise.
4823 * disk/scsi.c: Likewise.
4824 * fs/affs.c: Likewise.
4825 * fs/cpio.c: Likewise.
4826 * fs/ext2.c: Likewise.
4827 * fs/hfs.c: Likewise.
4828 * fs/iso9660.c: Likewise.
4829 * fs/ntfs.c: Likewise.
4830 * fs/sfs.c: Likewise.
4831 * fs/udf.c: Likewise.
4832 * fs/ufs.c: Likewise.
4833 * fs/xfs.c: Likewise.
4834 * gencmdlist.sh: Likewise.
4835 * genmk.rb: Likewise.
4836 * include/grub/disk.h: Likewise.
4837 * include/grub/efi/api.h: Likewise.
4838 * include/grub/efi/efi.h: Likewise.
4839 * include/grub/efi/pe32.h: Likewise.
4840 * include/grub/elf.h: Likewise.
4841 * include/grub/fs.h: Likewise.
4842 * include/grub/i386/at_keyboard.h: Likewise.
4843 * include/grub/i386/pc/memory.h: Likewise.
4844 * include/grub/i386/pc/vbe.h: Likewise.
4845 * include/grub/i386/pci.h: Likewise.
4846 * include/grub/i386/tsc.h: Likewise.
4847 * include/grub/ieee1275/ieee1275.h: Likewise.
4848 * include/grub/ntfs.h: Likewise.
4849 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
4850 * include/grub/sparc64/libgcc.h: Likewise.
4851 * include/grub/symbol.h: Likewise.
4852 * include/grub/types.h: Likewise.
4853 * include/multiboot2.h: Likewise.
4854 * io/gzio.c: Likewise.
4855 * kern/device.c: Likewise.
4856 * kern/disk.c: Likewise.
4857 * kern/efi/efi.c: Likewise.
4858 * kern/efi/mm.c: Likewise.
4859 * kern/elf.c: Likewise.
4860 * kern/file.c: Likewise.
4861 * kern/i386/dl.c: Likewise.
4862 * kern/i386/pc/init.c: Likewise.
4863 * kern/i386/pc/startup.S: Likewise.
4864 * kern/ieee1275/ieee1275.c: Likewise.
4865 * kern/ieee1275/init.c: Likewise.
4866 * kern/main.c: Likewise.
4867 * kern/mm.c: Likewise.
4868 * kern/powerpc/dl.c: Likewise.
4869 * kern/sparc64/dl.c: Likewise.
4870 * kern/x86_64/dl.c: Likewise.
4871 * lib/hexdump.c: Likewise.
4872 * loader/efi/appleloader.c: Likewise.
4873 * loader/i386/ieee1275/linux.c: Likewise.
4874 * loader/i386/pc/chainloader.c: Likewise.
4875 * loader/i386/pc/linux.c: Likewise.
4876 * loader/i386/pc/multiboot2.c: Likewise.
4877 * loader/ieee1275/multiboot2.c: Likewise.
4878 * loader/multiboot2.c: Likewise.
4879 * loader/multiboot_loader.c: Likewise.
4880 * loader/powerpc/ieee1275/linux.c: Likewise.
4881 * normal/completion.c: Likewise.
4882 * normal/menu_entry.c: Likewise.
4883 * partmap/apple.c: Likewise.
4884 * util/grub.d/10_hurd.in: Likewise.
4885 * util/hostfs.c: Likewise.
4886 * video/readers/png.c: Likewise.
4887
4888 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
4889
4890 * include/grub/misc.h (GNUC_PREREQ): New macro.
4891 (ATTRIBUTE_ERROR): New macro.
4892 * include/grub/list.h (grub_bad_type_cast_real): Use
4893 ATTRIBUTE_ERROR.
4894
4895 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4896
4897 * normal/menu_text.c (print_message): Change messages.
4898
4899 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4900
4901 * normal/menu_entry.c (store_completion): Gettextizze.
4902
4903 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4904
4905 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
4906
4907 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4908
4909 * po/POTFILES: Sort correctly.
4910
4911 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4912
4913 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
4914 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
4915 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
4916 full stop.
4917 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
4918 summary. Gettextizze the strings.
4919 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
4920 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
4921 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
4922 full stop.
4923 (GRUB_MOD_INIT): Remove command name from summary.
4924 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
4925 summary.
4926 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
4927 * term/i386/pc/serial.c (options): Add full stops.
4928 (GRUB_MOD_INIT): Remove command name from the summary.
4929
4930 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4931
4932 * commands/acpi.c: Gettextizze help strings and/or options. Include
4933 `grub/i18n.h' if needed.
4934 * commands/blocklist.c: Likewise.
4935 * commands/boot.c: Likewise.
4936 * commands/cat.c: Likewise.
4937 * commands/cmp.c: Likewise.
4938 * commands/configfile.c: Likewise.
4939 * commands/crc.c: Likewise.
4940 * commands/date.c: Likewise.
4941 * commands/echo.c: Likewise.
4942 * commands/efi/fixvideo.c: Likewise.
4943 * commands/efi/loadbios.c: Likewise.
4944 * commands/gptsync.c: Likewise.
4945 * commands/halt.c: Likewise.
4946 * commands/handler.c: Likewise.
4947 * commands/hdparm.c: Likewise.
4948 * commands/hexdump.c: Likewise.
4949 * commands/i386/cpuid.c: Likewise.
4950 * commands/i386/pc/drivemap.c: Likewise.
4951 * commands/i386/pc/halt.c: Likewise.
4952 * commands/i386/pc/pxecmd.c: Likewise.
4953 * commands/i386/pc/vbeinfo.c: Likewise.
4954 * commands/i386/pc/vbetest.c: Likewise.
4955 * commands/ieee1275/suspend.c: Likewise.
4956 * commands/keystatus.c: Likewise.
4957 * commands/loadenv.c: Likewise.
4958 * commands/ls.c: Likewise.
4959 * commands/lsmmap.c: Likewise.
4960 * commands/lspci.c: Likewise.
4961 * commands/memrw.c: Likewise.
4962 * commands/minicmd.c: Likewise.
4963 * commands/parttool.c: Likewise.
4964 * commands/password.c: Likewise.
4965 * commands/probe.c: Likewise.
4966 * commands/read.c: Likewise.
4967 * commands/reboot.c: Likewise.
4968 * commands/search.c: Likewise.
4969 * commands/sleep.c: Likewise.
4970 * commands/test.c: Likewise.
4971 * commands/true.c: Likewise.
4972 * commands/usbtest.c: Likewise.
4973 * commands/videotest.c: Likewise.
4974 * commands/xnu_uuid.c: Likewise.
4975 * disk/loopback.c: Likewise.
4976 * hello/hello.c: Likewise.
4977 * loader/i386/bsd.c: Likewise.
4978 * term/i386/pc/serial.c: Likewise.
4979 * po/POTFILES: Add new files.
4980
4981 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
4982
4983 * term/i386/pc/at_keyboard.c
4984 (keyboard_controller_wait_untill_ready): Rename to ...
4985 (keyboard_controller_wait_until_ready): ... this. Update all users.
4986
4987 2010-01-01 Carles Pina i Estany <carles@pina.cat>
4988
4989 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
4990 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
4991 string using string width.
4992 * normal/menu_text.c (grub_print_message_indented): Use
4993 grub_print_spaces and not print_spaces.
4994 (print_timeout): Likewise.
4995 (print_spaces): Move to...
4996 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
4997
4998 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
4999
5000 Import from Gnulib.
5001
5002 * gnulib/getdelim.c: New file.
5003 * gnulib/getline.c: Likewise.
5004
5005 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
5006
5007 * include/grub/list.h (grub_assert_fail): Removed.
5008 (grub_bad_type_cast_real): New function.
5009 (grub_bad_type_cast): New macro.
5010 (GRUB_AS_LIST): Use grub_bad_type_cast.
5011 (GRUB_AS_LIST_P): Likewise.
5012 (GRUB_AS_NAMED_LIST): Likewise.
5013 (GRUB_AS_NAMED_LIST_P): Likewise.
5014 (GRUB_AS_PRIO_LIST): Likewise.
5015 (GRUB_AS_PRIO_LIST_P): Likewise.
5016 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
5017
5018 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
5021 Fix syntax error.
5022
5023 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
5024
5025 * configure.ac: Check for TARGET_CFLAGS initialization before we
5026 initialize it ourselves (sigh).
5027 Move a few modifications to TARGET_CFLAGS to be unconditional
5028 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
5029 eh_frame)
5030
5031 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
5032 * term/i386/pc/at_keyboard.c
5033 (keyboard_controller_wait_untill_ready): Likewise.
5034 (keyboard_controller_led): Rename `led_status' paramter to avoid
5035 name conflict.
5036
5037 2009-12-28 Carles Pina i Estany <carles@pina.cat>
5038
5039 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
5040 quotes.
5041
5042 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
5045
5046 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 * normal/menu_text.c (grub_print_message_indented): Prevent
5049 past-the-end-of-array dereference.
5050
5051 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5052
5053 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
5054 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
5055
5056 2009-12-27 Carles Pina i Estany <carles@pina.cat>
5057
5058 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
5059 * normal/main.c (grub_normal_read_line): Remove a space from the
5060 default prompt.
5061
5062 2009-12-27 Carles Pina i Estany <carles@pina.cat>
5063
5064 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
5065 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5066 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
5067 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
5068 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5069 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5070 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
5071
5072 2009-12-26 Carles Pina i Estany <carles@pina.cat>
5073
5074 * video/readers/jpeg.c (cmd): Declare.
5075 (grub_cmd_jpegtest): Use `grub_command_t' type.
5076 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5077 Assign to `cmd'.
5078 (GRUB_MOD_FINI): Use `cmd' to unregister.
5079 * video/readers/png.c (cmd): Declare.
5080 (grub_cmd_pngtest): Use `grub_command_t' type.
5081 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5082 Assign to `cmd'.
5083 (GRUB_MOD_FINI): Use `cmd' to unregister.
5084 * video/readers/tga.c (cmd): Declare.
5085 (grub_cmd_tgatest): Use `grub_command_t' type.
5086 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5087 Assign to `cmd'.
5088 (GRUB_MOD_FINI): Use `cmd' to unregister.
5089
5090 2009-12-26 Carles Pina i Estany <carles@pina.cat>
5091
5092 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
5093 stops.
5094 * kern/corecmd.c (grub_register_core_commands): Likewise.
5095 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
5096 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
5097 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
5098 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5099 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
5100 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
5101 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
5102 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
5103 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5104 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5105 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
5106 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
5107 * normal/handler.c (insert_handler): Likewise.
5108 * normal/main.c (GRUB_MOD_INIT): Likewise.
5109 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
5110
5111 2009-12-26 Carles Pina i Estany <carles@pina.cat>
5112
5113 * commands/help.c (grub_cmd_help): Print the command name before the
5114 summary.
5115 (GRUB_MOD_INIT): Remove command name from the summary.
5116 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
5117 string as summary.
5118 * lib/arg.c (find_long): Print the command name before the summary.
5119 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
5120 summary.
5121 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
5122 * commands/cat.c (GRUB_MOD_INIT): Likewise.
5123 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
5124 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
5125 * commands/crc.c (GRUB_MOD_INIT): Likewise.
5126 * commands/date.c (GRUB_MOD_INIT): Likewise.
5127 * commands/echo.c (GRUB_MOD_INIT): Likewise.
5128 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
5129 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
5130 * commands/handler.c (GRUB_MOD_INIT): Likewise.
5131 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
5132 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
5133 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
5134 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
5135 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
5136 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
5137 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
5138 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
5139 * commands/ls.c (GRUB_MOD_INIT): Likewise.
5140 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
5141 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
5142 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
5143 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
5144 * commands/password.c (GRUB_MOD_INIT): Likewise.
5145 * commands/probe.c (GRUB_MOD_INIT): Likewise.
5146 * commands/read.c (GRUB_MOD_INIT): Likewise.
5147 * commands/search.c (GRUB_MOD_INIT): Likewise.
5148 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
5149 * commands/test.c (GRUB_MOD_INIT): Likewise.
5150 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
5151 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
5152 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
5153 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
5154 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
5155 * lib/arg.c (GRUB_MOD_INIT): Likewise.
5156 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
5157 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
5158 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
5159 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
5160 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
5161 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
5162 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
5163 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
5164
5165 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5166
5167 Use search command for preliminar UUID search.
5168
5169 * commands/search.c: Split into ...
5170 * commands/search_wrap.c: ...this
5171 * commands/search.c: ...and this.
5172 * commands/search_file.c: New file.
5173 * commands/search_label.c: New file.
5174 * commands/search_uuid.c: New file.
5175 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
5176 Add commands/search_wrap.c, commands/search_file.c,
5177 commands/search_label.c and commands/search_uuid.c.
5178 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
5179 (search_mod_SOURCES): Set to commands/search_wrap.c.
5180 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
5181 search_label.mod.
5182 (search_fs_file_mod_SOURCES): New variable.
5183 (search_fs_file_mod_CFLAGS): Likewise.
5184 (search_fs_file_mod_LDFLAGS): Likewise.
5185 (search_label_mod_SOURCES): Likewise.
5186 (search_label_mod_CFLAGS): Likewise.
5187 (search_label_mod_LDFLAGS): Likewise.
5188 (search_fs_uuid_mod_SOURCES): New variable.
5189 (search_fs_uuid_mod_CFLAGS): Likewise.
5190 (search_fs_uuid_mod_LDFLAGS): Likewise.
5191 (fs_file_mod_SOURCES): Removed.
5192 (fs_file_mod_CFLAGS): Likewise.
5193 (fs_file_mod_LDFLAGS): Likewise.
5194 (fs_uuid_mod_SOURCES): Removed.
5195 (fs_uuid_mod_CFLAGS): Likewise.
5196 (fs_uuid_mod_LDFLAGS): Likewise.
5197 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
5198 Set to util/grub-install.in.
5199 * disk/fs_file.c: Removed.
5200 * disk/fs_uuid.c: Likewise.
5201 * include/grub/search.h: New file.
5202 * util/grub-install.in: Handle sparc64.
5203 Create and use load.cfg.
5204 * util/sparc64/ieee1275/grub-install.in: Removed.
5205
5206 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5207
5208 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
5209 Ignore return status if CF is cleared.
5210 (grub_biosdisk_get_diskinfo_standard): Likewise.
5211
5212 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
5213
5214 * term/i386/pc/at_keyboard.c
5215 (keyboard_controller_wait_untill_ready): New function.
5216 (grub_keyboard_controller_write, grub_keyboard_controller_read)
5217 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
5218 for keyboard polling, rather than duplicate the same loop. This
5219 saves a few bytes in code size.
5220
5221 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5222
5223 Support for (pxe[:server[:gateway]]) syntax and
5224 use environment variable for PXE.
5225
5226 * commands/i386/pc/pxecmd.c (options): Removed.
5227 (print_ip): Removed.
5228 (grub_cmd_pxe): Removed
5229 (grub_cmd_pxe_unload): New function.
5230 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
5231 (grub_pxe_your_ip): Made static.
5232 (grub_pxe_default_server_ip): Likewise.
5233 (grub_pxe_default_gateway_ip): Likewise.
5234 (grub_pxe_blksize): Likewise.
5235 (parse_ip): New function.
5236 (grub_pxe_open): Support server and gateway specification.
5237 (grub_pxe_close): Free disk->data.
5238 (grub_pxefs_open): Use disk->data.
5239 (grub_pxefs_read): Likewise.
5240 (grub_env_write_readonly): New function.
5241 (set_mac_env): Likewise.
5242 (set_env_limn_ro): Likewise.
5243 (parse_dhcp_vendor): Likewise.
5244 (grub_pxe_detect): Set the environment variables.
5245 (set_ip_env): New function.
5246 (write_ip_env): Likewise.
5247 (grub_env_write_pxe_default_server): Likewise.
5248 (grub_env_write_pxe_default_gateway): Likewise.
5249 (grub_env_write_pxe_blocksize): Likewise.
5250 (GRUB_MOD_INIT(pxe)): Set environment variables.
5251 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
5252 (grub_pxe_mac_addr_t): ... this. All users updated.
5253 (grub_pxe_your_ip): Removed.
5254 (grub_pxe_server_ip): Likewise.
5255 (grub_pxe_gateway_ip): Likewise.
5256 (grub_pxe_blksize): Likewise.
5257
5258 2009-12-25 Carles Pina i Estany <carles@pina.cat>
5259
5260 * commands/help.c: Include `<grub/i18n.h>'.
5261 (grub_cmd_help): Gettextizze.
5262 (GRUB_MOD_INIT): Likewise.
5263 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
5264 (GRUB_MOD_INIT): Gettextizze.
5265 * commands/search.c: Include `<grub/i18n.h>'.
5266 (options): Gettextizze.
5267 (GRUB_MOD_INIT): Gettextizze.
5268 * lib/arg.c: Include `<grub/i18n.h>'.
5269 (help_options): Gettextizze.
5270 (find_long): Likewise.
5271 (grub_arg_show_help): Likewise.
5272 * normal/dyncmd.c: Include `<grub/i18n.h>'.
5273 (read_command_list): Gettextizze.
5274 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
5275 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
5276
5277 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
5278
5279 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
5280 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
5281 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
5282 (led_status): New variable.
5283 (keyboard_controller_led): New function.
5284 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
5285 update led status for caps lock, num lock and scroll lock.
5286
5287 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
5288
5289 * util/hostdisk.c (open_device): Fix a comment.
5290
5291 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5292
5293 * util/grub-install.in (host_os): New variable.
5294 * util/i386/efi/grub-install.in (host_os): Likewise.
5295
5296 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5297
5298 * util/mkisofs/write.c (padblock_write): Abort when given an
5299 excedingly large embed image, instead of silently truncating it.
5300
5301 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5302
5303 * include/multiboot.h: Indentation fixes.
5304
5305 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5306
5307 * include/multiboot.h (struct multiboot_aout_symbol_table)
5308 (struct multiboot_elf_section_header_table): New structure
5309 declarations (stolen from GRUB Legacy).
5310 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
5311 table information.
5312
5313 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
5314 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
5315 type aliases.
5316
5317 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5318
5319 * include/multiboot.h: Make comments src2texi-friendly.
5320
5321 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5322
5323 For consistency with [multiboot]/docs/boot.S.
5324
5325 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
5326 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
5327 (MULTIBOOT_MAGIC2): Rename from this ...
5328 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
5329
5330 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5331
5332 * include/multiboot.h: Remove `<grub/types.h>'.
5333 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
5334 types. Update all users.
5335
5336 2009-12-25 Carles Pina i Estany <carles@pina.cat>
5337
5338 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
5339 `couldn't' and `can not' by `cannot'.
5340 * commands/i386/pc/drivemap.c: Likewise.
5341 * disk/ata.c: Likewise.
5342 * disk/ieee1275/nand.c: Likewise.
5343 * fs/affs.c: Likewise.
5344 * fs/fat.c: Likewise.
5345 * fs/hfs.c: Likewise.
5346 * fs/hfsplus.c: Likewise.
5347 * fs/iso9660.c: Likewise.
5348 * fs/jfs.c: Likewise.
5349 * fs/minix.c: Likewise.
5350 * fs/reiserfs.c: Likewise.
5351 * fs/sfs.c: Likewise.
5352 * fs/udf.c: Likewise.
5353 * fs/ufs.c: Likewise.
5354 * fs/xfs.c: Likewise.
5355 * loader/powerpc/ieee1275/linux.c: Likewise.
5356 * loader/sparc64/ieee1275/linux.c: Likewise.
5357 * util/grub-probe.c: Likewise.
5358 * util/misc.c: Likewise.
5359
5360 2009-12-24 Carles Pina i Estany <carles@pina.cat>
5361
5362 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
5363 grub_errno calls.
5364 * commands/acpi.c: Likewise.
5365 * commands/blocklist.c: Likewise.
5366 * commands/efi/loadbios.c: Likewise.
5367 * commands/i386/pc/drivemap.c: Likewise.
5368 * commands/loadenv.c: Likewise.
5369 * commands/memrw.c: Likewise.
5370 * commands/password.c: Likewise.
5371 * commands/videotest.c: Likewise.
5372 * disk/ata.c: Likewise.
5373 * disk/ata_pthru.c: Likewise.
5374 * disk/dmraid_nvidia.c: Likewise.
5375 * disk/ieee1275/nand.c: Likewise.
5376 * disk/ieee1275/ofdisk.c: Likewise.
5377 * disk/loopback.c: Likewise.
5378 * disk/lvm.c: Likewise.
5379 * disk/mdraid_linux.c: Likewise.
5380 * disk/raid.c: Likewise.
5381 * disk/raid6_recover.c: Likewise.
5382 * disk/scsi.c: Likewise.
5383 * efiemu/main.c: Likewise.
5384 * efiemu/mm.c: Likewise.
5385 * efiemu/pnvram.c: Likewise.
5386 * efiemu/symbols.c: Likewise.
5387 * font/font.c: Likewise.
5388 * fs/cpio.c: Likewise.
5389 * fs/hfsplus.c: Likewise.
5390 * fs/iso9660.c: Likewise.
5391 * fs/jfs.c: Likewise.
5392 * fs/minix.c: Likewise.
5393 * fs/ntfs.c: Likewise.
5394 * fs/ntfscomp.c: Likewise.
5395 * fs/reiserfs.c: Likewise.
5396 * fs/ufs.c: Likewise.
5397 * fs/xfs.c: Likewise.
5398 * gettext/gettext.c: Likewise.
5399 * include/grub/auth.h: Likewise.
5400 * kern/elf.c: Likewise.
5401 * kern/file.c: Likewise.
5402 * kern/ieee1275/init.c: Likewise.
5403 * kern/ieee1275/mmap.c: Likewise.
5404 * kern/ieee1275/openfw.c: Likewise.
5405 * kern/powerpc/dl.c: Likewise.
5406 * kern/sparc64/dl.c: Likewise.
5407 * lib/arg.c: Likewise.
5408 * loader/i386/bsd.c: Likewise.
5409 * loader/i386/bsdXX.c: Likewise.
5410 * loader/i386/efi/linux.c: Likewise.
5411 * loader/i386/efi/xnu.c: Likewise.
5412 * loader/i386/ieee1275/linux.c: Likewise.
5413 * loader/i386/linux.c: Likewise.
5414 * loader/i386/multiboot.c: Likewise.
5415 * loader/i386/pc/linux.c: Likewise.
5416 * loader/i386/pc/multiboot2.c: Likewise.
5417 * loader/i386/xnu.c: Likewise.
5418 * loader/ieee1275/multiboot2.c: Likewise.
5419 * loader/macho.c: Likewise.
5420 * loader/machoXX.c: Likewise.
5421 * loader/multiboot2.c: Likewise.
5422 * loader/multiboot_loader.c: Likewise.
5423 * loader/powerpc/ieee1275/linux.c: Likewise.
5424 * loader/sparc64/ieee1275/linux.c: Likewise.
5425 * loader/xnu.c: Likewise.
5426 * loader/xnu_resume.c: Likewise.
5427 * mmap/i386/pc/mmap.c: Likewise.
5428 * normal/menu_viewer.c: Likewise.
5429 * partmap/acorn.c: Likewise.
5430 * partmap/amiga.c: Likewise.
5431 * partmap/apple.c: Likewise.
5432 * script/lexer.c: Likewise.
5433 * term/gfxterm.c: Likewise.
5434 * term/i386/pc/serial.c: Likewise.
5435 * term/i386/pc/vga.c: Likewise.
5436 * term/ieee1275/ofconsole.c: Likewise.
5437 * term/terminfo.c: Likewise.
5438 * video/bitmap.c: Likewise.
5439 * video/efi_gop.c: Likewise.
5440 * video/efi_uga.c: Likewise.
5441 * video/fb/video_fb.c: Likewise.
5442 * video/i386/pc/vbe.c: Likewise.
5443 * video/readers/tga.c: Likewise.
5444 * video/video.c: Likewise.
5445
5446 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
5447
5448 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
5449 * commands/lspci.c: Likewise.
5450 * commands/probe.c: Likewise.
5451 * commands/xnu_uuid.c: Likewise.
5452 * conf/i386-coreboot.rmk: Likewise.
5453 * conf/i386-efi.rmk: Likewise.
5454 * conf/i386-ieee1275.rmk: Likewise.
5455 * conf/i386-pc.rmk: Likewise.
5456 * conf/powerpc-ieee1275.rmk: Likewise.
5457 * conf/sparc64-ieee1275.rmk: Likewise.
5458 * conf/x86_64-efi.rmk: Likewise.
5459 * fs/i386/pc/pxe.c: Likewise.
5460 * gettext/gettext.c: Likewise.
5461 * include/grub/efi/graphics_output.h: Likewise.
5462 * include/grub/i386/pc/memory.h: Likewise.
5463 * kern/env.c: Likewise.
5464 * kern/i386/qemu/startup.S: Likewise.
5465 * lib/i386/pc/biosnum.c: Likewise.
5466 * lib/i386/relocator.c: Likewise.
5467 * lib/i386/relocator_asm.S: Likewise.
5468 * lib/relocator.c: Likewise.
5469 * loader/i386/bsd.c: Likewise.
5470 * loader/i386/multiboot.c: Likewise.
5471 * loader/i386/pc/chainloader.c: Likewise.
5472 * loader/i386/xnu.c: Likewise.
5473 * loader/xnu.c: Likewise.
5474 * normal/main.c: Likewise.
5475 * normal/menu_text.c: Likewise.
5476 * util/getroot.c: Likewise.
5477 * util/grub-mkconfig_lib.in: Likewise.
5478 * util/grub.d/00_header.in: Likewise.
5479 * util/i386/pc/grub-mkimage.c: Likewise.
5480 * util/mkisofs/eltorito.c: Likewise.
5481 * util/mkisofs/exclude.h: Likewise.
5482 * util/mkisofs/hash.c: Likewise.
5483 * util/mkisofs/iso9660.h: Likewise.
5484 * util/mkisofs/joliet.c: Likewise.
5485 * util/mkisofs/mkisofs.c: Likewise.
5486 * util/mkisofs/mkisofs.h: Likewise.
5487 * util/mkisofs/multi.c: Likewise.
5488 * util/mkisofs/name.c: Likewise.
5489 * util/mkisofs/rock.c: Likewise.
5490 * util/mkisofs/tree.c: Likewise.
5491 * util/mkisofs/write.c: Likewise.
5492 * video/efi_gop.c: Likewise.
5493
5494 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5495
5496 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
5497 size counting.
5498
5499 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5500
5501 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
5502 * genmk.rb (class SCRIPT): Modify the target file instead of source.
5503
5504 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
5507 (GRUB_MOD_INIT(memrw)): Update help line.
5508
5509 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
5512 Use grub_extcmd_t. All users updated.
5513 (options): New variable.
5514 (grub_cmd_read): Restructure for readability. Support "-v" option.
5515 (grub_cmd_write): Restructure for readability.
5516
5517 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5518
5519 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
5520
5521 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5522
5523 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
5524 with the actual contents of the correspondending make variable.
5525 * util/grub-mkrescue.in (pkglib_DATA): New variable.
5526 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
5527 specifying `*.lst' and `efiemu??.o'
5528
5529 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5530
5531 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
5532 after function name.
5533 Noticed by Rene Engelhard <rene@debian.org>.
5534
5535 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5536
5537 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
5538 (options): New variable.
5539 (iospace): Likewise.
5540 (grub_lspci_iter): List IO spaces if "-i" was given.
5541 (grub_cmd_lspci): Parse options.
5542 (GRUB_MOD_INIT(lspci)): Use extcmd.
5543 (GRUB_MOD_FINI(lspci)): Likewise.
5544
5545 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5546
5547 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
5548 `function' keyword.
5549 Patch by Tony Mancill <tmancill@debian.org>.
5550
5551 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
5554 (grub_uhci_portstatus): Likewise.
5555 (grub_uhci_portstatus): Add necessary delay.
5556 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
5557
5558 2009-12-21 Carles Pina i Estany <carles@pina.cat>
5559
5560 * commands/acpi.c (options): Fix capitalizations and/or full stops.
5561 (GRUB_MOD_INIT): Likewise.
5562 * commands/boot.c (GRUB_MOD_INIT): Likewise.
5563 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
5564 * commands/echo.c (options): Fix capitalizations and/or full stops.
5565 * commands/efi/loadbios.c (enable_rom_area): Likewise.
5566 (enable_rom_area): Likewise.
5567 (GRUB_MOD_INIT): Likewise.
5568 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
5569 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
5570 * commands/handler.c (GRUB_MOD_INIT): Likewise.
5571 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
5572 * commands/hexdump.c (options): Likewise.
5573 * commands/i386/cpuid.c (options): Likewise.
5574 (GRUB_MOD_INIT): Likewise.
5575 * commands/i386/pc/drivemap.c (options): Likewise.
5576 (GRUB_MOD_INIT): Likewise.
5577 * commands/i386/pc/halt (options): Likewise.
5578 (GRUB_MOD_INIT): Likewise.
5579 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
5580 * commands/i386/pc/pxecmd.c (options): Likewise.
5581 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
5582 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
5583 * commands/keystatus.c (options): Likewise.
5584 (GRUB_MOD_INIT): Likewise.
5585 * commands/loadenv.c (options): Likewise.
5586 * commands/ls.c (options): Likewise.
5587 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
5588 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
5589 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
5590 * commands/parttool.c (helpmsg): Likewise.
5591 * commands/probe.c (options): Likewise.
5592 * commands/read.c (GRUB_MOD_INIT): Likewise.
5593 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
5594 * commands/search.c (options): Likewise.
5595 * commands/sleep.c (options): Likewise.
5596 * commands/test.c (GRUB_MOD_INIT): Likewise.
5597 * commands/true.c (GRUB_MOD_INIT): Likewise.
5598 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
5599 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
5600 * lib/arg.c (help_options): Likewise.
5601 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
5602 `$(XGETTEXT)'.
5603 * po/POTFILES: Add `commands/loadenv.c'.
5604
5605 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
5606
5607 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
5608 instead of specifying them explicit.
5609
5610 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5611
5612 * NEWS: Add grub-probe support for GNU/Hurd.
5613
5614 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5615
5616 * NEWS: gettext was added after 1.97.
5617
5618 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5619
5620 * util/mkisofs/msdos_partition.h: New file (based on
5621 include/grub/msdos_partition.h).
5622 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
5623 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
5624 (ld_options, main): Recognize --protective-msdos-label.
5625 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
5626 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
5627 (padblock_write): If `use_protective_msdos_label' is set, patch a
5628 protective DOS-style label in the output image.
5629
5630 * util/grub-mkrescue.in: Use --protective-msdos-label.
5631
5632 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5633
5634 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
5635 boot.
5636
5637 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5638
5639 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
5640 variables.
5641 (ld_options, main): Recognize `--embedded-boot'.
5642 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
5643 declarations.
5644 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
5645 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
5646 (padblock_write): Likewise. Rewrite to support embedded boot image.
5647
5648 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
5649 for BIOS-based disk boot instead of only ElTorito.
5650
5651 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5652
5653 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
5654 build (not needed for bootstrap).
5655
5656 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5657
5658 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
5659 from i386-pc build (not needed for bootstrap).
5660 Rewrite a pair of strings.
5661
5662 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5663
5664 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
5665
5666 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
5667
5668 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
5669
5670 2009-12-21 Andreas Born <futur.andy@googlemail.com>
5671
5672 * kern/env.c (grub_env_context_open): Mark exported variable for
5673 reexport.
5674
5675 2009-12-21 Andreas Born <futur.andy@googlemail.com>
5676
5677 * kern/env.c (grub_env_export): Create nonexistent variables before
5678 exporting.
5679
5680 2009-12-20 Carles Pina i Estany <carles@pina.cat>
5681
5682 * include/grub/auth.h: Include `<grub/i18n.h>'.
5683 (GRUB_GET_PASSWORD): Gettextizze string.
5684 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
5685 menu_text.c.
5686 (grub_utf8_to_ucs4_alloc): Fix indentation.
5687 (grub_print_ucs4): Likewise.
5688 (grub_getstringwidth): Likewise.
5689 (print_message_indented): New declaration.
5690 * normal/auth.c: Include `<grub/i18n.h>'.
5691 (grub_auth_check_authentication): Gettexttize string.
5692 * normal/cmdline.c: Include `<grub/i18n.h>'.
5693 (grub_cmdline_get): Gettextizze.
5694 * normal/color.c: Include `<grub/i18n.h>'.
5695 (grub_parse_color_name_pair): Gettexttize strings.
5696 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
5697 string (use `print_message_indented').
5698 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
5699 `include/grub/normal.h'.
5700 (print_message_indented): Renamed to ...
5701 (grub_print_message_indented): ... this. Remove `static' qualifer (now
5702 used in normal/main.c).
5703 (print_message): Use `grub_print_message_indented' instead of
5704 `print_message_indented'.
5705 (print_timeout): Likewise.
5706 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
5707 (grub_normal_print_device_info): Gettexttize strings.
5708 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
5709
5710 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
5713 of arguments. Return number of tokens and not arguments. All users
5714 updated.
5715
5716 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
5719 non-MSDOS paritions.
5720
5721 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5722
5723 * include/grub/types.h (UNUSED): Removed since it conflicts with
5724 NetBSD headers. All users changed to direct __attribute__ ((unused)).
5725 Reported by Grégoire Sutre.
5726
5727 2009-12-19 Carles Pina i Estany <carles@pina.cat>
5728
5729 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
5730 (grub_print_ucs4_alloc): Likewise.
5731 (grub_getstringwidth): Likewise.
5732 * normal/main.c (grub_normal_init_page): Gettextize version string.
5733 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
5734 (getstringwidth): Renamed to ...
5735 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
5736 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
5737 (grub_print_ucs4): Remove `static' qualifer (now used in
5738 normal/main.c).
5739 * po/POTFILES: Add normal/main.c.
5740
5741 2009-12-19 Carles Pina i Estany <carles@pina.cat>
5742
5743 * normal/menu_text.c (STANDARD_MARGIN): New macro.
5744 (print_message_indented): Add `margin_left' and `margin_right'
5745 parameters.
5746 (print_message): Update `print_message_indented' calls. Adds '\n' to the
5747 strings.
5748 (print_timeout): Use `print_message_indented' to print the message.
5749 Deletes `second_stage' parameter.
5750 (run_menu): Update `print_timeout' calls.
5751
5752 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 Fix console palette on OpenFirmware.
5755
5756 * term/ieee1275/ofconsole.c (MAX): Removed.
5757 (colors): Redone based on VGA palette.
5758 (grub_ofconsole_setcolor): Discard brightness bit since only 8
5759 colors are supported.
5760 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
5761
5762 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5763
5764 Fix potential EfiEmu double prepare.
5765
5766 * efiemu/main.c (prepared): New variable
5767 (grub_efiemu_unload): Set prepare to '0'.
5768 (grub_efiemu_prepare): Return if already prepared. Set prepared.
5769
5770 set_virtual_address_map support.
5771
5772 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
5773 prototype.
5774 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
5775 prototype.
5776 (grub_efiemu_crc32): Likewise.
5777 (grub_efiemu_crc64): Likewise.
5778 (grub_efiemu_set_virtual_address_map): Likewise.
5779 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
5780 New definition.
5781 (grub_autoefi_set_virtual_address_map): Likewise.
5782 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
5783 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
5784 Restructure flow to accomodate it.
5785 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
5786 (grub_efiemu_crc): Recompute CRC32.
5787 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
5788 (efiemu_ptv_relocated): ... this. Made global. All users updated.
5789 * efiemu/symbols.c (relocated_handle): New variable.
5790 (grub_efiemu_free_syms): Free relocated_handle.
5791 (grub_efiemu_alloc_syms): Allocate relocated_handle.
5792 (grub_efiemu_write_sym_markers): New function.
5793 (grub_efiemu_set_virtual_address_map): Likewise.
5794
5795 Newer XNU parameters.
5796
5797 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
5798 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
5799 (grub_xnu_fill_devicetree): New prototype.
5800 (grub_xnu_heap_real_start): New variable.
5801 * loader/xnu.c (get_name_ptr): New function.
5802 (grub_xnu_load_driver): Fill namelen and name.
5803
5804 64-bit xnu support.
5805
5806 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
5807 and 'loader/macho64.c'.
5808 * conf/i386-pc.rmk: Likewise.
5809 * conf/x86_64-efi.rmk: Likewise.
5810 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
5811 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
5812 * include/grub/macho.h (grub_macho_segment64): New structure.
5813 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
5814 (grub_macho_size32): ... to this.
5815 (grub_macho32_get_entry_point): Renamed from ...
5816 (grub_macho_get_entry_point32): ... to this.
5817 (grub_macho_contains_macho64): New prototype.
5818 (grub_macho_size64): Likewise.
5819 (grub_macho_get_entry_point64): Likewise.
5820 (grub_macho32_load): Renamed from ...
5821 (grub_macho_load32): ... to this.
5822 (grub_macho32_filesize): Renamed from ...
5823 (grub_macho_filesize32): ... to this.
5824 (grub_macho32_readfile): Renamed from ...
5825 (grub_macho_readfile32): ... to this.
5826 (grub_macho_filesize64): New prototype.
5827 (grub_macho_readfile64): Likewise.
5828 (grub_macho_parse32): Likewise.
5829 (grub_macho_parse64): Likewise.
5830 * loader/macho.c: Split into ...
5831 * loader/machoXX.c: ... and this. Replace 32 with XX.
5832 * loader/macho32.c: New file.
5833 * loader/macho64.c: Likewise.
5834 * loader/xnu.c (grub_xnu_is_64bit): New variable.
5835 (grub_cmd_xnu_kernel): Make 32-bit only.
5836 (grub_cmd_xnu_kernel64): New function.
5837 (grub_xnu_load_driver): Support Mach-O 64.
5838 (grub_cmd_xnu_mkext): Likewise.
5839 * util/grub.d/30_os-prober.in (osx_entry): New function.
5840 Generate entries for 64-bit boot too.
5841
5842 Eliminate ad-hoc tree format in XNU and EfiEmu.
5843
5844 * efiemu/main.c (grub_efiemu_prepare): Update comment.
5845 * efiemu/pnvram.c: Rewritten to use environment variables.
5846 All users updated.
5847
5848 Inline utf16_to_utf8.
5849
5850 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
5851 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
5852 All users updated.
5853 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
5854
5855 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
5856 * commands/usbtest.c (grub_usb_get_string): ... move here.
5857 (usb_print_str): Fix error handling.
5858 * include/grub/usb.h (grub_usb_get_string): Remove.
5859
5860 UTF-8 to UTF-16 transformation.
5861
5862 * conf/common.rmk (pkglib_MODULES): Add charset.mod
5863 (charset_mod_SOURCES): New variable.
5864 (charset_mod_CFLAGS): Likewise.
5865 (charset_mod_LDFLAGS): Likewise.
5866 * include/grub/utf.h: New file.
5867 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
5868
5869 Support for device properties.
5870
5871 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
5872 (grub_xnu_devprop_device_header): Likewise.
5873 (grub_xnu_devprop_device_descriptor): Likewise.
5874 (grub_xnu_devprop_add_device): New prototype.
5875 (grub_xnu_devprop_remove_device): Likewise.
5876 (grub_xnu_devprop_remove_property): Likewise.
5877 (grub_xnu_devprop_add_property_utf8): Likewise.
5878 (grub_xnu_devprop_add_property_utf16): Likewise.
5879 (grub_cpu_xnu_init): Likewise.
5880 (grub_cpu_xnu_fini): Likewise.
5881 (grub_cpu_xnu_unload): Likewise.
5882 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
5883 (property_descriptor): Likewise.
5884 (devices): New variable.
5885 (grub_xnu_devprop_remove_property): New function.
5886 (grub_xnu_devprop_add_device): Likewise.
5887 (grub_xnu_devprop_remove_device): Likewise.
5888 (grub_xnu_devprop_add_property): Likewise.
5889 (grub_xnu_devprop_add_property_utf8): Likewise.
5890 (grub_xnu_devprop_add_property_utf16): Likewise.
5891 (hextoval): Likewise.
5892 (grub_cpu_xnu_fill_devprop): Likewise.
5893 (grub_cmd_devprop_load): Likewise.
5894 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
5895 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
5896 (cmd_devprop_load): New variable.
5897 (grub_cpu_xnu_init): New function.
5898 (grub_cpu_xnu_fini): Likewise.
5899 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
5900 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
5901 (grub_cmd_xnu_devtree): Likewise.
5902 (hextoval): New function.
5903 (unescape): Likewise.
5904 (grub_xnu_fill_devicetree): Likewise.
5905
5906 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
5907 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
5908
5909 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5910
5911 Workaround for broken ATI VBE.
5912
5913 * video/i386/pc/vbe.c (last_set_mode): New variable.
5914 (grub_vbe_set_video_mode): Set 'last_set_mode'.
5915 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
5916 (grub_video_vbe_setup): Don't check for reserved flag.
5917
5918 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
5919
5920 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
5921 the `find' command.
5922
5923 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
5924
5925 UUID support for HFS.
5926
5927 * fs/hfs.c (grub_hfs_uuid): New function.
5928 (grub_hfs_fs): New value .uuid.
5929 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
5930
5931 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
5932
5933 Fix a segfault with parsing unknown long options.
5934
5935 * util/grub-mkrelpath.c (options): Zero terminate it.
5936
5937 2009-12-13 Carles Pina i Estany <carles@pina.cat>
5938
5939 * include/grub/misc.h (grub_puts): New declaration.
5940 (grub_puts_): Likewise.
5941 * kern/misc.c (grub_puts): New definition.
5942 (grub_puts_): Likewise.
5943
5944 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
5945
5946 * util/grub-probe.c (probe): Improve error message.
5947
5948 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
5949
5950 * loader/i386/multiboot_elfxx.c
5951 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
5952 initialization.
5953
5954 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5955
5956 Relocator framework
5957
5958 * loader/i386/xnu_helper.S: Removed. All users updated.
5959 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
5960 (relocator_mod_SOURCES): New variable.
5961 (relocator_mod_CFLAGS): Likewise.
5962 (relocator_mod_LDFLAGS): Likewise.
5963 (relocator_mod_ASFLAGS): Likewise.
5964 * conf/x86_64.rmk: Likewise.
5965 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
5966 (grub_multiboot_payload_entry_offset): Likewise.
5967 (grub_multiboot_forward_relocator): Likewise.
5968 (grub_multiboot_forward_relocator_end): Likewise.
5969 (grub_multiboot_backward_relocator): Likewise.
5970 (grub_multiboot_backward_relocator_end): Likewise.
5971 (grub_multiboot_payload_eip): New variable.
5972 (grub_multiboot_payload_orig): Likewise.
5973 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
5974 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
5975 * include/grub/i386/memory.h
5976 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
5977 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
5978 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
5979 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
5980 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
5981 * include/grub/i386/relocator.h: New file.
5982 * include/grub/x86_64/relocator.h: Likewise.
5983 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
5984 (XNU_RELOCATOR): New macro.
5985 (grub_xnu_launcher_start): Remove.
5986 (grub_xnu_launcher_end): Likewise.
5987 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
5988 (grub_xnu_heap_real_start): Remove.
5989 (grub_xnu_heap_start): Change to void *. All users updated.
5990 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
5991 * lib/i386/relocator.c: New file.
5992 * lib/i386/relocator_asm.S: Likewise.
5993 * lib/i386/relocator_backward.S: Likewise.
5994 * lib/mips/relocator.c: Likewise.
5995 * lib/mips/relocator_asm.S: Likewise.
5996 * lib/relocator.c: Likewise.
5997 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
5998 (entry): Removed.
5999 (playground): Likewise.
6000 (grub_multiboot_payload_orig): New variable.
6001 (grub_multiboot_payload_dest): Likewise.
6002 (grub_multiboot_payload_size): Likewise.
6003 (grub_multiboot_payload_eip): Likewise.
6004 (grub_multiboot_payload_esp): Likewise.
6005 (grub_multiboot_boot): Use grub_relocator32_boot.
6006 (grub_multiboot_unload): Free relocators.
6007 (grub_multiboot): Setup stack. Use relocators.
6008 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
6009 (grub_multiboot_load_elfXX): Use relocators.
6010 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
6011 (grub_multiboot_payload_size): Likewise.
6012 (grub_multiboot_payload_dest): Likewise.
6013 (grub_multiboot_payload_entry_offset): Likewise.
6014 (grub_multiboot_forward_relocator): Likewise.
6015 (grub_multiboot_backward_relocator): Likewise.
6016 (grub_multiboot_real_boot): Likewise.
6017 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
6018 (grub_xnu_entry_point): Likewise.
6019 (grub_xnu_arg1): Likewise.
6020 (grub_xnu_stack): Likewise.
6021 (grub_xnu_launch): Removed.
6022 (grub_xnu_boot_resume): New function.
6023 (grub_xnu_boot): Use relocators.
6024 * loader/i386/xnu_helper.S: Removed.
6025 * loader/xnu.c (grub_xnu_heap_start): New variable.
6026 (grub_xnu_heap_size): Likewise.
6027 (grub_xnu_heap_malloc): Use relocators.
6028 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
6029
6030 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6031
6032 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
6033 anything.
6034
6035 2009-12-13 Carles Pina i Estany <carles@pina.cat>
6036
6037 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
6038 GRUB_ERR_NONE before calling grub_env_set.
6039
6040 2009-12-12 Robert Millan <rmh@aybabtu.com>
6041
6042 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
6043 * genmk.rb (video): New variable.
6044 (CLEANFILES, VIDEOFILES): Add #{video}.
6045 (#{video}): New target rule.
6046 * genvideolist.sh: New file.
6047 * Makefile.in (pkglib_DATA): Add video.lst.
6048 (video.lst): New target rule.
6049 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
6050 `video.lst'.
6051 * util/grub.d/30_os-prober.in: Replace `vbe' with
6052 ${GRUB_VIDEO_BACKEND}.
6053
6054 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
6055
6056 * THANKS: Add David Miller.
6057
6058 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6059
6060 libpciaccess support.
6061
6062 * Makefile.in (LIBPCIACCESS): New variable.
6063 (enable_grub_emu_pci): Likewise.
6064 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
6065 util/pci.c and commands/lspci.c.
6066 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
6067 * configure.ac (grub-emu-pci): New option.
6068 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
6069 (grub_pci_device_unmap_range): Likewise.
6070 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
6071 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
6072 (grub_pci_address_t) [!GRUB_UTIL]: New type.
6073 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
6074 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
6075 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
6076 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
6077 * include/grub/pciutils.h: New file.
6078 * util/pci.c: Likewise.
6079
6080 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
6081
6082 * util/misc.c: Don't include <errno.h> twice.
6083
6084 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
6085
6086 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
6087 name in an error message.
6088 (grub_biosdisk_rw): Likewise.
6089
6090 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6091
6092 Eliminate NTFS 4Gib barrier.
6093
6094 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
6095 (read_run_data): Likewise.
6096 (grub_ntfs_read_run_list): Likewise.
6097 (grub_ntfs_read_block): Likewise.
6098 (grub_ntfs_iterate_dir): Likewise.
6099 (read_mft): Likewise.
6100 (read_data): Likewise.
6101 Use COM_LOG_LEN.
6102 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
6103 to avoid 64-bit division
6104 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
6105 (grub_ntfs_rlst): Use grub_disk_addr_t.
6106
6107 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6108
6109 Eliminate grub-fstest 4Gib barrier.
6110
6111 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
6112 (read_file): Fix error reporting.
6113
6114 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6115
6116 Eliminate hexdump 4Gib barrier.
6117
6118 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
6119 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
6120
6121 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6122
6123 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
6124 Fixes amarsh bug.
6125
6126 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
6127
6128 Remove miscellaneous files in distclean target.
6129
6130 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
6131
6132 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
6133
6134 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
6135 if they're already set. This resolves the conflict between my
6136 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
6137 fixing the --grub-probe option again.
6138 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
6139 change on 2009-10-06, so that we now once again source
6140 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
6141
6142 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
6143
6144 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
6145 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
6146 `util/devicemap.c'.
6147
6148 2009-12-08 Carles Pina i Estany <carles@pina.cat>
6149
6150 * include/grub/misc.h (grub_printf_): New declaration.
6151 * kern/misc.c (grub_printf_): New definition.
6152 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
6153 instead of `grub_printf' and `_'.
6154 * normal/menu_entry.c (store_completion): Likewise.
6155 (run): Likewise.
6156 (grub_menu_entry_run): Likewise.
6157 * normal/menu_text.c (grub_wait_after_message): Likewise.
6158 (notify_booting): Likewise.
6159 (notify_fallback): Likewise.
6160 (notify_execution_failure): Likewise.
6161
6162 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
6163
6164 * configure.ac: Check for vasprintf.
6165 * util/misc.c (asprintf): Move allocation from here ...
6166 (vasprintf): ... to here. New function.
6167 (xasprintf): New function.
6168 * include/grub/util/misc.h (vasprintf, xasprintf): Add
6169 prototypes.
6170 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
6171 * util/grub-mkfont.c (write_font): Likewise.
6172 * util/grub-probe.c (probe): Likewise.
6173 * util/hostdisk.c (make_device_name): Likewise.
6174
6175 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
6176
6177 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
6178 anything even prefixed with 'cdrom' as a cdrom.
6179
6180 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
6181
6182 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
6183 mount points.
6184
6185 2009-12-05 Carles Pina i Estany <carles@pina.cat>
6186
6187 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
6188 grub_gettext_msg_list.
6189 (grub_gettext_gettranslation_from_position): Return const char *
6190 and not char *.
6191 (grub_gettext_translate): Add the translated strings into a list,
6192 returns from the list if existing there.
6193 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
6194 (grub_gettext_delete_list): Delete the list.
6195 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
6196 lang environment variable is changed.
6197 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
6198
6199 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
6200
6201 Rename kernel.mod to kernel.img.
6202
6203 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
6204 (kernel_mod_EXPORTS): Rename to ...
6205 (kernel_img_EXPORTS): ... this.
6206 (kernel_mod_SOURCES): Rename to ...
6207 (kernel_img_SOURCES): ... this.
6208 (kernel_mod_HEADERS): Rename to ...
6209 (kernel_img_HEADERS): ... this. All users updated.
6210 (kernel_mod_CFLAGS): Rename to ...
6211 (kernel_img_CFLAGS): ... this.
6212 (kernel_mod_ASFLAGS): Rename to ...
6213 (kernel_img_ASFLAGS): ... this.
6214 (kernel_mod_LDFLAGS): Rename to ...
6215 (kernel_img_LDFLAGS): ... this.
6216 * conf/x86_64-efi.rmk: Likewise.
6217 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
6218 (read_kernel_image): ... this. All users updated.
6219 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
6220
6221 2009-12-05 Carles Pina i Estany <carles@pina.cat>
6222
6223 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
6224 (print_spaces): New function.
6225 (grub_print_ucs4): New function.
6226 (getstringwidth): New function.
6227 (print_message_indented): New function.
6228 (print_message): Gettexttize strings using print_message_indented.
6229 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
6230 width.
6231 (get_entry_number): Gettextize and uses dynamic terminal width.
6232 (notify_booting, notify_fallback, notify_execution_failure):
6233 Gettextize.
6234 * normal/menu_entry.c (store_completion): Cleanup the gettextized
6235 string.
6236 (run): Likewise.
6237 (grub_menu_entry_run): Likewise.
6238 * PO/POTFILES: Add normal/menu_entry.c.
6239
6240 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
6241
6242 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
6243
6244 2009-12-05 Carles Pina i Estany <carles@pina.cat>
6245
6246 * util/grub-install.in: Install gettext .mo files.
6247 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
6248
6249 2009-12-05 Carles Pina i Estany <carles@pina.cat>
6250
6251 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
6252 grub_dprintf.
6253
6254 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
6255
6256 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
6257 non-firmware-dependant one in realmode.S takes precedence.
6258
6259 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
6260
6261 * commands/halt.c: Replace misc arch-specific headers with
6262 `<grub/misc.h>'.
6263 * commands/reboot.c: Likewise.
6264 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
6265 `<grub/misc.h>'.
6266 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
6267 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
6268 (kernel_img_SOURCES): ... to here.
6269
6270 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
6271 * include/grub/i386/pc/init.h: Likewise.
6272 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
6273 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
6274
6275 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
6276
6277 * include/grub/i386/halt.h: Remove.
6278 * include/grub/i386/reboot.h: Likewise.
6279
6280 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
6281
6282 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
6283
6284 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
6285 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
6286 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
6287 "progname.h"
6288 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
6289 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6290 (usage): Add missing comma in printf.
6291
6292 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
6293
6294 Use the same reboot approach on i386 coreboot and qemu as we do on
6295 BIOS.
6296
6297 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
6298 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
6299 * kern/i386/reboot.c: Remove.
6300 * include/grub/i386/reboot.h (grub_reboot): Export function.
6301 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
6302 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
6303 0xf000:0xfff0 instead of 0xffff:0x0000.
6304 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
6305 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
6306
6307 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
6308
6309 Fix $srcdir != $objdir build.
6310
6311 * Makefile.in (po/%.po): Rewrite as ...
6312 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
6313
6314 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
6315
6316 Fix GNU/Hurd grub-install crash.
6317 * util/grub-probe.c (probe): Try to access `path' only when it is not
6318 NULL.
6319
6320 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6321
6322 Correct module naming.
6323
6324 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
6325 (GRUB_MOD_INIT(efi_uga)): ... to this
6326 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
6327 (GRUB_MOD_FINI(efi_uga)): ... to this
6328 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
6329 (GRUB_MOD_INIT(efi_gop)): ... to this
6330 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
6331 (GRUB_MOD_FINI(efi_gop)): ... to this
6332
6333 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
6334
6335 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
6336 translatable.
6337 (usage): Translate `arg' strings using gettext().
6338 Thanks to Jordi Mallach for the suggestion.
6339
6340 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6341
6342 GOP support. Based on patch from Bean
6343 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
6344
6345 * video/efi_gop.c: New file.
6346 * include/grub/efi/graphics_output.h: Likewise.
6347 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
6348 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
6349 variables.
6350 * conf/x86_64-efi.rmk: Likewise.
6351
6352 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6353
6354 Rename efi_fb to efi_uga.
6355
6356 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
6357 'efi_uga.mod'.
6358 (efi_fb_mod_SOURCES): Rename this ...
6359 (efi_uga_mod_SOURCES): ... to this.
6360 (efi_fb_mod_CFLAGS): Rename this ...
6361 (efi_uga_mod_CFLAGS): ... to this.
6362 (efi_fb_mod_LDFLAGS): Rename this ...
6363 (efi_uga_mod_LDFLAGS): ... to this.
6364 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
6365 'efi_uga.mod'.
6366 (efi_fb_mod_SOURCES): Rename this ...
6367 (efi_uga_mod_SOURCES): ... to this.
6368 (efi_fb_mod_CFLAGS): Rename this ...
6369 (efi_uga_mod_CFLAGS): ... to this.
6370 (efi_fb_mod_LDFLAGS): Rename this ...
6371 (efi_uga_mod_LDFLAGS): ... to this.
6372 * video/efi_fb.c: Move this ...
6373 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
6374
6375 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6376
6377 * po/README: New file. Explain our PO file workflow.
6378
6379 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6380
6381 * po/ChangeLog: Remove. Move relevant entries back to ...
6382 * ChangeLog: ... here.
6383 * po/ca.po: Remove (now handled by TLP).
6384 * po/id.po: Likewise.
6385 * po/zh_CN.po: Likewise.
6386 * Makefile.in (LINGUAS): Initialize in a way that supports
6387 empty set.
6388
6389 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6390
6391 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
6392 reliing on po/LINGUAS.
6393 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
6394 (po/%.po): ... this.
6395
6396 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
6397
6398 * util/i386/efi/grub-mkimage.c: Include "progname.h".
6399 (main): Use `program_name' instead of nonexistent `progname'.
6400
6401 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
6402
6403 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6404 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
6405
6406 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
6407
6408 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
6409 commit.
6410 * conf/i386-efi.rmk: Likewise.
6411 * conf/i386-ieee1275.rmk: Likewise.
6412 * conf/powerpc-ieee1275.rmk: Likewise.
6413 * conf/sparc64-ieee1275.rmk: Likewise.
6414 * conf/x86_64-efi.rmk: Likewise.
6415
6416 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
6417
6418 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
6419
6420 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
6421
6422 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
6423
6424 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
6425
6426 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
6427 (grub_mkdevicemap_SOURCES): New variable.
6428 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
6429 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
6430 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
6431 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
6432 (grub_mkdevicemap_SOURCES): Remove.
6433 * conf/i386-efi.rmk: Likewise.
6434 * conf/i386-ieee1275.rmk: Likewise.
6435 * conf/i386-pc.rmk: Likewise.
6436 * conf/powerpc-ieee1275.rmk: Likewise.
6437 * conf/sparc64-ieee1275.rmk: Likewise.
6438 * conf/x86_64-efi.rmk: Likewise.
6439 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
6440 (usage): Fix strings to use `program_name'.
6441 (main): Initialize gettext.
6442 * util/grub-editenv.c: Likewise.
6443 * util/grub-emu.c: Likewise.
6444 * util/grub-fstest.c: Likewise.
6445 * util/grub-mkdevicemap.c: Likewise.
6446 * util/grub-mkfont.c: Likewise.
6447 * util/grub-mkrelpath.c: Likewise.
6448 * util/grub-pe2elf.c: Likewise.
6449 * util/grub-probe.c: Likewise.
6450 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
6451 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
6452 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6453
6454 * util/misc.c: Include `"progname.h"'.
6455 (progname): Remove variable.
6456 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
6457
6458 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
6459
6460 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
6461 printf and print a newline after the menuentry header line.
6462 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
6463
6464 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
6465
6466 autoconf >= 2.60 support $(localedir).
6467
6468 * INSTALL: Note that autoconf 2.60 is required.
6469 * configure.ac (AC_PREREQ): Bump to 2.60.
6470 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
6471 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
6472
6473 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
6474
6475 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
6476 aclocal is run.
6477
6478 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
6479
6480 * normal/main.c (grub_normal_read_line): Fix off-by-one
6481 buffer overflow.
6482
6483 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
6484
6485 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
6486 "parser.grub" in grub_command_execute() call.
6487
6488 2009-11-24 Carles Pina i Estany <carles@pina.cat>
6489
6490 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
6491 * conf/i386-efi.rmk: Likewise.
6492 * conf/i386-ieee1275.rmk: Likewise.
6493 * conf/i386-pc.rmk: Likewise.
6494 * conf/powerpc-ieee1275.rmk: Likewise.
6495 * conf/sparc64-ieee1275.rmk: Likewise.
6496 * conf/x86_64-efi.rmk: Likewise.
6497 * gettext/gettex.c: Include <grub/i18n.h>.
6498 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
6499 here ...
6500 * include/grub/i18n.h: ... to here
6501 * include/grub/i18n.h: ... to here.
6502 * kern/misc.c: Include <grub/i18n.h>
6503 (grub_gettext_dummy): Move above user.
6504
6505 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6506
6507 * util/Makefile.in (install-local): Convert a `for' into a normal
6508 shell expansion.
6509
6510 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
6511
6512 * autogen.sh: Add automake call.
6513 * config.guess: Remove.
6514 * config.sub: Likewise.
6515 * install-sh: Likewise.
6516
6517 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6518
6519 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
6520
6521 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6522
6523 * util/Makefile.in (install-local): Convert a make `$(foreach)'
6524 function to a normal shell `for'.
6525
6526 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6527
6528 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6529
6530 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6531
6532 * util/grub-mkrelpath.c: New file.
6533 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
6534 (grub_mkrelpath_SOURCES): New variable.
6535 * include/grub/util/misc.h: New function prototype.
6536 * util/misc.c (make_system_path_relative_to_its_root): New function.
6537
6538 * util/grub-mkconfig_lib.in (bindir): New variable.
6539 (grub_mkrelpath): Likewise.
6540 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
6541
6542 * util/probe.c (probe): Make the file path relative to its root.
6543 Change a info message to use the GRUB path. Enable again the
6544 check if we can read the file with GRUB facilities.
6545
6546 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
6547 to its root.
6548
6549 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6550
6551 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
6552 platform.
6553
6554 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6555
6556 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
6557 strncmp().
6558
6559 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6560
6561 * util/getroot.c (grub_util_is_dmraid): New function.
6562 (grub_util_get_dev_abstraction): Treat dmraid and multipath
6563 devices as normal ones, not as LVM.
6564
6565 2009-11-23 Carles Pina i Estany <carles@pina.cat>
6566
6567 * conf/common.rmk: Add grub-gettext_lib target and updates
6568 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
6569 LDFLAGS.
6570 * gettext/gettext.c: New file. (Reads mo files).
6571 * include/grub/file.h (grub_file_pread): New prototype.
6572 * include/grub/i18n.h (_): New prototype.
6573 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
6574 prototypes.
6575 * kern/misc.c (grub_gettext_dummy): New function.
6576 * normal/menu_text.c: Include <grub/i18n.h>.
6577 * normal/menu_text.c (print_timeout): Gettexttize string.
6578 * normal/menu_text.c (print_message): Gettexttize string.
6579 * po/POTFILES: Add `normal/menu_text.c'.
6580 * po/ca.po: Add new translations.
6581 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
6582 gettext module and defines locale_dir and lang in grub.cfg.
6583 * NEWS: Add gettext support.
6584
6585 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6586
6587 * util/hostdisk.c: Include `<grub/i18n.h>'.
6588 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
6589 (make_device_name): Rewrite using asprintf.
6590 (convert_system_partition_to_system_disk): Replace 0 with NULL.
6591 (find_system_device): If a device is not found, generate one just
6592 by reusing the OS path name.
6593 (read_device_map): Make it permissible for device.map not to exist.
6594
6595 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6596
6597 * script/sh/execute.c: Move from here ...
6598 * script/execute.c: ... to here. Update all users.
6599 * script/sh/function.c: Move from here ...
6600 * script/function.c: ... to here. Update all users.
6601 * script/sh/lexer.c: Move from here ...
6602 * script/lexer.c: ... to here. Update all users.
6603 * script/sh/main.c: Move from here ...
6604 * script/main.c: ... to here. Update all users.
6605 * script/sh/parser.y: Move from here ...
6606 * script/parser.y: ... to here. Update all users.
6607 * script/sh/script.c: Move from here ...
6608 * script/script.c: ... to here. Update all users.
6609
6610 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6611
6612 * configure.ac: Detect all `emu' platforms. Define
6613 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
6614 --enable-grub-emu logic. Disable include/grub/machine
6615 symlink on `emu' platforms.
6616
6617 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
6618 * gensymlist.sh.in: Likewise.
6619
6620 * include/grub/i386/coreboot/machine.h: Remove file.
6621 * include/grub/i386/efi/machine.h: Likewise.
6622 * include/grub/i386/ieee1275/machine.h: Likewise.
6623 * include/grub/i386/pc/machine.h: Likewise.
6624 * include/grub/i386/qemu/machine.h: Likewise.
6625 * include/grub/powerpc/ieee1275/machine.h: Likewise.
6626 * include/grub/sparc64/ieee1275/machine.h: Likewise.
6627 * include/grub/x86_64/efi/machine.h: Likewise.
6628
6629 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
6630 * commands/halt.c: Likewise.
6631 * commands/reboot.c: Likewise.
6632 * include/grub/autoefi.h: Likewise.
6633 * include/grub/i386/at_keyboard.h: Likewise.
6634 * include/grub/i386/kernel.h: Likewise.
6635 * include/grub/i386/loader.h: Likewise.
6636 * include/grub/i386/pc/memory.h: Likewise.
6637 * kern/dl.c: Likewise.
6638 * kern/i386/coreboot/init.c: Likewise.
6639 * loader/i386/bsd.c: Likewise.
6640 * loader/i386/linux.c: Likewise.
6641 * loader/multiboot_loader.c: Likewise.
6642 * term/i386/pc/serial.c: Likewise.
6643 * term/usb_keyboard.c: Likewise.
6644
6645 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
6646 `<grub/machine/machine.h>'
6647 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
6648 * util/misc.c: Remove `<grub/machine/machine.h>' and
6649 `<grub/machine/time.h>'.
6650
6651 * Makefile.in (enable_grub_emu): Remove variable.
6652 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
6653
6654 * conf/any-emu.rmk: New file.
6655 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
6656 (grub_emu_init.c): Move from here ...
6657 * conf/any-emu.rmk: ... to here.
6658
6659 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
6660 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
6661 * conf/any-emu.rmk: ... to here.
6662
6663 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6664
6665 * include/grub/parser.h (grub_parser_register): Document need
6666 of `name' parameter.
6667 * normal/main.c (grub_normal_read_line): Simplify prompt string.
6668 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
6669 "sh" to "grub".
6670
6671 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6672
6673 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
6674 `$(XGETTEXT)'.
6675 * include/grub/i18n.h (N_): New macro.
6676 * util/mkisofs/mkisofs.h: Likewise.
6677 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
6678 around N_().
6679 (usage): Use gettext() to translate help strings when printing them.
6680
6681 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6682
6683 Based on patch from Bean
6684 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
6685
6686 * video/efi_fb.c: New file.
6687 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
6688 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
6689 variables.
6690 * conf/x86_64-efi.rmk: Likewise.
6691
6692 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
6693
6694 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
6695 * util/i386/pc/grub-setup.c: Likewise.
6696
6697 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
6698
6699 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
6700 <hurd/fs.h>
6701 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
6702 file_get_storage_info to implement grub_guess_root_device.
6703
6704 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
6705
6706 * Makefile.in (target): Use make's builtin $(shell) function
6707 instead of calling directly $(SHELL) to create the locale directories,
6708 inside the $(foreach) function.
6709
6710 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
6711
6712 * util/grub-mkrescue.in: Print an error and usage if output option
6713 has not been given.
6714
6715 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
6716
6717 Patch from Loïc Minier <loic.minier@ubuntu.com>.
6718 * util/grub.d/30_os-prober.in: Cope with Linux entries where
6719 root and /boot are on different devices.
6720
6721 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
6722
6723 Fix build for srcdir != objdir.
6724
6725 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
6726 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
6727 $(srcdir).
6728 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
6729 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
6730 reference for input.
6731
6732 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
6733
6734 * util/grub-mkrescue.in: Use source directory direcly (without copiing
6735 or hardlinking it). Remove -J option, Joliet is not compatible with
6736 multiple source directories.
6737
6738 2009-11-21 Carles Pina i Estany <carles@pina.cat>
6739 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
6740
6741 * util/grub-mkrescue.in: Recognize `--override-directory' option.
6742 (process_input_dir): New function. Process an arbitrary input
6743 directory.
6744 Misc adjustments to support both "override mode" and system-wide mode.
6745
6746 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
6747
6748 * configure.ac (UNIFONT_BDF): Rename to ...
6749 (FONT_SOURCE): ... this. Update all users.
6750
6751 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
6752
6753 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
6754 to the list of unifont files to look for.
6755
6756 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
6757
6758 Patch from Joe Auricchio <jauricchio@gmail.com>
6759 * commands/minicmd.c (grub_mini_cmd_clear): New function.
6760 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
6761 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
6762
6763 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
6764
6765 * Makefile.in (install-local): Add a missing backslash.
6766
6767 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
6768
6769 * include/grub/x86_64/io.h: New file.
6770
6771 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
6772
6773 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
6774 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
6775 Include `"progname.h"'.
6776 (main): Initialize gettext.
6777 * util/i386/pc/grub-setup.c: Gettexttize.
6778 * util/i386/pc/grub-mkimage.c: Likewise.
6779
6780 * Makefile.in (po/*.po): Redefine as ...
6781 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
6782
6783 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
6784
6785 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
6786
6787 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
6788 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
6789 (program_name): Remove.
6790 (main): Initialize gettext support.
6791 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
6792 Include `<libintl.h>'.
6793 (_): New macro.
6794
6795 * util/mkisofs/eltorito.c: Gettexttize.
6796 * util/mkisofs/joliet.c: Likewise.
6797 * util/mkisofs/mkisofs.c: Likewise.
6798 * util/mkisofs/multi.c: Likewise.
6799 * util/mkisofs/rock.c: Likewise.
6800 * util/mkisofs/tree.c: Likewise.
6801 * util/mkisofs/write.c: Likewise.
6802
6803 * po/POTFILES: Update with new files.
6804
6805 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
6806
6807 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
6808 * util/mkisofs/iso9660.h: Likewise.
6809 * util/mkisofs/joliet.c: Likewise.
6810 * util/mkisofs/mkisofs.c: Likewise.
6811 * util/mkisofs/mkisofs.h: Likewise.
6812 * util/mkisofs/rock.c: Likewise.
6813 * util/mkisofs/tree.c: Likewise.
6814 * util/mkisofs/write.c: Likewise.
6815
6816 * util/mkisofs/eltorito.c (rcsid): Remove.
6817 * util/mkisofs/hash.c: Likewise.
6818 * util/mkisofs/joliet.c: Likewise.
6819 * util/mkisofs/name.c: Likewise.
6820 * util/mkisofs/rock.c: Likewise.
6821 * util/mkisofs/tree.c: Likewise.
6822 * util/mkisofs/write.c: Likewise.
6823
6824 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
6825
6826 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
6827 instead of static allocation.
6828 * util/mkisofs/match.h: Likewise.
6829
6830 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
6831
6832 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
6833 and `util/grub.d/10_linux.in'.
6834 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
6835 translatable Shell files.
6836
6837 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
6838
6839 * Makefile.in ($(srcdir)/aclocal.m4): New target.
6840
6841 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6842
6843 * INSTALL: Document Automake is needed for bootstrap.
6844 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
6845 * util/grub.d/10_kfreebsd.in (bindir): New variable.
6846 Add gettext initialization.
6847 (kfreebsd_entry): Make menuentry output translatable.
6848
6849 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6850
6851 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
6852 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
6853 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
6854 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
6855 (LINGUAS): Auto-generate using `po/LINGUAS'.
6856 * po/LINGUAS: New file.
6857
6858 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6859
6860 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
6861 other things).
6862 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
6863 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
6864 bindtextdomain() calls for gettext initialization.
6865
6866 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6867
6868 * gnulib/progname.c: New file (imported from Gnulib).
6869 * gnulib/progname.h: Likewise.
6870 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6871 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
6872 (usage): Replace `progname' with `program_name'.
6873 (main): Use set_program_name() for program name initialization.
6874
6875 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6876
6877 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
6878 from here ...
6879 * Makefile.in (CPPFLAGS): ... to here.
6880
6881 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
6882
6883 * aclocal.m4: Move from here ...
6884 * acinclude.m4: ... to here.
6885 * autogen.sh: Add call to `aclocal'.
6886 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
6887
6888 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
6889
6890 * Makefile.in (CLEANFILES): Add `po/*.mo'.
6891 (LINGUAS): New variable.
6892 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
6893 (install-local): Install MO files.
6894 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
6895 * include/grub/i18n.h: New file.
6896 * po/POTFILES: New file.
6897 * po/ca.po: New file.
6898 * util/grub.d/10_linux.in (bindir): New variable.
6899 Add gettext initialization.
6900 (linux_entry): Make menuentry output translatable.
6901 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
6902 (usage): Make --help output translatable.
6903 (main): Initialize gettext.
6904
6905 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6906
6907 * import_gcry.py: New file (written by Vladimir with minor
6908 adjustments).
6909 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
6910 ciphers.
6911 * INSTALL: Document that Python is required for bootstrap.
6912
6913 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6914
6915 Import ciphers from libgcrypt 1.4.4.
6916
6917 * lib/libgcrypt/cipher/ChangeLog
6918 * lib/libgcrypt/cipher/ac.c
6919 * lib/libgcrypt/cipher/arcfour.c
6920 * lib/libgcrypt/cipher/bithelp.h
6921 * lib/libgcrypt/cipher/blowfish.c
6922 * lib/libgcrypt/cipher/camellia-glue.c
6923 * lib/libgcrypt/cipher/camellia.c
6924 * lib/libgcrypt/cipher/camellia.h
6925 * lib/libgcrypt/cipher/cast5.c
6926 * lib/libgcrypt/cipher/cipher.c
6927 * lib/libgcrypt/cipher/crc.c
6928 * lib/libgcrypt/cipher/des.c
6929 * lib/libgcrypt/cipher/dsa.c
6930 * lib/libgcrypt/cipher/ecc.c
6931 * lib/libgcrypt/cipher/elgamal.c
6932 * lib/libgcrypt/cipher/hash-common.c
6933 * lib/libgcrypt/cipher/hash-common.h
6934 * lib/libgcrypt/cipher/hmac-tests.c
6935 * lib/libgcrypt/cipher/md.c
6936 * lib/libgcrypt/cipher/md4.c
6937 * lib/libgcrypt/cipher/md5.c
6938 * lib/libgcrypt/cipher/primegen.c
6939 * lib/libgcrypt/cipher/pubkey.c
6940 * lib/libgcrypt/cipher/rfc2268.c
6941 * lib/libgcrypt/cipher/rijndael-tables.h
6942 * lib/libgcrypt/cipher/rijndael.c
6943 * lib/libgcrypt/cipher/rmd.h
6944 * lib/libgcrypt/cipher/rmd160.c
6945 * lib/libgcrypt/cipher/rsa.c
6946 * lib/libgcrypt/cipher/seed.c
6947 * lib/libgcrypt/cipher/serpent.c
6948 * lib/libgcrypt/cipher/sha1.c
6949 * lib/libgcrypt/cipher/sha256.c
6950 * lib/libgcrypt/cipher/sha512.c
6951 * lib/libgcrypt/cipher/tiger.c
6952 * lib/libgcrypt/cipher/twofish.c
6953 * lib/libgcrypt/cipher/whirlpool.c
6954
6955 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
6956
6957 Fix build for systems without error().
6958
6959 * gnulib/error.c: New file (imported from Gnulib).
6960 * gnulib/error.h: Likewise.
6961 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
6962 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
6963 (this variable is now used by error()).
6964
6965 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
6966
6967 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
6968 instead of relying that char is signed.
6969
6970 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6971
6972 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
6973 blocksize different from specified.
6974 (grub_pxefs_read): Likewise.
6975
6976 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
6977
6978 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
6979
6980 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
6981 (grub_ata_readwrite): Likewise. Update 2 format strings.
6982 (grub_atapi_read): Likewise.
6983
6984 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
6985 * conf/i386.rmk (pkglib_MODULES): ... to here ...
6986 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
6987 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
6988 (ata_mod_LDFLAGS): Move from here ...
6989 * conf/i386.rmk: ... to here ...
6990 * conf/x86_64-efi.rmk: ... and here.
6991 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
6992 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
6993
6994 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
6995
6996 Relicense multiboot.h, with RMS' blessing.
6997
6998 * include/multiboot.h: Change to X11 license.
6999
7000 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
7001
7002 Support --version in grub-mkisofs.
7003
7004 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
7005 (OPTION_VERSION): New macro.
7006 (ld_options): Recognize --version.
7007 (usage): Move `program_name' from here ...
7008 (program_name): ... to here. Add `static' qualifier.
7009 (main): Recognize `OPTION_VERSION'.
7010
7011 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
7012
7013 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
7014 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
7015
7016 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
7017
7018 Fix help2man generation for mkisofs.
7019
7020 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
7021 (usage): Send output to stdout (rather than stderr).
7022
7023 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
7024
7025 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
7026 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
7027 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
7028 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
7029 (bin_SCRIPTS): Add `grub-mkfloppy'.
7030 (grub_mkfloppy_SOURCES): New variable.
7031
7032 * util/grub-mkrescue.in: New file.
7033 * util/i386/pc/grub-mkfloppy.in: New file.
7034
7035 * util/i386/coreboot/grub-mkrescue.in: Remove.
7036 * util/i386/pc/grub-mkrescue.in: Remove.
7037
7038 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7039
7040 * include/grub/multiboot.h (struct grub_multiboot_header): Move
7041 from here ...
7042 * include/multiboot.h (struct multiboot_header): ... to here. Update
7043 all users.
7044 * include/grub/multiboot.h (struct grub_multiboot_info): Move
7045 from here ...
7046 * include/multiboot.h (struct multiboot_info): ... to here. Update
7047 all users.
7048 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
7049 from here ...
7050 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
7051 Update all users.
7052 * include/grub/multiboot.h (struct grub_mod_list): Move
7053 from here ...
7054 * include/multiboot.h (struct multiboot_mod_list): ... to here.
7055 Update all users.
7056
7057 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7058
7059 * include/multiboot2.h (multiboot_word): Rename from this ...
7060 (multiboot2_word): ... to this. Update all users.
7061 (multiboot_header): Rename from this ...
7062 (multiboot2_header): ... to this. Update all users.
7063 (multiboot_tag_header): Rename from this ...
7064 (multiboot2_tag_header): ... to this. Update all users.
7065 (multiboot_tag_start): Rename from this ...
7066 (multiboot2_tag_start): ... to this. Update all users.
7067 (multiboot_tag_name): Rename from this ...
7068 (multiboot2_tag_name): ... to this. Update all users.
7069 (multiboot_tag_module): Rename from this ...
7070 (multiboot2_tag_module): ... to this. Update all users.
7071 (multiboot_tag_memory): Rename from this ...
7072 (multiboot2_tag_memory): ... to this. Update all users.
7073 (multiboot_tag_unused): Rename from this ...
7074 (multiboot2_tag_unused): ... to this. Update all users.
7075 (multiboot_tag_end): Rename from this ...
7076 (multiboot2_tag_end): ... to this. Update all users.
7077
7078 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7079
7080 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
7081 this platform we should support Multiboot1 first.
7082
7083 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
7084 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
7085 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
7086
7087 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
7088
7089 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
7090 of write calls (converting them to fwrite() if they aren't already).
7091 (get_torito_desc): Likewise.
7092 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
7093
7094 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
7095
7096 * util/i386/pc/grub-install.in: Move from here ...
7097 * util/grub-install.in: ... to here. Update all users.
7098
7099 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
7100
7101 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
7102
7103 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
7104
7105 Support for El Torito without floppy emulation.
7106
7107 * util/mkisofs/eltorito.c: Include `<errno.h>'.
7108 (init_boot_catalog): Improve error handling.
7109 (get_torito_desc): Don't use floppy emulation unless requested by
7110 user. Patch boot information table when requested via
7111 `-boot-info-table'.
7112 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
7113 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
7114 (use_boot_info_table): New variables.
7115 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
7116 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
7117 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
7118 `--eltorito-emul-floppy'.
7119 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
7120 and `OPTION_ELTORITO_EMUL_FLOPPY'.
7121 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
7122 (use_boot_info_table, get_731): New prototypes.
7123 * util/mkisofs/write.c (get_731): New function.
7124
7125 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
7126
7127 Fix the generation of the man page.
7128
7129 * util/pc/i386/grub-install.in: Source
7130 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
7131
7132 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
7133
7134 Large file support for grub-mkisofs.
7135
7136 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
7137 * util/mkisofs/mkisofs.c (next_extent, last_extent)
7138 (session_start): Upgrade type to `uint64_t'. Update all users.
7139 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
7140 (struct directory_entry): Upgrade type of `starting_block' and
7141 `size' to `uint64_t'. Update all users.
7142 (struct deferred): Remove unused structure.
7143 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
7144 Update all users.
7145 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
7146 file is larger than `UINT32_MAX'.
7147 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
7148 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
7149 return value.
7150 (struct deferred_write): Upgrade type of `extent' and `size' to
7151 `uint64_t'. Update all users.
7152 (last_extent_written): Upgrade type to `uint64_t'. Update all
7153 users.
7154 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
7155 Update all users. Upgrade type of `remain' to `int64_t' and
7156 `use' to `size_t'. Use error() to handle fread() errors.
7157 (write_files): Rely on write_one_file() rather than calling
7158 xfwrite() directly.
7159
7160 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
7161
7162 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
7163
7164 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7165
7166 * util/mkisofs/fnmatch.c: Remove.
7167 * util/mkisofs/getopt1.c: Likewise.
7168 * util/mkisofs/getopt.c: Likewise.
7169 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
7170 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
7171 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
7172 `gnulib/getopt1.c' and `gnulib/getopt.c'.
7173 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
7174
7175 * configure.ac: Detect `mingw32msvc' host_os.
7176 Check for lstat(), getuid() and getgid().
7177
7178 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
7179 instances of `u_char' with `uint8_t'.
7180
7181 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
7182 [!HAVE_GETUID] (getuid): New function (stub).
7183 [!HAVE_GETGID] (getgid): Likewise.
7184 [!HAVE_LSTAT] (lstat): Likewise.
7185 [!S_IROTH] (S_IROTH): New macro (dummy).
7186 [!S_IRGRP] (S_IRGRP): Likewise.
7187
7188 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7189
7190 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
7191 conditional expression).
7192
7193 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7194
7195 Import from Gnulib.
7196
7197 * gnulib/fnmatch.c: New file.
7198 * gnulib/fnmatch.h: Likewise.
7199 * gnulib/fnmatch_loop.c: Likewise.
7200 * gnulib/getopt.c: Likewise.
7201 * gnulib/getopt.h: Likewise.
7202 * gnulib/getopt1.c: Likewise.
7203 * gnulib/getopt_int.h: Likewise.
7204 * gnulib/gettext.h: Likewise.
7205
7206 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7207
7208 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
7209 * normal/handler.c (read_handler_list): Likewise.
7210
7211 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7212
7213 Misc cleanup.
7214
7215 * kern/command.c (grub_register_command_prio): Use
7216 grub_zalloc() instead of explicitly zeroing data.
7217 * kern/list.c: Include `<grub/mm.h>'.
7218 (grub_named_list_find): Replace `0' with `NULL'.
7219 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
7220 (fs_module_list): Change type to `grub_named_list_t'. Update all
7221 users.
7222 * normal/dyncmd.c (read_command_list): Add space between function
7223 call and parenthesis.
7224 * normal/handler.c (read_handler_list): Likewise.
7225
7226 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7227
7228 * normal/auth.c (punishment_delay): Moved from here ...
7229 (grub_auth_strcmp): ... to here (inside function).
7230
7231 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7232
7233 * include/grub/list.h (struct grub_named_list): Remove `const'
7234 qualifier from `name'.
7235 (struct grub_prio_list): Likewise.
7236
7237 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7238
7239 * normal/auth.c: Include `<grub/time.h>'.
7240 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
7241
7242 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7243
7244 * normal/auth.c (punishment_delay): New variable.
7245 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
7246 (grub_auth_check_authentication): Punish failed login attempts with
7247 an incremental (2^N) delay.
7248
7249 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7250
7251 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
7252 path with $(srcdir).
7253
7254 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
7257
7258 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7259
7260 * util/i386/coreboot/grub-mkrescue.in: New file.
7261 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
7262 variables.
7263
7264 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
7265 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
7266 * configure.ac: Add header and function checks to satisfy grub-mkisofs
7267 requirements.
7268 * util/mkisofs/defaults.h: New file.
7269 * util/mkisofs/eltorito.c: Likewise.
7270 * util/mkisofs/exclude.h: Likewise.
7271 * util/mkisofs/fnmatch.c: Likewise.
7272 * util/mkisofs/getopt.c: Likewise.
7273 * util/mkisofs/getopt1.c: Likewise.
7274 * util/mkisofs/hash.c: Likewise.
7275 * util/mkisofs/include/fctldefs.h: Likewise.
7276 * util/mkisofs/include/mconfig.h: Likewise.
7277 * util/mkisofs/include/prototyp.h: Likewise.
7278 * util/mkisofs/include/statdefs.h: Likewise.
7279 * util/mkisofs/iso9660.h: Likewise.
7280 * util/mkisofs/joliet.c: Likewise.
7281 * util/mkisofs/match.c: Likewise.
7282 * util/mkisofs/match.h: Likewise.
7283 * util/mkisofs/mkisofs.c: Likewise.
7284 * util/mkisofs/mkisofs.h: Likewise.
7285 * util/mkisofs/multi.c: Likewise.
7286 * util/mkisofs/name.c: Likewise.
7287 * util/mkisofs/rock.c: Likewise.
7288 * util/mkisofs/tree.c: Likewise.
7289 * util/mkisofs/write.c: Likewise.
7290
7291 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7292
7293 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
7294 being insecure.
7295
7296 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7297
7298 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
7299 `grub-mkimage' (and use $0 when possible).
7300
7301 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7302
7303 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
7304 error message for excessively large memory map.
7305
7306 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7307
7308 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
7309 executable bit.
7310
7311 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7312
7313 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
7314 message for coreboot users.
7315
7316 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
7317
7318 Fix build with GNU gold.
7319
7320 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
7321 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
7322 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
7323 link addresses.
7324 * aclocal.m4: Likewise.
7325
7326 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
7327
7328 * configure.ac (AC_PREREQ): Bump to 2.59d.
7329 * INSTALL: Make it more clear when Autoconf and Ruby are
7330 needed and when to run `./autogen.sh'.
7331
7332 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
7333
7334 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
7335 OSes.
7336
7337 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7338
7339 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
7340
7341 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7342
7343 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
7344 giving it to GNU Mach.
7345
7346 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7347
7348 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
7349 GNU partition number to get internal GRUB partition number.
7350
7351 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7352
7353 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
7354 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
7355
7356 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
7357
7358 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
7359 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
7360 case.
7361
7362 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
7363
7364 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
7365
7366 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
7367
7368 Fix build problem.
7369
7370 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
7371 `-isystem=$(srcdir)/include'.
7372
7373 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
7374
7375 * util/i386/pc/grub-install.in: Remove hint that device.map should be
7376 checked (grub-install doesn't currently rely on it).
7377
7378 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
7379
7380 Revert SVN r2660.
7381
7382 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
7383 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
7384 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
7385 * conf/i386-ieee1275.rmk: Likewise.
7386 * conf/i386-pc.rmk: Likewise.
7387 * conf/powerpc-ieee1275.rmk: Likewise.
7388 * conf/sparc64-ieee1275.rmk: Likewise.
7389 * conf/x86_64-efi.rmk: Likewise.
7390
7391 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7392
7393 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
7394
7395 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7396
7397 * include/grub/misc.h: Stop checking for APPLE_CC.
7398
7399 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7400
7401 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
7402 doesn't cause an infinite call loop.
7403
7404 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
7405
7406 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
7407 strings.
7408
7409 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7410
7411 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
7412 variable.
7413 * Makefile.in: Likewise.
7414
7415 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7416
7417 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
7418
7419 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7420
7421 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
7422
7423 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7424
7425 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
7426
7427 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7428
7429 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
7430 from here ...
7431 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
7432
7433 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7434
7435 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
7436 in $(MAKEINFO) invocation. This makes it clear in output that
7437 errors are being ignored.
7438
7439 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7440
7441 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
7442 from here ...
7443 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
7444 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
7445 * conf/i386-ieee1275.rmk: Likewise.
7446 * conf/i386-pc.rmk: Likewise.
7447 * conf/powerpc-ieee1275.rmk: Likewise.
7448 * conf/sparc64-ieee1275.rmk: Likewise.
7449 * conf/x86_64-efi.rmk: Likewise.
7450
7451 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
7452
7453 * util/grub-editenv.c (main): If only a command is given, use
7454 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
7455 (usage): FILENAME is now optional and has a default.
7456
7457 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
7458
7459 Improve grub-mkconfig performance when there are several menu
7460 entries on a single filesystem.
7461
7462 * util/grub.d/10_linux.in (linux_entry): Cache the output of
7463 prepare_grub_to_access_device.
7464 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7465 * util/grub.d/30_os-prober.in: Likewise.
7466
7467 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7468
7469 * util/grub.d/10_freebsd.in: Remove.
7470 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
7471 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
7472
7473 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7474
7475 * docs/grub.cfg: Fix example usage of *BSD loaders.
7476
7477 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7478
7479 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
7480 grub_util_error() call.
7481
7482 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7483
7484 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
7485 `reserved_first_sector' member.
7486 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
7487 `reserved_first_sector' to 1.
7488 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
7489 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
7490 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
7491 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
7492 filesystems which begin at first sector.
7493 (options): New option --skip-fs-probe.
7494 (main): Handle --skip-fs-probe and pass it to setup().
7495
7496 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7497
7498 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
7499 (memset): Fix function prototype.
7500
7501 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7502 2009-10-25 Vasily Averin <vvs@parallels.com>
7503
7504 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
7505 `dirent.direntlen == 0'.
7506
7507 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7508
7509 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
7510 `cpio'.
7511 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
7512
7513 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7514
7515 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
7516 `__trampoline_setup' and `__ucmpdi2'.
7517 * include/grub/powerpc/libgcc.h: Only export symbols for functions
7518 that libgcc provides.
7519
7520 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7521
7522 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
7523 * include/grub/sparc64/libgcc.h (memset): Likewise.
7524 * include/grub/misc.h (memset, memcmp): New function prototypes.
7525
7526 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7527
7528 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
7529 `cpio'.
7530 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
7531
7532 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7533
7534 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
7535 * docs/grub.cfg: Compensate for recent change in multiboot
7536 loader (since 2009-08-14 it won't pass filename to payload).
7537 * util/grub.d/10_hurd.in: Likewise.
7538
7539 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
7540
7541 * config.guess: Update to latest version from config git
7542 repository.
7543 * config.sub: Likewise.
7544
7545 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
7546
7547 Fix build on sparc64.
7548
7549 * configure.ac: Perform checks for libgcc symbols before
7550 adding `-nostdlib' to LDFLAGS.
7551
7552 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7553
7554 Let user specify OpenBSD root device.
7555
7556 * loader/i386/bsd.c (openbsd_root): New variable.
7557 (openbsd_opts): New option 'root'.
7558 (OPENBSD_ROOT_ARG): New macro.
7559 (grub_openbsd_boot): Use 'openbsd_root'.
7560 (grub_cmd_openbsd): Fill 'openbsd_root'.
7561
7562 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
7563
7564 * NEWS: Misc adjustments.
7565
7566 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7567
7568 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
7569
7570 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
7571
7572 * configure.ac: Bump version to 1.97.
7573
7574 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
7575
7576 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
7577 -mno-3dnow on x86 architectures. Some toolchains enable these
7578 features by default, but they rely on registers that aren't enabled
7579 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
7580
7581 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
7582
7583 Make entry text a bit more readable.
7584
7585 * util/grub.d/10_linux.in: Add `with' before `Linux'.
7586
7587 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7588
7589 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
7590
7591 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
7594 operations.
7595
7596 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 * configure.ac: Add missing dollar.
7599
7600 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7601
7602 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
7603
7604 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
7605 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
7606 exports.
7607 * include/grub/sparc64/libgcc.h: Likewise. Use
7608 preprocessor conditionals.
7609
7610 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
7611
7612 * conf/common.rmk (grub-dumpbios): Remove rule.
7613 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
7614 * util/grub-dumpbios.in: Remove file.
7615
7616 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
7617
7618 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
7619 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
7620
7621 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
7622 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
7623 users.
7624
7625 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
7626 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
7627 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
7628 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
7629 users.
7630
7631 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
7632
7633 * term/tparm.c: Switch to GPLv3.
7634
7635 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
7636
7637 * include/grub/i386/cpuid.h: Add header protection.
7638
7639 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
7640
7641 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
7642
7643 * include/grub/i386/cpuid.h: New file.
7644 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
7645 (has_longmode): Rename to ...
7646 (grub_cpuid_has_longmode): ... this. Update all users. Remove
7647 `static' attribute.
7648 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
7649 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
7650 on a CPU that doesn't implement AMD64 instruction set.
7651
7652 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
7653
7654 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
7655 that version.texi is rebuilt on version number changes.
7656
7657 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
7658
7659 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
7660 Fixes bug #27602.
7661
7662 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
7663
7664 * util/i386/pc/grub-install.in: Source
7665 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
7666 that the --grub-probe option will work.
7667 * util/sparc64/ieee1275/grub-install.in: Likewise.
7668
7669 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
7670
7671 * configure.ac: Bump version to 1.97~beta4.
7672
7673 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
7674
7675 Resync grub-mkdevicemap in x86_64-efi.
7676
7677 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
7678 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
7679 `util/devicemap.c'.
7680
7681 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
7682
7683 * util/grub-editenv.c (create_envblk_file): Write new block with a
7684 .new suffix and then rename it into place, to ensure atomic
7685 creation.
7686
7687 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
7688
7689 Do not automatically install headers.
7690
7691 * Makefile.in (include_DATA): Remove. Update all users.
7692
7693 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
7694
7695 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
7696 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
7697
7698 * util/osdetect.lua: Remove.
7699 * script/lua/lauxlib.c: Likewise.
7700 * script/lua/ldebug.c: Likewise.
7701 * script/lua/grub_main.c: Likewise.
7702 * script/lua/lauxlib.h: Likewise.
7703 * script/lua/ldebug.h: Likewise.
7704 * script/lua/ltablib.c: Likewise.
7705 * script/lua/liolib.c: Likewise.
7706 * script/lua/lstrlib.c: Likewise.
7707 * script/lua/lualib.h: Likewise.
7708 * script/lua/ldo.c: Likewise.
7709 * script/lua/ldump.c: Likewise.
7710 * script/lua/ldo.h: Likewise.
7711 * script/lua/loslib.c: Likewise.
7712 * script/lua/lundump.c: Likewise.
7713 * script/lua/grub_lib.c: Likewise.
7714 * script/lua/ldblib.c: Likewise.
7715 * script/lua/lundump.h: Likewise.
7716 * script/lua/lmem.c: Likewise.
7717 * script/lua/grub_lib.h: Likewise.
7718 * script/lua/lmathlib.c: Likewise.
7719 * script/lua/lstate.c: Likewise.
7720 * script/lua/ltm.c: Likewise.
7721 * script/lua/lvm.c: Likewise.
7722 * script/lua/lmem.h: Likewise.
7723 * script/lua/lstate.h: Likewise.
7724 * script/lua/ltm.h: Likewise.
7725 * script/lua/ltable.c: Likewise.
7726 * script/lua/lvm.h: Likewise.
7727 * script/lua/llex.c: Likewise.
7728 * script/lua/lgc.c: Likewise.
7729 * script/lua/grub_lua.h: Likewise.
7730 * script/lua/loadlib.c: Likewise.
7731 * script/lua/lfunc.c: Likewise.
7732 * script/lua/lopcodes.c: Likewise.
7733 * script/lua/lparser.c: Likewise.
7734 * script/lua/ltable.h: Likewise.
7735 * script/lua/llex.h: Likewise.
7736 * script/lua/lgc.h: Likewise.
7737 * script/lua/lfunc.h: Likewise.
7738 * script/lua/lbaselib.c: Likewise.
7739 * script/lua/lopcodes.h: Likewise.
7740 * script/lua/lparser.h: Likewise.
7741 * script/lua/lzio.c: Likewise.
7742 * script/lua/linit.c: Likewise.
7743 * script/lua/lobject.c: Likewise.
7744 * script/lua/llimits.h: Likewise.
7745 * script/lua/lstring.c: Likewise.
7746 * script/lua/lzio.h: Likewise.
7747 * script/lua/lapi.c: Likewise.
7748 * script/lua/lcode.c: Likewise.
7749 * script/lua/lua.h: Likewise.
7750 * script/lua/lobject.h: Likewise.
7751 * script/lua/lstring.h: Likewise.
7752 * script/lua/lapi.h: Likewise.
7753 * script/lua/lcode.h: Likewise.
7754 * script/lua/luaconf.h: Likewise.
7755
7756 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
7757
7758 * docs/grub.texi (Command-line and menu entry commands): Document
7759 date and echo commands.
7760
7761 2009-09-24 Pavel Roskin <proski@gnu.org>
7762
7763 * include/grub/kernel.h (struct grub_module_header): Remove
7764 `grub_module_header_types'. Make `type' unsigned. Make `size'
7765 32-bit on all platforms.
7766 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
7767 8-bit field. Use grub_host_to_target32() for `size'.
7768 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
7769 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
7770 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
7771
7772 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
7773
7774 Fix "lost keypress" bug in at_keyboard.
7775
7776 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
7777 Checks for readyness of input buffer (without flushing it).
7778 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
7779 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
7780
7781 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
7782
7783 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
7784 size check within GRUB_MACHINE_PCBIOS section.
7785
7786 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
7787
7788 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
7789 return value.
7790 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
7791 KEYBOARD_ISREADY check.
7792 (grub_at_keyboard_checkkey): Rename to ...
7793 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
7794 Remove gratuitous cast.
7795
7796 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
7797
7798 * configure.ac: Call AC_PROG_MKDIR_P.
7799 * Makefile.in (docs/stamp-vti): Create docs directory. Create
7800 version.texi in $(builddir) rather than $(srcdir).
7801 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
7802 to makeinfo's @include search path.
7803
7804 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
7805
7806 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
7807
7808 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
7809
7810 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
7811 for `*.dpkg-new'.
7812
7813 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
7814
7815 Build info documentation. Some code borrowed from Automake.
7816
7817 * configure.ac: Check for makeinfo.
7818 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
7819 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
7820 docs/version.texi.
7821 (MOSTLYCLEANFILES): Add vti.tmp.
7822 (docs/version.texi, docs/stamp-vti): Update automatically.
7823 (docs/grub.info): Build info documentation. Use --force and ignore
7824 errors for now.
7825 (all-local): Add $(INFOS).
7826 (install-local): Install info files.
7827 (uninstall): Uninstall info files.
7828 * docs/version.texi: Remove from revision control. This file is
7829 automatically generated on build now.
7830 * gendistlist.sh: Add `*.info'.
7831
7832 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
7833
7834 * kern/term.c: Fix indentation.
7835
7836 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
7837
7838 * util/hostdisk.c: Fix a comment.
7839
7840 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
7841
7842 Fix regression introduced in r2539.
7843
7844 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
7845 to 0xA1.
7846
7847 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
7848
7849 * util/grub.d/30_os-prober.in: Don't throw away stderr from
7850 os-prober. Under normal operation, it does not print anything to
7851 stderr; if it does, we need to debug it, and throwing away stderr
7852 makes that excessively difficult.
7853
7854 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
7855
7856 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
7857
7858 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
7859
7860 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
7861 AC_LANG_PROGRAM from autoconf.
7862 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
7863 prototypes (fixes warning).
7864
7865 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
7866 `--disable-werror' was used.
7867
7868 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
7869
7870 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
7871 uninitialized `lastaddr'.
7872
7873 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
7876
7877 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
7878
7879 * commands/test.c (get_fileinfo): Return immediately if
7880 grub_fs_probe fails.
7881
7882 2009-09-14 José Martínez <xosemp@gmail.com>
7883
7884 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
7885
7886 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
7887
7888 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
7889 output.
7890
7891 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
7892
7893 * configure.ac: Remove --enable-grub-pe2elf. Only build
7894 grub-pe2elf when needed by the build system itself.
7895 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
7896
7897 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
7898
7899 * configure.ac: Bump version to 1.97~beta3.
7900 * docs/version.texi: Likewise.
7901
7902 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
7903
7904 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
7905 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
7906 from here ...
7907 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
7908 (grub_linux_setup_video): ... to here (with some adjustments).
7909
7910 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
7911
7912 Fix memory corruption issue (spotted by Colin Watson).
7913
7914 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
7915 causing returned size to be stored in an incorrect memory location.
7916 Fix use of uninitialized value when storing the returned size.
7917
7918 2009-09-12 Yves Blusseau <blusseau@zetam.org>
7919
7920 Change clean rules to properly remove files
7921
7922 * genmk.rb: add new clean rules
7923 * Makefile.in (clean): add the new targets
7924 (mostlyclean): likewise
7925
7926 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
7927
7928 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
7929 to grub_uint64_t.
7930 * fs/ntfs.c (init_file): Understand 64-bit sizes for
7931 non-resident files.
7932
7933 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
7934
7935 * configure.ac: Don't look for help2man when cross-compiling. Fixes
7936 part of bug #27349.
7937
7938 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
7939
7940 * util/grub-mkconfig.in: Make the created config mode 400 and
7941 print a warning if it fails.
7942
7943 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
7944
7945 * util/grub.d/40_custom.in: Ask user to type custom entries below
7946 comment, rather than below 'exec tail' line.
7947
7948 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
7949
7950 * util/grub.d/40_custom.in: Make sure that the explanatory text is
7951 visible in grub.cfg.
7952
7953 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
7954
7955 * util/grub.d/40_custom.in: Make it a little clearer how to use this
7956 file.
7957
7958 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
7959
7960 * docs/grub.cfg: Add an example menu entry for memtest86+.
7961
7962 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
7963
7964 * config.guess: Update to latest version from config git.
7965 * config.sub: Likewise.
7966
7967 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
7968
7969 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
7970 unknown-command case. Fixes bug #27320.
7971
7972 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
7973
7974 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
7975 `help' if the command exists.
7976
7977 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
7978
7979 * INSTALL: Require GCC 4.1.3 or later.
7980
7981 2009-09-06 Yves Blusseau <blusseau@zetam.org>
7982
7983 * Makefile.in (RMKFILES): add i386-qemu.rmk
7984 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
7985 $(srcdir)/stamp-h.in
7986
7987 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
7988
7989 * util/grub-probe.c (probe): Comment out buggy codepath, which
7990 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
7991 should be re-enabled after 1.97.
7992
7993 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
7994
7995 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
7996 find searches for.
7997
7998 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
7999
8000 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
8001 unnecessary calls to grub_error.
8002
8003 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
8004
8005 * NEWS: Mention `keystatus' and Unicode fonts.
8006
8007 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
8008
8009 * configure.ac: Bump version to 1.97~beta2.
8010 * docs/version.texi: Likewise.
8011
8012 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
8013
8014 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
8015 containing unwind information in some cases where it previously did
8016 not. Use -fno-dwarf2-cfi-asm if available to restore the old
8017 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
8018 discussion.
8019
8020 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
8021
8022 Embedding loadenv module into grub-emu
8023
8024 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
8025 commands/loadenv.c
8026 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
8027 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
8028 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
8029 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
8030 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
8031 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
8032
8033 2009-09-03 Magnus Granberg <zorry@ume.nu>
8034
8035 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
8036 include -fPIE in the default specs.
8037 * configure.ac: Check if pie_possible is yes and add -fno-PIE
8038 to TARGET_CFLAGS.
8039
8040 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
8041
8042 * INSTALL: Note that GNU Bison 2.3 or later is required.
8043
8044 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
8045
8046 * kern/i386/pc/startup.S: Fix typo.
8047
8048 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8049
8050 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
8051 according to GCS.
8052
8053 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
8054
8055 * docs/grub.texi (Naming convention): Describe one-based partition
8056 numbering.
8057 (Device syntax): Likewise.
8058 (File name syntax): Likewise.
8059 (Block list syntax): Likewise.
8060 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
8061 menu.lst.
8062 (File name syntax): Likewise.
8063 (Command-line and menu entry commands): Document acpi, blocklist,
8064 crc, export, insmod, keystatus, ls, set, and unset commands.
8065
8066 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
8067
8068 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
8069 to avoid implying that only one of --shift, --ctrl, or --alt may be
8070 used.
8071
8072 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
8073
8074 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
8075 rather than comparing against S_IFREG, which will almost never work.
8076
8077 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
8078
8079 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
8080 (write_blocklists): Likewise.
8081
8082 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
8083
8084 * script/lua/grub_lua.h (fputs): Supply a format string as the first
8085 argument to grub_printf.
8086
8087 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
8088
8089 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
8090 non GNU test.
8091
8092 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8093
8094 * kern/file.c (grub_file_read): Spelling fix
8095
8096 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8097
8098 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
8099 loading of headers in some cases.
8100
8101 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
8102
8103 * configure.ac: Bump version to 1.97~beta1.
8104 * docs/version.texi: Likewise.
8105
8106 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8107
8108 * include/grub/i386/xnu.h: Add license header.
8109 include grub/err.h explicitly.
8110
8111 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
8112
8113 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
8114 to `ufs' in the vfs.root.mountfrom kernel parameter.
8115
8116 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
8117
8118 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
8119
8120 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
8121 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
8122
8123 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
8124 `ARRAY_SIZE' macro.
8125
8126 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8127
8128 * kern/file.c (grub_file_read): Check offset.
8129 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
8130 * fs/jfs.c (grub_jfs_read_file): Likewise.
8131 * fs/ntfs.c (grub_ntfs_read): Likewise.
8132 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
8133 * fs/minix.c (grub_minix_read_file): Correct offset check.
8134 * fs/ufs.c (grub_ufs_read_file): Likewise.
8135
8136 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
8137
8138 * term/i386/pc/console.c (bios_data_area): Cast
8139 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
8140
8141 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8142
8143 1-bit optimised blitters.
8144
8145 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
8146 prototype.
8147 (grub_video_fbblit_replace_24bit_1bit): Likewise.
8148 (grub_video_fbblit_replace_16bit_1bit): Likewise.
8149 (grub_video_fbblit_replace_8bit_1bit): Likewise.
8150 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
8151 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
8152 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
8153 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
8154 function.
8155 (grub_video_fbblit_replace_24bit_1bit): Likewise.
8156 (grub_video_fbblit_replace_16bit_1bit): Likewise.
8157 (grub_video_fbblit_replace_8bit_1bit): Likewise.
8158 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
8159 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
8160 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
8161 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
8162 when possible.
8163 * video/video.c (grub_video_get_blit_format): Return
8164 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
8165
8166 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
8167
8168 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
8169 the first argument to grub_printf.
8170
8171 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
8172 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
8173
8174 Add `getkeystatus' terminal method. Add a new `keystatus' command
8175 to query it.
8176
8177 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
8178 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
8179 modifier key bitmasks.
8180 (struct grub_term_input): Add `getkeystatus' member.
8181 (grub_getkeystatus): Add prototype.
8182 * kern/term.c (grub_getkeystatus): New function.
8183
8184 * include/grub/i386/pc/memory.h
8185 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
8186 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
8187 Data Area layout.
8188 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
8189 (grub_console_term_input): Set `getkeystatus' member.
8190 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
8191 constants.
8192 (grub_usb_keyboard_getreport): Likewise.
8193 (grub_usb_keyboard_checkkey): Likewise.
8194 (grub_usb_keyboard_getkeystatus): New function.
8195 (grub_usb_keyboard_term): Set `getkeystatus' member.
8196
8197 * commands/keystatus.c: New file.
8198 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
8199 (keystatus_mod_SOURCES): New variable.
8200 (keystatus_mod_CFLAGS): Likewise.
8201 (keystatus_mod_LDFLAGS): Likewise.
8202 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
8203 commands/keystatus.c.
8204 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8205 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8206 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8207 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8208 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8209 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8210
8211 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8212
8213 Split befs.mod and afs.mod into *_be.mod and *.mod
8214
8215 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
8216 (grub_fstest_SOURCES): Likewise.
8217 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
8218 (afs_be_mod_SOURCES): New variable.
8219 (afs_be_mod_CFLAGS): Likewise.
8220 (afs_be_mod_LDFLAGS): Likewise.
8221 (befs_be_mod_SOURCES): Likewise.
8222 (befs_be_mod_CFLAGS): Likewise.
8223 (befs_be_mod_LDFLAGS): Likewise.
8224 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
8225 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8226 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8227 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
8228 (grub_emu_SOURCES): Likewise.
8229 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8230 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8231 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8232 * fs/afs_be.c: New file.
8233 * fs/befs_be.c: New file.
8234 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
8235 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
8236 (U16): Replaced with ...
8237 (grub_afs_to_cpu16): ...this. All users updated.
8238 (U32): Replaced with ...
8239 (grub_afs_to_cpu32): ...this. All users updated.
8240 (U64): Replaced with ...
8241 (grub_afs_to_cpu64): ...this. All users updated.
8242 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
8243 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
8244 (grub_afs_validate_sblock): Check only one endianness.
8245 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
8246 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
8247 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
8248 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
8249 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
8250 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
8251 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
8252 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
8253
8254 2009-08-26 Bean <bean123ch@gmail.com>
8255
8256 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
8257 64-bit number.
8258 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
8259 (grub_xfs_inode_block): Change return type to grub_uint64_t.
8260 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
8261
8262 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8263
8264 NetBSD memory map support.
8265
8266 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
8267 (grub_netbsd_btinfo_mmap_header): New structure.
8268 (grub_netbsd_btinfo_mmap_entry): Likewise.
8269 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
8270
8271 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 Enable bsd.mod on coreboot.
8274
8275 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
8276 (bsd_mod_SOURCES): New variable.
8277 (bsd_mod_CFLAGS): Likewise.
8278 (bsd_mod_LDFLAGS): Likewise.
8279 (bsd_mod_ASFLAGS): Likewise.
8280 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
8281 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
8282
8283 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8284
8285 Cleanup NetBSD root support.
8286
8287 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
8288 grub_bsd_get_device.
8289 Fix typo.
8290
8291 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
8292
8293 * util/grub.d/00_header.in: Move check for the video backend of
8294 gfxterm from here ...
8295 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
8296 a suitable video backend.
8297
8298 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8299
8300 Fix breakage in grub-setup.
8301
8302 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
8303 "msdos_partition_map".
8304
8305 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8306
8307 Fix breakage in normal/auth.c.
8308
8309 * normal/auth.c (grub_iswordseparator): New function.
8310
8311 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8312
8313 Authentication support.
8314
8315 * commands/password.c: New file.
8316 * conf/common.rmk (pkglib_MODULES): Add password.mod.
8317 (password_mod_SOURCES): New variable.
8318 (password_mod_CFLAGS): Likewise.
8319 (password_mod_LDFLAGS): Likewise.
8320 (normal_mod_SOURCES): Add normal/auth.c.
8321 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
8322 normal/auth.c.
8323 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8324 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8325 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8326 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8327 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8328 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8329 * include/grub/auth.h: New file.
8330 * include/grub/err.h (grub_err_t): New enum value
8331 GRUB_ERR_ACCESS_DENIED.
8332 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
8333 'users'.
8334 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
8335 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
8336 users updated.
8337 * normal/auth.c: New file.
8338 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
8339 (grub_cmdline_run): Don't allow to go to command line without
8340 authentication.
8341 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
8342 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
8343 menuentry without superuser rights.
8344 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
8345 user isn't a superuser.
8346
8347 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8348
8349 Save space by inlining misc.c functions.
8350
8351 * kern/misc.c (grub_iswordseparator): Made static.
8352 * kern/misc.c (grub_strcat): Moved from here ...
8353 * include/grub/misc.h (grub_strcat): ... here. Inlined.
8354 * kern/misc.c (grub_strncat): Moved from here ...
8355 * include/grub/misc.h (grub_strncat): ... here. Inlined.
8356 * kern/misc.c (grub_strcasecmp): Moved from here ...
8357 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
8358 * kern/misc.c (grub_strncasecmp): Moved from here ...
8359 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
8360 * kern/misc.c (grub_isalpha): Moved from here ...
8361 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
8362 * kern/misc.c (grub_isdigit): Moved from here ...
8363 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
8364 * kern/misc.c (grub_isgraph): Moved from here ...
8365 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
8366 * kern/misc.c (grub_tolower): Moved from here ...
8367 * include/grub/misc.h (grub_tolower): ... here. Inlined.
8368
8369 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8370
8371 * script/sh/function.c (grub_script_function_find): Cut error message
8372 not to flood terminal.
8373 * script/sh/lexer.c (grub_script_yylex): Remove command line length
8374 limit.
8375 * script/sh/script.c (grub_script_arg_add): Duplicate string.
8376
8377 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
8378
8379 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
8380 `report' grub_uint8_t *.
8381 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
8382 Use a 50-millisecond timeout rather than just repeating
8383 grub_usb_keyboard_getreport 50 times.
8384 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
8385
8386 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 Rename *_partition_map to part_*
8389
8390 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
8391 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
8392 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
8393 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
8394 All users updated.
8395 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
8396 All users updated.
8397 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
8398 * util/grub-probe.c (probe_partmap): Don't transform partition name
8399 to get module name.
8400
8401 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 Fix OpenBSD and NetBSD support.
8404
8405 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
8406 memory address conflict.
8407 (OPENBSD_MMAP_ACPI): New definition.
8408 (OPENBSD_MMAP_NVS): Likewise.
8409 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
8410 and OPENBSD_MMAP_NVS.
8411 Add memory map terminator
8412 Explicit cast when calling grub_unix_real_boot.
8413 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
8414
8415 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8416
8417 Let user specify NetBSD root device.
8418
8419 * loader/i386/bsd.c (netbsd_root): New variable.
8420 (netbsd_opts): New option 'root'.
8421 (NETBSD_ROOT_ARG): New macro.
8422 (grub_netbsd_boot): Use 'netbsd_root'.
8423 (grub_bsd_unload): Free 'netbsd_root'.
8424 (grub_cmd_netbsd): Fill 'netbsd_root'.
8425
8426 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8427
8428 Support for 64-bit NetBSD.
8429
8430 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
8431 point when booting non-FreeBSD.
8432
8433 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8434
8435 Support --no-smp and --no-acpi for NetBSD.
8436
8437 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
8438 (NETBSD_AB_NOACPI): Likewise.
8439 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
8440 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
8441
8442 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8443
8444 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
8445 errors.
8446 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
8447 errors. Call grub_error when needed.
8448
8449 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8450
8451 * commands/search.c (search_fs): Try searching without autoload first.
8452 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
8453 filesystem module explicitly for faster booting.
8454
8455 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
8456
8457 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
8458
8459 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
8460
8461 * util/grub.d/30_os-prober.in: Disable os-prober if
8462 `GRUB_DISABLE_OS_PROBER' was set to true.
8463
8464 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
8465
8466 * partmap/pc.c: Rename to ...
8467 * partmap/msdos.c: ... this. Update all users.
8468 (grub_pc_partition_map): Rename to ...
8469 (grub_msdos_partition_map): ... this. Update all users.
8470
8471 * parttool/pcpart.c: Rename to ...
8472 * parttool/msdospart.c: ... this. Update all users.
8473
8474 * include/grub/pc_partition.h: Rename to ...
8475 * include/grub/msdos_partition.h: ... this. Update all users.
8476 (grub_pc_partition_bsd_entry): Rename to ...
8477 (grub_msdos_partition_bsd_entry): ... this. Update all users.
8478 (grub_pc_partition_disk_label): Rename to ...
8479 (grub_msdos_partition_disk_label): ... this. Update all users.
8480 (grub_pc_partition_entry): Rename to ...
8481 (grub_msdos_partition_entry): ... this. Update all users.
8482 (grub_pc_partition_mbr): Rename to ...
8483 (grub_msdos_partition_mbr): ... this. Update all users.
8484 (grub_pc_partition): Rename to ...
8485 (grub_msdos_partition): ... this. Update all users.
8486 (grub_pc_partition_is_empty): Rename to ...
8487 (grub_msdos_partition_is_empty): ... this. Update all users.
8488 (grub_pc_partition_is_extended): Rename to ...
8489 (grub_msdos_partition_is_extended): ... this. Update all users.
8490 (grub_pc_partition_is_bsd): Rename to ...
8491 (grub_msdos_partition_is_bsd): ... this. Update all users.
8492
8493 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
8494 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
8495 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
8496 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
8497 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
8498 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
8499 (gpt_mod_LDFLAGS): Rename to ...
8500 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
8501 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
8502 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
8503 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
8504 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
8505 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
8506 (part_gpt_mod_LDFLAGS): ... this.
8507 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
8508 `pcpart.mod' to `msdospart.mod'.
8509 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
8510 to ...
8511 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
8512 (msdospart_mod_LDFLAGS): ... this.
8513
8514 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8515
8516 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
8517 (openbsd_opts): Likewise.
8518 (netbsd_opts): Likewise.
8519 (freebsd_flags): Added 0 terminator.
8520 (openbsd_flags): Likewise.
8521 (netbsd_flags): Likewise.
8522 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
8523 (grub_cmd_freebsd): Transformed into extended command.
8524 (grub_cmd_openbsd): Likewise.
8525 (grub_cmd_netbsd): Likewise.
8526 (cmd_freebsd): Changed type to grub_extcmd_t.
8527 (cmd_openbsd): Likewise.
8528 (cmd_netbsd): Likewise.
8529 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
8530 grub_cmd_openbsd as extended commands.
8531 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
8532 cmd_netbsd and cmd_openbsd
8533
8534 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
8535
8536 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
8537
8538 2009-08-21 Pavel Roskin <proski@gnu.org>
8539
8540 * Makefile.in (install-local): When checking if a file is in the
8541 build directory, use "test -e" to detect symlinks.
8542
8543 * Makefile.in (install-local): Remove all files in
8544 $(DESTDIR)$(pkglibdir) before installing new files there.
8545
8546 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
8547
8548 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
8549 grub-mkelfimage.
8550
8551 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
8552
8553 * util/grub-mkconfig.in: Don't use gfxterm by default if not
8554 explicitly specified by the user.
8555
8556 2009-08-18 Pavel Roskin <proski@gnu.org>
8557
8558 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
8559 grub_uint8_t pointer for data.
8560 * include/grub/fbutil.h (struct grub_video_fbblit_info):
8561 Likewise.
8562 * video/fb/fbutil.c: Remove unnecessary casts.
8563
8564 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
8565
8566 VBE cleanup.
8567
8568 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
8569 (grub_vbe_set_video_mode): Save active mode info
8570 only after setting the mode.
8571 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
8572 second argument.
8573
8574 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
8575
8576 Rename variables for clarity.
8577
8578 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
8579 (active_vbe_mode_info): ... this. All users updated.
8580 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
8581 All users updated.
8582 (initial_mode): Rename to ...
8583 (initial_vbe_mode): ... this. All users updated.
8584 (mode_in_use): Rename to ..
8585 (vbe_mode_in_use): ... this. All users updated.
8586 (mode_list): Rename to ..
8587 (vbe_mode_list): ... this. All users updated.
8588 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
8589 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
8590 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
8591 'mode_list_size' to 'vbe_mode_list_size'.
8592 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
8593 'best_mode_info' to 'best_vbe_mode_info' and
8594 'best_mode' to 'best_vbe_mode'
8595
8596 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
8597
8598 Remove duplicate grub_video_fb_get_video_ptr.
8599
8600 * include/grub/fbutil.h (get_data_ptr): Rename to ...
8601 (grub_video_fb_get_video_ptr): ... this.
8602 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
8603 * video/fb/fbutil.c: Add comment about addressing.
8604 (get_data_ptr): Rename to ...
8605 (grub_video_fb_get_video_ptr): ... this. All users updated.
8606 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
8607
8608 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
8609
8610 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
8611 grub_dprintf() that was just added.
8612
8613 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
8614
8615 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
8616 (DEFAULT_VIDEO_MODE): Remove macros.
8617 (grub_linux_boot): Remove assumption that Linux has FB support,
8618 and use "text" as default video mode.
8619
8620 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
8621
8622 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
8623 grub_dprintf.
8624 * fs/fat.c (grub_fat_read_data): Likewise.
8625
8626 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8627
8628 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
8629 payload.
8630 (grub_module): Likewise.
8631
8632 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8633
8634 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
8635 mbi->cmdline but free playground.
8636
8637 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8638
8639 Handle group offset on UFS1.
8640
8641 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
8642 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
8643
8644 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8645
8646 Split ufs.mod into ufs1.mod and ufs2.mod.
8647
8648 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
8649 (grub_fstest_SOURCES): Likewise.
8650 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
8651 (ufs_mod_SOURCES): Remove.
8652 (ufs_mod_CFLAGS): Likewise.
8653 (ufs_mod_LDFLAGS): Likewise.
8654 (ufs1_mod_SOURCES): New variable.
8655 (ufs1_mod_CFLAGS): Likewise.
8656 (ufs1_mod_LDFLAGS): Likewise.
8657 (ufs2_mod_SOURCES): New variable.
8658 (ufs2_mod_CFLAGS): Likewise.
8659 (ufs2_mod_LDFLAGS): Likewise.
8660 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
8661 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
8662 Likewise.
8663 (grub_emu_SOURCES): Likewise.
8664 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8665 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8666 (grub_setup_SOURCES): Likewise.
8667 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8668 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
8669 (grub_setup_SOURCES): Likewise.
8670 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
8671 Likewise.
8672 * fs/ufs2.c: New file.
8673 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
8674
8675 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8676
8677 Framebuffer split.
8678
8679 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
8680 subsystem at the end.
8681 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
8682 (video_fb_mod_SOURCES): New variable.
8683 (video_fb_mod_CFLAGS): Likewise.
8684 (video_fb_mod_LDFLAGS): Likewise.
8685 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
8686 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
8687 * video/i386/pc/vbeblit.c: Moved from here ...
8688 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
8689 * video/i386/pc/vbefill.c: Moved from here ...
8690 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
8691 * video/i386/pc/vbeutil.c: Moved from here ...
8692 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
8693 * include/grub/i386/pc/vbeblit.h: Moved from here ...
8694 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
8695 * include/grub/i386/pc/vbefill.h: Moved from here ...
8696 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
8697 * include/grub/i386/pc/vbeutil.h: Moved from here ...
8698 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
8699 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
8700 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
8701 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
8702 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
8703 (grub_video_adapter): Added 'get_info_and_fini'.
8704 (grub_video_get_info_and_fini): New prototype.
8705 (grub_video_set_mode): make modestring const char *.
8706 * loader/i386/linux.c (grub_linux_setup_video): Use
8707 grub_video_get_info_and_fini.
8708 (grub_linux_boot): Move modesetting just before booting.
8709 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
8710 grub_video_get_info_and_fini.
8711 * video/i386/pc/vbe.c: Moved framebuffer part ...
8712 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
8713 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
8714 grub_video_fbstd_colors and grub_video_fb_set_palette.
8715 (grub_video_vbe_init): Clear 'framebuffer' variable and use
8716 grub_video_fb_init.
8717 (grub_video_vbe_fini): Use grub_video_fb_fini.
8718 (grub_video_vbe_setup): Use framebuffer.render_target instead of
8719 render_target and use grub_video_fb_set_active_render_target and
8720 grub_video_fb_set_palette.
8721 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
8722 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
8723 (grub_video_vbe_adapter): Use framebuffer.
8724 * video/video.c (grub_video_get_info_and_fini): New function.
8725 (grub_video_set_mode): Make modestring const char *.
8726 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
8727 values are already initialised.
8728
8729 2009-08-14 Pavel Roskin <proski@gnu.org>
8730
8731 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
8732 ABS and APPLE_CC.
8733 * boot/i386/pc/diskboot.S: Likewise.
8734 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
8735 sectors allow compilation on MacOSX.
8736 * conf/i386-pc.rmk: Enable unconditional compilation of
8737 lnxboot.img.
8738
8739 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
8740
8741 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
8742 * util/grub.d/00_header.in: Enter interruptible sleep if
8743 GRUB_HIDDEN_TIMEOUT is set.
8744
8745 2009-08-13 Yves Blusseau <blusseau@zetam.org>
8746
8747 * include/grub/symbol.h: Add the LOCAL macro.
8748 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
8749 starting with "L_".
8750
8751 2009-08-13 Pavel Roskin <proski@gnu.org>
8752
8753 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
8754 any modern compilers we support.
8755
8756 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
8757 Use local labels starting with "L_" so that Apple assembler
8758 knows they are local.
8759
8760 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
8761
8762 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
8763 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
8764 (bsd_kernel_types): ... this enum.
8765
8766 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
8767 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
8768 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
8769
8770 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
8771 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
8772 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
8773 messages.
8774
8775 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
8776
8777 * util/grub-dumpdevtree: Moved from here ...
8778 * util/i386/efi/grub-dumpdevtree: ... to here.
8779 (hexify): New function. Converts a string to its hex version.
8780 Generate hex versions of "efi" and "device-properties" by calling
8781 hexify() on the ASCII strings rather than by hardcoding numbers.
8782
8783 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
8784
8785 * fs/jfs.c: Update copyright year.
8786
8787 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
8788
8789 * util/grub.d/00_header.in: Fix a comment.
8790 * util/grub.d/10_linux.in: Likewise.
8791 * util/grub.d/10_windows.in: Likewise.
8792 * util/grub.d/10_hurd.in: Likewise.
8793
8794 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
8795
8796 * util/grub-mkconfig.in: Allow the user to specify the used font
8797 with GRUB_FONT.
8798
8799 2009-08-08 Pavel Roskin <proski@gnu.org>
8800
8801 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
8802 available, xfs.mod needs it now.
8803
8804 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
8805 the "g" modifier in sed when the intention is to strip something
8806 once. This fixes comparison of kernels with multiple dashes.
8807
8808 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
8809 on it. Add missing space before closing bracket. Fix
8810 misleading formatting.
8811
8812 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8813
8814 * docs/grub.texi: Major overhaul. Remove all sections that are
8815 specific to GRUB Legacy, or mostly composed of Legacy-specific
8816 information.
8817
8818 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8819
8820 * docs/version.texi: New file. Provides version information for
8821 grub.texi.
8822
8823 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8824
8825 * docs/grub.texi: Update CVS information to SVN.
8826 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
8827
8828 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
8829
8830 * util/grub-mkconfig.in: Remove a wrong `fi'.
8831
8832 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
8833
8834 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
8835 (grub_jfs_uuid): New function.
8836 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
8837
8838 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
8839
8840 * util/grub-mkconfig_lib.in (font_path): Move the functionality
8841 of it to ...
8842 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
8843 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
8844
8845 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8846
8847 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
8848 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
8849 Update all users.
8850
8851 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
8852 not just "vmlinu[zx]".
8853 Moved from here ...
8854 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
8855 all users.
8856
8857 * util/grub.d/10_linux.in (find_latest): Moved from here ...
8858 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
8859 all users.
8860
8861 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8862
8863 * util/grub.d/10_freebsd.in: Use an absolute device path for
8864 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
8865
8866 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
8867
8868 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
8869 handling of multiple abstraction modules.
8870
8871 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
8872
8873 Fix a bug resulting in black screen when loading Linux using a
8874 packed video mode.
8875
8876 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
8877 function.
8878
8879 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
8880 (grub_vbe_bios_getset_dac_palette_width): New function.
8881 (grub_vbe_bios_get_dac_palette_width)
8882 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
8883 grub_vbe_bios_getset_dac_palette_width()).
8884
8885 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
8886 check for return status.
8887 (grub_vbe_get_video_mode_info): When getting information for a packed
8888 mode (<= 8 bpp), obtain DAC palette width using
8889 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
8890 {red,green,blue}_mark_size.
8891
8892 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
8893
8894 * commands/search.c (options): Fix help output to match actual code.
8895
8896 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
8897
8898 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
8899 of homegrown code.
8900
8901 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8902
8903 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
8904 on XFS or ReiserFS.
8905
8906 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8907
8908 Support Apple partition map with sector size different from 512 bytes.
8909
8910 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
8911 (apple_partition_map_iterate): Respect 'aheader.blocksize'
8912 and 'apart.partmap_size'.
8913
8914 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8915 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
8916
8917 Fix cpuid command.
8918
8919 * commands/i386/cpuid.c (options): New variable.
8920 (grub_cmd_cpuid): Return real error.
8921 (GRUB_MOD_INIT(cpuid)): Declare options.
8922
8923 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
8924
8925 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
8926 valid.
8927
8928 2009-07-31 Bean <bean123ch@gmail.com>
8929
8930 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
8931 log2_inode.
8932 (grub_fshelp_node): Move inode field to the end.
8933 (grub_xfs_data): Remove inode field.
8934 (grub_xfs_inode_block): Calculate inode size using sblock.
8935 (grub_xfs_inode_offset): Likewise.
8936 (grub_xfs_read_inode): Calculate inode size using sblock.
8937 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
8938 (grub_xfs_iterate_dir): Calculate inode size using sblock.
8939 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
8940 to match inode size.
8941 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
8942 not accessible when data is null.
8943 (grub_xfs_open): Likewise.
8944
8945 2009-07-31 Bean <bean123ch@gmail.com>
8946
8947 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
8948 Don't change pv->disk if it's already set.
8949
8950 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
8951 (grub_raid_register): ... here.
8952 (grub_raid_rescan): Removed.
8953
8954 * include/grub/raid.h (grub_raid_rescan): Removed.
8955
8956 * util/grub-fstest.c: Remove include file <grub/raid.h>.
8957 (fstest): Replace grub_raid_rescan with module fini function followed
8958 by init function.
8959
8960 * util/grub-probe.c: Add include file <grub/raid.h>.
8961 (probe_raid_level): New function.
8962 (probe): Detect abstraction by walking the disk device, support two
8963 level of abstraction (LVM on RAID) when detecting partition map.
8964
8965 2009-07-31 Pavel Roskin <proski@gnu.org>
8966
8967 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
8968 to grub_zalloc(), it was erroneous.
8969 Reported by Bean <bean123ch@gmail.com>
8970
8971 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
8972
8973 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
8974 embedding zone, not only the first one.
8975
8976 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
8977
8978 * term/gfxterm.c (clear_char): New function.
8979 (grub_virtual_screen_setup): Use clear_char.
8980 (scroll_up): Likewise.
8981 (grub_virtual_screen_cls): Likewise.
8982
8983 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
8984
8985 * util/deviceiter.c (get_acceleraid_disk_name): New static
8986 function.
8987 (grub_util_iterate_devices): Handle Accelraid devices.
8988 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
8989
8990 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
8991
8992 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
8993 separator for the suggested gfxpayload string (';' collides with the
8994 parser and needs escaping).
8995
8996 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
8997
8998 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
8999 Clear direction flag before jumping to OS.
9000 (grub_multiboot2_real_boot): Likewise.
9001
9002 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
9003
9004 * util/i386/pc/grub-install: Fix parsing of --disk-module
9005 option.
9006
9007 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
9008
9009 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
9010 when embedding.
9011
9012 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
9013
9014 * util/grub-mkconfig.in (package_version): New variable.
9015 Use it do display the version.
9016
9017 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
9018
9019 * kern/file.c (grub_file_open): Revert to previous check with
9020 grub_errno.
9021
9022 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9023
9024 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
9025 from help line. It's out of sync with code.
9026
9027 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9028
9029 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
9030 entries on failed boot.
9031
9032 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
9033
9034 * kern/file.c (grub_file_open): Fix an error check.
9035
9036 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
9039 partition map couldn't be identified.
9040
9041 2009-07-23 Pavel Roskin <proski@gnu.org>
9042
9043 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
9044 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
9045 case of little endian words becomes just an optimization.
9046 Respect const modifier.
9047 (md5_final): Use code that doesn't depend on endianness.
9048
9049 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
9050 to avoid loss of upper bits if align is unsigned and shorter
9051 than addr.
9052
9053 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
9054
9055 UUID support for UFS
9056
9057 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
9058 (grub_ufs_uuid): New function.
9059 (grub_ufs_fs): add .uuid
9060
9061 2009-07-21 Pavel Roskin <proski@gnu.org>
9062
9063 * kern/dl.c (grub_dl_check_header): Make static.
9064
9065 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
9066
9067 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
9068 add drivemap for Vista. It breaks Windows 7.
9069
9070 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
9071
9072 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
9073 128 bytes
9074
9075 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9076
9077 Add BFS support
9078
9079 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
9080 (grub_fstest_SOURCES): Likewise.
9081 (pkglib_MODULES): Add befs.mod.
9082 (befs_mod_SOURCES): New variable.
9083 (befs_mod_CFLAGS): Likewise.
9084 (befs_mod_LDFLAGS): Likewise.
9085 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9086 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9087 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9088 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9089 (grub_setup_SOURCES): Likewise.
9090 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9091 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9092 (grub_setup_SOURCES): Likewise.
9093 * fs/befs.c: New file.
9094 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
9095 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
9096 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
9097 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
9098 (B_KEY_INDEX_ALIGN): New declaration.
9099 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
9100 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
9101 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
9102 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
9103 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
9104 (grub_afs_mount) [MODE_BFS]: Likewise.
9105 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
9106 (grub_afs_fs): Use GRUB_AFS_FSNAME
9107 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
9108 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
9109 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
9110 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
9111
9112 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
9113
9114 * util/getroot.c (find_root_device): Add support for MacOSX.
9115 * util/hostdisk.c: Likewise.
9116
9117 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 * font/font.c (find_glyph): Check whether a font is present to avoid
9120 segmentation fault.
9121
9122 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
9123
9124 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
9125
9126 2009-07-20 Pavel Roskin <proski@gnu.org>
9127
9128 * configure.ac: Trim excessively wordy excuses.
9129
9130 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9131
9132 Add symlink, mtime and label support to AtheFS.
9133
9134 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
9135 (grub_afs_iterate_dir): Handle symlinks.
9136 (grub_afs_open): Use grub_afs_read_symlink.
9137 (grub_afs_dir): Likewise.
9138 Pass mtime.
9139 (grub_afs_label): New function.
9140 (grub_afs_fs): Add grub_afs_label.
9141 (grub_afs_read_symlink): New function.
9142
9143 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9144
9145 Fix AtheFS support.
9146
9147 * fs/afs.c: Fix comments style.
9148 (grub_afs_blockrun): Declare as packed.
9149 (grub_afs_datastream): Likewise.
9150 (grub_afs_bnode): Likewise.
9151 (grub_afs_btree): Likewise.
9152 (grub_afs_sblock): Likewise.
9153 Declare `name' as char.
9154 (grub_afs_inode): Declare as packed.
9155 Change void *vnode to grub_uint32_t unused.
9156 (grub_afs_iterate_dir): Check that key_size is positive.
9157 (grub_afs_mount): Don't read superblock twice.
9158 (grub_afs_dir): Don't free node in case of error,
9159 grub_fshelp_find_file already handles this.
9160 (grub_afs_open): Likewise.
9161
9162 2009-07-19 Pavel Roskin <proski@gnu.org>
9163
9164 * Makefile.in: Remove LIBLZO and enable_lzo.
9165 * conf/i386-pc.rmk: Remove lzo support.
9166 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
9167 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
9168 support.
9169 * kern/i386/pc/lzo1x.S: Remove.
9170 * kern/i386/pc/startup.S: Remove lzo support.
9171 * util/i386/pc/grub-mkimage.c: Likewise.
9172
9173 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
9174
9175 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
9176 * fs/xfs.c (grub_xfs_dir): Likewise.
9177 * fs/afs.c (grub_afs_dir): Likewise.
9178 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
9179 (grub_iso9660_open): Likewise.
9180 * fs/jfs.c (grub_jfs_open): Likewise.
9181 * fs/ext2.c (grub_ext2_dir): Likewise.
9182 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
9183 * script/sh/lexer.c (grub_script_yylex): Likewise.
9184
9185 2009-07-16 Pavel Roskin <proski@gnu.org>
9186
9187 * configure.ac: Never add "-c" to CFLAGS.
9188
9189 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
9190
9191 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
9192 grub_cv_cc_efiemu should be used.
9193
9194 * configure.ac: Typo fixes.
9195
9196 * kern/mm.c (grub_zalloc): New function.
9197 (grub_debug_zalloc): Likewise.
9198 * include/grub/mm.h: Declare grub_zalloc() and
9199 grub_debug_zalloc().
9200 * util/misc.c (grub_zalloc): New function.
9201 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
9202 instead of grub_malloc(), remove unneeded initializations.
9203 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
9204 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
9205 * commands/parttool.c (grub_cmd_parttool): Likewise.
9206 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
9207 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
9208 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
9209 * disk/usbms.c (grub_usbms_finddevs): Likewise.
9210 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
9211 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
9212 (grub_cmd_efiemu_pnvram): Likewise.
9213 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
9214 * fs/iso9660.c (grub_iso9660_mount): Likewise.
9215 (grub_iso9660_iterate_dir): Likewise.
9216 * fs/jfs.c (grub_jfs_opendir): Likewise.
9217 * fs/ntfs.c (list_file): Likewise.
9218 (grub_ntfs_mount): Likewise.
9219 * kern/disk.c (grub_disk_open): Likewise.
9220 * kern/dl.c (grub_dl_load_core): Likewise.
9221 * kern/elf.c (grub_elf_file): Likewise.
9222 * kern/env.c (grub_env_context_open): Likewise.
9223 (grub_env_set): Likewise.
9224 (grub_env_set_data_slot): Likewise.
9225 * kern/file.c (grub_file_open): Likewise.
9226 * kern/fs.c (grub_fs_blocklist_open): Likewise.
9227 * loader/i386/multiboot.c (grub_module): Likewise.
9228 * loader/xnu.c (grub_xnu_create_key): Likewise.
9229 (grub_xnu_create_value): Likewise.
9230 * normal/main.c (grub_normal_add_menu_entry): Likewise.
9231 (read_config_file): Likewise.
9232 * normal/menu_entry.c (make_screen): Likewise.
9233 * partmap/sun.c (sun_partition_map_iterate): Likewise.
9234 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
9235 * script/sh/script.c (grub_script_parse): Likewise.
9236 * video/bitmap.c (grub_video_bitmap_create): Likewise.
9237 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
9238 * video/readers/png.c (grub_png_output_byte): Likewise.
9239 (grub_video_reader_png): Likewise.
9240
9241 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 Enable all targets that can be built by default
9244
9245 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
9246 grub-mkfont and grub-fstest if they can be built
9247
9248 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 Fix hang and segmentation fault in grub-emu-usb
9251
9252 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
9253 * util/usb.c (grub_libusb_devices): likewise
9254 (grub_libusb_init): rename to ...
9255 (GRUB_MOD_INIT (libusb)):...this
9256 (grub_libusb_fini): rename to ..
9257 (GRUB_MOD_FINI (libusb)):...this
9258 * disk/usbms.c (grub_usbms_transfer): fix retry logic
9259 * include/grub/disk.h (grub_raid_init): removed, it's useless
9260 (grub_raid_fini): likewise
9261 (grub_lvm_init): likewise
9262 (grub_lvm_fini): likewise
9263 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
9264 by grub_init_all
9265
9266 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9267
9268 Fix libusb
9269
9270 * Makefile.in (LIBUSB): new macro
9271 * genmk.rb (Utility/print_tail): new method
9272 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
9273 (top level): call util.print_tail at the end.
9274
9275 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9276
9277 Make FreeBSD accept zpool.cache
9278
9279 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
9280 type is /boot/zfs/zpool.cache
9281
9282 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9283
9284 Fix 64-bit efiemu
9285
9286 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
9287 correct wrong typedef
9288 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
9289
9290 2009-07-15 Pavel Roskin <proski@gnu.org>
9291
9292 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
9293 * kern/disk.c (struct grub_disk_cache): Likewise.
9294
9295 * commands/probe.c (options): Typo fix.
9296
9297 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
9298 Increase to 0x5a to accommodate FAT32. Adjust other offsets
9299 accordingly.
9300 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
9301
9302 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
9303 the end of "Error" to make the message more readable.
9304
9305 * boot/i386/pc/boot.S (kernel_segment): Remove.
9306 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
9307 for destination.
9308
9309 * boot/i386/pc/boot.S (boot_version): Remove.
9310 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9311 Remove.
9312
9313 * include/grub/i386/pc/boot.h: Sort all offsets.
9314 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
9315 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
9316 * boot/i386/pc/boot.S: Assert location of every offset listed in
9317 include/grub/i386/pc/boot.h.
9318
9319 2009-07-13 Pavel Roskin <proski@gnu.org>
9320
9321 * include/grub/i386/coreboot/machine.h: Rename
9322 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
9323 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
9324 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
9325
9326 * kern/dl.c: Force native word size to suppress warnings when
9327 compiling grub-emu.
9328
9329 * kern/device.c (grub_device_iterate): Change struct part_ent to
9330 hold the name, not a pointer to it. Use one grub_malloc() per
9331 partition, not two. Free partition_name if grub_malloc() fails.
9332 Set ents to NULL only before grub_partition_iterate() is called.
9333
9334 2009-07-11 Bean <bean123ch@gmail.com>
9335
9336 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
9337 childname.
9338
9339 2009-07-10 Bean <bean123ch@gmail.com>
9340 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
9341
9342 * kern/ieee1275/openfw.c (grub_children_iterate)
9343 (grub_devalias_iterate): Fix size evaluation for property or path
9344 strings, which was broken since r2132.
9345
9346 2009-07-07 Pavel Roskin <proski@gnu.org>
9347
9348 * commands/search.c (search_file): Merge into ...
9349 (search_fs): ... this. Accept search type as argument.
9350 (grub_cmd_search): Pass search type to search_fs().
9351
9352 * include/grub/util/console.h: New file.
9353 * util/console.c: Use it instead of grub/machine/console.h.
9354 * util/grub-emu.c: Likewise.
9355
9356 * lib/arg.c (find_long_option): Remove.
9357 (find_long): Add `len' argument, make `s' const char *.
9358 (grub_arg_parse): Parse long options in place, not in a
9359 temporary buffer.
9360
9361 2009-07-06 Pavel Roskin <proski@gnu.org>
9362
9363 * commands/search.c (search_fs): Fix potential NULL pointer
9364 dereference.
9365
9366 * commands/search.c (search_fs): Replace QUID macro with quid_fn
9367 function pointer.
9368
9369 2009-07-06 Daniel Mierswa <impulze@impulze.org>
9370
9371 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
9372 comparison.
9373
9374 2009-07-05 Pavel Roskin <proski@gnu.org>
9375
9376 * include/grub/i386/linux.h (struct linux_kernel_params):
9377 Restore padding3, it's still needed.
9378
9379 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
9380 FreeBSD.
9381 * util/osdetect.lua: Likewise.
9382
9383 2009-07-05 Bean <bean123ch@gmail.com>
9384
9385 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
9386
9387 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
9388 (grub_lua_getenv): Likewise.
9389 (grub_lua_setenv): Likewise.
9390 (save_errno): New function.
9391 (push_result): Likewise.
9392 (grub_lua_enum_device): Likewise.
9393 (grub_lua_enum_file): Likewise.
9394 (grub_lua_file_open): Likewise.
9395 (grub_lua_file_close): Likewise.
9396 (grub_lua_file_seek): Likewise.
9397 (grub_lua_file_read): Likewise.
9398 (grub_lua_file_getline): Likewise.
9399 (grub_lua_file_getsize): Likewise.
9400 (grub_lua_file_getpos): Likewise.
9401 (grub_lua_file_eof): Likewise.
9402 (grub_lua_file_exist): Likewise.
9403 (grub_lua_add_menu): Likewise.
9404
9405 * script/lua/grub_lua.h (isupper): New inline function.
9406 (islower): Likewise.
9407 (ispunct): Likewise.
9408 (isxdigit): Likewise.
9409 (strcspn): Change to normal function.
9410 (strpbkr): New function declaration.
9411 (memchr): Likewise.
9412
9413 * script/lua/grub_main.c (scan_str): New function.
9414 (strcspn): Likewise.
9415 (strpbrk): Likewise.
9416 (memchr): Likewise.
9417
9418 * script/lua/linit.c (lualibs): Enable the string library.
9419
9420 * util/osdetect.lua: New file.
9421
9422 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
9423
9424 * include/grub/i386/linux.h (struct linux_kernel_params): Add
9425 `capabilities' member.
9426
9427 2009-07-02 Pavel Roskin <proski@gnu.org>
9428
9429 * genparttoollist.sh: Add missing newline at the end.
9430
9431 2009-07-01 Pavel Roskin <proski@gnu.org>
9432
9433 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
9434
9435 * util/hostdisk.c (open_device): Remove `const' from
9436 `sysctl_size', as sysctlbyname() can change it (in this case it
9437 doesn't actually happen).
9438
9439 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
9440 using signed long int constants.
9441
9442 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
9443 constant to avoid a warning on FreeBSD.
9444
9445 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
9446 where it's needed.
9447
9448 * Makefile.in: Install include/grub/machine symlink.
9449
9450 * Makefile.in: When installing symlinks, use "cp -fR", which
9451 works on FreeBSD and MacOSX.
9452 From Yves Blusseau <cl7m42e02@sneakemail.com>
9453
9454 * kern/dl.c (grub_dl_resolve_symbol): Make static.
9455 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
9456
9457 * util/misc.c: Move grub_reboot() and grub_halt() ...
9458 * util/grub-emu.c: ... here. Make main_env static.
9459 * include/grub/util/misc.h: Remove main_env.
9460
9461 * kern/mm.c: Use correct format to print size_t.
9462
9463 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
9464 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
9465 * kern/powerpc/dl.c: Likewise.
9466 * kern/sparc64/dl.c: Likewise.
9467 * kern/x86_64/dl.c: Likewise.
9468
9469 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9470
9471 Fix grub-emu build on sparc64-ieee1275.
9472
9473 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
9474 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
9475
9476 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9477
9478 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
9479 (grub_reboot, grub_halt): New functions.
9480
9481 * util/i386/pc/misc.c: Delete. Update all users.
9482 * util/sparc64/ieee1275/misc.c: Likewise.
9483 * util/powerpc/ieee1275/misc.c: Likewise.
9484
9485 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9486
9487 * conf/i386.rmk (setjmp_mod_SOURCES)
9488 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
9489 * conf/common.rmk (setjmp_mod_SOURCES)
9490 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
9491 to use $(target_cpu).
9492 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
9493 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
9494 * conf/powerpc-ieee1275.rmk: Likewise.
9495 * conf/sparc64-ieee1275.rmk: Likewise.
9496
9497 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
9498 $(target_cpu) for kern/$(target_cpu)/dl.c.
9499 * conf/i386-efi.rmk: Likewise.
9500 * conf/i386-ieee1275.rmk: Likewise.
9501 * conf/x86_64-efi.rmk: Likewise.
9502 * conf/i386-coreboot.rmk: Likewise.
9503 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
9504 $(target_cpu) for kern/$(target_cpu)/dl.c and for
9505 kern/$(target_cpu)/cache.S.
9506 * conf/sparc64-ieee1275.rmk: Likewise.
9507
9508 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9509
9510 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
9511 type to `grub_uint8_t', and adjust `padding9' accordingly.
9512
9513 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9514
9515 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
9516
9517 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
9518 assembly in final jump, using register constraints.
9519
9520 (grub_linux_boot): For text mode, initialize `have_vga' using
9521 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
9522
9523 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
9524 right before the final jump.
9525
9526 Set `video_mode' to 0x3.
9527
9528 Document initialization of `video_page', `video_mode' and
9529 `video_ega_bx'.
9530
9531 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9532
9533 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
9534 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
9535 and set GRUB_LINUX_FLAG_QUIET appropriately.
9536
9537 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9538
9539 Fix build on Debian / sparc.
9540
9541 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
9542
9543 2009-06-28 Pavel Roskin <proski@gnu.org>
9544
9545 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
9546 fix a warning.
9547
9548 * util/grub.d/10_linux.in: Match SUSE style initrd names.
9549
9550 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
9551
9552 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
9553 `err'.
9554
9555 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
9556
9557 Revert r2338.
9558
9559 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
9560 file can't be opened. grub_file_open() is already supposed to set
9561 grub_errno / grub_errmsg appropriately.
9562 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9563
9564 2009-06-27 Pavel Roskin <proski@gnu.org>
9565 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
9566
9567 * include/grub/dl.h: Include grub/elf.h.
9568 (struct grub_dl): Add symtab field.
9569 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
9570 GRUB_MODULES_MACHINE_READONLY.
9571 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
9572 of the header for read-only modules.
9573 (grub_dl_unload): Free mod->symtab for read-only modules.
9574 * kern/i386/dl.c: Use mod->symtab.
9575 * kern/powerpc/dl.c: Likewise.
9576 * kern/sparc64/dl.c: Likewise.
9577 * kern/x86_64/dl.c: Likewise.
9578
9579 * conf/i386-qemu.rmk: New file.
9580 * kern/i386/qemu/startup.S: Likewise.
9581 * kern/i386/qemu/mmap.c: Likewise.
9582 * boot/i386/qemu/boot.S: Likewise.
9583 * include/grub/i386/qemu/time.h: Likewise.
9584 * include/grub/i386/qemu/serial.h: Likewise.
9585 * include/grub/i386/qemu/kernel.h: Likewise.
9586 * include/grub/i386/qemu/console.h: Likewise.
9587 * include/grub/i386/qemu/boot.h: Likewise.
9588 * include/grub/i386/qemu/init.h: Likewise.
9589 * include/grub/i386/qemu/machine.h: Likewise.
9590 * include/grub/i386/qemu/loader.h: Likewise.
9591 * include/grub/i386/qemu/memory.h: Likewise.
9592
9593 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
9594 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
9595 [qemu] (pkglib_IMAGES): Add `boot.img'.
9596 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
9597 [qemu] (boot_img_FORMAT): New variables.
9598 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
9599 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
9600 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
9601 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9602 [qemu] (kernel_img_FORMAT): New variables.
9603
9604 * configure.ac: Recognise `i386-qemu'.
9605
9606 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
9607 (for no compression).
9608 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
9609 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
9610 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
9611 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
9612 ifdefs).
9613
9614 2009-06-27 Pavel Roskin <proski@gnu.org>
9615
9616 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
9617 read.
9618 * efiemu/prepare32.c: Likewise.
9619 * efiemu/prepare64.c: Likewise.
9620
9621 2009-06-26 Pavel Roskin <proski@gnu.org>
9622
9623 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
9624 * include/grub/elf.h: Define symbols without "32" or "64" based
9625 on GRUB_TARGET_WORDSIZE.
9626 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
9627 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
9628 ELF definitions.
9629 * efiemu/loadcore64.c: Likewise.
9630 * loader/i386/bsd32.c: Likewise.
9631 * loader/i386/bsd64.c: Likewise.
9632 * kern/dl.c: Remove own ELF definitions.
9633 * util/i386/efi/grub-mkimage.c: Likewise.
9634
9635 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
9636
9637 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
9638 segment 0x0 unconditionally, because the reference generated by
9639 GAS is an absolute address.
9640
9641 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9642
9643 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
9644 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
9645
9646 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9647
9648 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
9649 indexes. Check for -f explicitly.
9650 (search_file): Improve error message.
9651 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
9652
9653 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9654
9655 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
9656 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
9657
9658 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9659
9660 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
9661 * conf/i386-ieee1275.rmk: Likewise.
9662 * conf/i386-coreboot.rmk: Likewise.
9663
9664 * kern/i386/pc/startup.S (grub_stop): Remove function.
9665 * kern/i386/ieee1275/startup.S: Likewise.
9666 * kern/i386/coreboot/startup.S: Likewise.
9667 * kern/i386/misc.S (grub_stop): New function.
9668
9669 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9670
9671 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
9672 * kern/i386/realmode.S (real_to_prot): ... to here.
9673
9674 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9675
9676 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
9677 with `kernel.img'.
9678 (kernel_elf_SOURCES): Rename to ...
9679 (kernel_img_SOURCES): ... this.
9680 (kernel_elf_HEADERS): Rename to ...
9681 (kernel_img_HEADERS): ... this. Update all users.
9682 (kernel_elf_ASFLAGS): Rename to ...
9683 (kernel_img_ASFLAGS): ... this.
9684 (kernel_elf_CFLAGS): Rename to ...
9685 (kernel_img_CFLAGS): ... this.
9686 (kernel_elf_LDFLAGS): Rename to ...
9687 (kernel_img_LDFLAGS): ... this.
9688 * conf/i386-coreboot.rmk: Likewise.
9689 * conf/powerpc-ieee1275.rmk: Likewise.
9690
9691 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
9692 with "kernel.img".
9693
9694 2009-06-21 Pavel Roskin <proski@gnu.org>
9695
9696 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
9697 to match nested functions.
9698 * loader/sparc64/ieee1275/linux.c: Likewise.
9699
9700 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
9701
9702 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
9703
9704 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
9705 all i386 platforms.
9706
9707 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
9708
9709 Fix asm file handling on ELF, and remove workarounds.
9710
9711 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
9712 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
9713 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
9714 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
9715
9716 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9717
9718 Load BSD ELF modules
9719
9720 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
9721 and loader/i386/bsd64.c
9722 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
9723 (FREEBSD_MODTYPE_ELF_MODULE): New definition
9724 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
9725 (grub_freebsd_load_elfmodule32): New declaration
9726 (grub_freebsd_load_elfmoduleobj64): Likewise
9727 (grub_freebsd_load_elf_meta32): Likewise
9728 (grub_freebsd_load_elf_meta64): Likewise
9729 (grub_freebsd_add_meta): Likewise
9730 (grub_freebsd_add_meta_module): Likewise
9731 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
9732 (grub_freebsd_add_meta_module): Likewise and move module-specific
9733 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
9734 (grub_cmd_freebsd): Add elf-kernel specific parts
9735 based on grub_freebsd_add_meta_module
9736 (grub_cmd_freebsd_module): Add type parsing moved from
9737 grub_freebsd_add_meta_module
9738 (grub_cmd_freebsd_module_elf): New function
9739 (cmd_freebsd_module_elf): New variable
9740 (GRUB_MOD_INIT): Register freebsd_module_elf
9741 * loader/i386/bsd32.c: New file
9742 * loader/i386/bsd64.c: Likewise
9743 * loader/i386/bsdXX.c: Likewise
9744 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
9745 (grub_elf64_load): Likewise
9746 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
9747 All users updated
9748 (grub_elf64_load_hook_t): Likewise
9749
9750 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
9751
9752 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
9753 variable.
9754 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
9755 don't write a menu entry for recovery mode.
9756
9757 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
9758
9759 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
9760 after it's no longer needed.
9761
9762 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
9763
9764 * include/grub/i386/loader.h (grub_linux_prot_size)
9765 (grub_linux_tmp_addr, grub_linux_real_addr)
9766 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
9767 GRUB_MACHINE_PCBIOS.
9768 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
9769 common grub_util_info() call to ...
9770 (generate_image): ... here.
9771 Fix use of uninitialized memory, comparison of signed with
9772 unsigned integers and memory leak.
9773 Remove bogus module address message.
9774
9775 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
9778 grub_raid_register
9779 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
9780
9781 2009-06-19 Pavel Roskin <proski@gnu.org>
9782
9783 * configure.ac: Remove stray AC_MSG_CHECKING.
9784
9785 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9786
9787 * disk/scsi.c (grub_scsi_open): use continue instead of big if
9788
9789 2009-06-18 Pavel Roskin <proski@gnu.org>
9790
9791 * conf/common.rmk: Add fs_file.mod.
9792 * disk/fs_file.c: New file.
9793 * include/grub/disk.h (enum grub_disk_dev_id): Add
9794 GRUB_DISK_DEVICE_FILE_ID.
9795
9796 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9797
9798 Fix build with Apple's toolchain. Part 2
9799
9800 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
9801 a fake start
9802
9803 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9804
9805 Fix build with Apple's toolchain. Part 1
9806
9807 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
9808 for long calls
9809 * configure.ac: remove a leftover AC_MSG_RESULT
9810 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
9811 Apple's toolchain
9812
9813 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 Fix warnings
9816
9817 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
9818 (decomp_block): initialize ch
9819 use grub_memcpy instead of memcpy
9820
9821 2009-06-17 Pavel Roskin <proski@gnu.org>
9822
9823 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
9824 version, use declarations needed to use vga_text as the startup
9825 console.
9826
9827 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
9828 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
9829 the kernel.
9830 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
9831 and grub_at_keyboard_fini(), it's done on module load and
9832 unload.
9833
9834 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
9835
9836 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
9837 file can't be found.
9838 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9839
9840 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
9841
9842 Fix newline handling
9843
9844 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
9845 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
9846 (grub_script_yylex): don't segfault on unterminated script
9847 newline terminates command and variable
9848
9849 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
9850
9851 avoid double grub_adjust_range call. Bug reported by David Simner
9852
9853 * kern/disk.c (grub_disk_write): change to raw disk access before
9854 calling disk_read
9855
9856 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
9857
9858 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
9859 spaces, for the benefit of help2man.
9860 * util/i386/efi/grub-mkimage.c (usage): Likewise.
9861
9862 2009-06-16 Pavel Roskin <proski@gnu.org>
9863
9864 * kern/i386/halt.c: Include grub/machine/init.h.
9865 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
9866
9867 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
9868
9869 * util/grub.d/30_os-prober.in: Use ${root} in the generated
9870 drivemap menuentry.
9871
9872 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
9873
9874 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
9875 `echo' command.
9876
9877 2009-06-16 Pavel Roskin <proski@gnu.org>
9878
9879 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
9880 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
9881 save %dx, we only need %dl and we never change it.
9882 * boot/i386/pc/cdboot.S: Don't set the root drive.
9883 * boot/i386/pc/pxeboot.S: Likewise.
9884 * include/grub/i386/pc/boot.h: Remove
9885 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
9886 GRUB_BOOT_MACHINE_DRIVE_CHECK.
9887 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
9888 * kern/i386/pc/init.c (make_install_device): Remove references
9889 to grub_root_drive.
9890 * kern/i386/pc/startup.S: Likewise.
9891 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
9892
9893 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
9894
9895 xnu_uuid command
9896
9897 * commands/xnu_uuid.c: new file
9898 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
9899 (xnu_uuid_mod_SOURCES): new variable
9900 (xnu_uuid_mod_CFLAGS): likewise
9901 (xnu_uuid_mod_LDFLAGS): likewise
9902 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
9903 * conf/i386-ieee1275.rmk: likewise
9904 * conf/i386-pc.rmk: likewise
9905 * conf/powerpc-ieee1275.rmk: likewise
9906 * conf/sparc64-ieee1275.rmk: likewise
9907 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
9908
9909 2009-06-16 Pavel Roskin <proski@gnu.org>
9910
9911 * configure.ac: Avoid '==' in test command, it's not portable.
9912
9913 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
9914
9915 Probe command
9916
9917 * commands/probe.c: new file
9918 * conf/common.rmk (pkglib_MODULES): add probe.mod
9919 (probe_mod_SOURCES): new variable
9920 (probe_mod_CFLAGS): likewise
9921 (probe_mod_LDFLAGS): likewise
9922 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
9923 * conf/i386-ieee1275.rmk: likewise
9924 * conf/i386-pc.rmk: likewise
9925 * conf/powerpc-ieee1275.rmk: likewise
9926 * conf/sparc64-ieee1275.rmk: likewise
9927
9928 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9929
9930 Fix handling of string like \"hello\" and "a
9931 b"
9932
9933 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
9934 (grub_script_yylex): fix parsing of quoting, escaping and newline
9935
9936 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9937
9938 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
9939 handling
9940
9941 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
9942
9943 * util/grub-mkconfig.in: Fix parsing of --output option.
9944
9945 2009-06-12 Pavel Roskin <proski@gnu.org>
9946
9947 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
9948 genmk.rb don't need to be generated or installed.
9949
9950 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
9951
9952 * commands/i386/pc/drivemap_int13h.S: add more comments
9953
9954 2009-06-11 Pavel Roskin <proski@gnu.org>
9955
9956 * Makefile.in (uninstall): Uninstall manuals.
9957
9958 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
9959 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
9960 and update-grub_lib in two places.
9961 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
9962
9963 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
9964 a compiler warning.
9965
9966 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
9967 `entry_lo' to fix variable shadowing.
9968
9969 2009-06-11 Christian Franke <franke@computer.org>
9970
9971 * kern/misc.c (__enable_execute_stack): Add missing return type
9972 to prevent gcc warning.
9973
9974 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
9975
9976 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
9977
9978 2009-06-11 Pavel Roskin <proski@gnu.org>
9979
9980 * Makefile.in: Don't rely on any scripts being executable.
9981 Always use $(SHELL) to run shell scripts.
9982
9983 * configure.ac: Always define ___main if using -nostdlib. This
9984 fixes tests on Cygwin.
9985
9986 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
9987
9988 UDF fix
9989
9990 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
9991 is in bytes and not in blocks
9992
9993 2009-06-11 Pavel Roskin <proski@gnu.org>
9994
9995 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
9996 warning.
9997
9998 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
9999
10000 * util/grub.d/30_os-prober.in: Fix a comment. Source
10001 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
10002 to set the root device. Place drivemap command in the generated
10003 chain entry.
10004
10005 2009-06-11 Pavel Roskin <proski@gnu.org>
10006
10007 * configure.ac: Remove host_m32. Issues with 64-bit utilities
10008 have long been resolved.
10009
10010 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
10011
10012 * util/grub.d/10_linux.in: Capitalise "Linux".
10013
10014 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
10015
10016 2009-06-11 Pavel Roskin <proski@gnu.org>
10017
10018 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
10019 fix a gcc warning and ensure that the function won't ever exit.
10020
10021 * kern/i386/ieee1275/init.c: Add missing prototype for
10022 grub_stop_floppy().
10023
10024 * loader/ieee1275/multiboot2.c [__i386__]: Include
10025 grub/cpu/multiboot.h.
10026
10027 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
10028 casts to short - they are not portable and cause warnings. Fix
10029 use of uninitialized values in input_buf. Use ARRAY_SIZE.
10030
10031 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
10032
10033 Drivemap fixes
10034
10035 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
10036 new function
10037 (grub_get_root_biosnumber_saved): new variable
10038 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
10039 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
10040 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
10041 %dx after the call if necessary
10042 * conf/common.rmk (pkglib_MODULES): remove boot.mod
10043 (boot_mod_SOURCES): remove
10044 (boot_mod_CFLAGS): remove
10045 (boot_mod_LDFLAGS): remove
10046 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
10047 (boot_mod_SOURCES): new variable
10048 (boot_mod_CFLAGS): likewise
10049 (boot_mod_LDFLAGS): likewise
10050 * conf/i386-efi.rmk: likewise
10051 * conf/i386-ieee1275.rmk: likewise
10052 * conf/i386-pc.rmk: likewise
10053 * conf/powerpc-ieee1275.rmk: likewise
10054 * conf/sparc64-ieee1275.rmk: likewise
10055 * conf/x86_64-efi.rmk: likewise
10056 * include/grub/i386/pc/biosnum.h: new file
10057 * lib/i386/pc/biosnum.c: likewise
10058 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
10059 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
10060 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
10061
10062 2009-06-10 Pavel Roskin <proski@gnu.org>
10063
10064 * io/gzio.c (test_header): Don't reuse one buffer for all data.
10065 Use separate variables. Read only the file size at the end, but
10066 not the checksum that we don't use.
10067
10068 * kern/file.c (grub_file_read): Use void pointer for the buffer.
10069 Adjust all callers.
10070
10071 * kern/ieee1275/openfw.c: Remove libc includes.
10072 * kern/ieee1275/cmain.c: Likewise.
10073 * include/grub/ieee1275/ieee1275.h: Likewise.
10074
10075 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
10076 compiler warnings.
10077
10078 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
10079
10080 * Makefile.in: Remove all trailing whitespace.
10081 * conf/i386-pc.rmk: Likewise.
10082 * conf/powerpc-ieee1275.rmk: Likewise.
10083 * conf/sparc64-ieee1275.rmk: Likewise.
10084 * docs/grub.texi: Likewise.
10085 * docs/texinfo.tex: Likewise.
10086 * disk/fs_uuid.c: Likewise.
10087 * disk/lvm.c: Likewise.
10088 * disk/scsi.c: Likewise.
10089 * disk/ata.c: Likewise.
10090 * disk/ieee1275/ofdisk.c: Likewise.
10091 * disk/i386/pc/biosdisk.c: Likewise.
10092 * disk/host.c: Likewise.
10093 * disk/raid.c: Likewise.
10094 * disk/efi/efidisk.c: Likewise.
10095 * disk/usbms.c: Likewise.
10096 * disk/memdisk.c: Likewise.
10097 * disk/loopback.c: Likewise.
10098 * kern/powerpc/dl.c: Likewise.
10099 * kern/device.c: Likewise.
10100 * kern/dl.c: Likewise.
10101 * kern/sparc64/dl.c: Likewise.
10102 * kern/ieee1275/ieee1275.c: Likewise.
10103 * kern/term.c: Likewise.
10104 * kern/fs.c: Likewise.
10105 * kern/i386/dl.c: Likewise.
10106 * kern/i386/pc/startup.S: Likewise.
10107 * kern/i386/pc/init.c: Likewise.
10108 * kern/i386/pc/mmap.c: Likewise.
10109 * kern/i386/pc/lzo1x.S: Likewise.
10110 * kern/i386/ieee1275/init.c: Likewise.
10111 * kern/i386/realmode.S: Likewise.
10112 * kern/i386/tsc.c: Likewise.
10113 * kern/partition.c: Likewise.
10114 * kern/corecmd.c: Likewise.
10115 * kern/file.c: Likewise.
10116 * kern/efi/efi.c: Likewise.
10117 * kern/efi/init.c: Likewise.
10118 * kern/efi/mm.c: Likewise.
10119 * kern/main.c: Likewise.
10120 * kern/err.c: Likewise.
10121 * kern/env.c: Likewise.
10122 * kern/disk.c: Likewise.
10123 * kern/generic/millisleep.c: Likewise.
10124 * kern/generic/rtc_get_time_ms.c: Likewise.
10125 * kern/misc.c: Likewise.
10126 * kern/parser.c: Likewise.
10127 * genmk.rb: Likewise.
10128 * configure.ac: Likewise.
10129 * boot/i386/pc/diskboot.S: Likewise.
10130 * boot/i386/pc/pxeboot.S: Likewise.
10131 * boot/i386/pc/boot.S: Likewise.
10132 * boot/i386/pc/lnxboot.S: Likewise.
10133 * boot/i386/pc/cdboot.S: Likewise.
10134 * parttool/pcpart.c: Likewise.
10135 * video/readers/tga.c: Likewise.
10136 * video/video.c: Likewise.
10137 * video/bitmap.c: Likewise.
10138 * lib/envblk.c: Likewise.
10139 * lib/i386/setjmp.S: Likewise.
10140 * fs/xfs.c: Likewise.
10141 * fs/afs.c: Likewise.
10142 * fs/fat.c: Likewise.
10143 * fs/ntfs.c: Likewise.
10144 * fs/udf.c: Likewise.
10145 * fs/affs.c: Likewise.
10146 * fs/iso9660.c: Likewise.
10147 * fs/hfs.c: Likewise.
10148 * fs/fshelp.c: Likewise.
10149 * fs/ext2.c: Likewise.
10150 * fs/jfs.c: Likewise.
10151 * fs/reiserfs.c: Likewise.
10152 * fs/hfsplus.c: Likewise.
10153 * fs/minix.c: Likewise.
10154 * fs/cpio.c: Likewise.
10155 * fs/sfs.c: Likewise.
10156 * fs/ufs.c: Likewise.
10157 * efiemu/prepare.c: Likewise.
10158 * efiemu/loadcore_common.c: Likewise.
10159 * efiemu/runtime/efiemu.sh: Likewise.
10160 * efiemu/runtime/efiemu.S: Likewise.
10161 * efiemu/runtime/efiemu.c: Likewise.
10162 * efiemu/pnvram.c: Likewise.
10163 * efiemu/main.c: Likewise.
10164 * efiemu/i386/pc/cfgtables.c: Likewise.
10165 * efiemu/i386/loadcore64.c: Likewise.
10166 * efiemu/i386/loadcore32.c: Likewise.
10167 * efiemu/loadcore.c: Likewise.
10168 * efiemu/symbols.c: Likewise.
10169 * efiemu/mm.c: Likewise.
10170 * include/grub/autoefi.h: Likewise.
10171 * include/grub/datetime.h: Likewise.
10172 * include/grub/term.h: Likewise.
10173 * include/grub/hfs.h: Likewise.
10174 * include/grub/lvm.h: Likewise.
10175 * include/grub/i386/tsc.h: Likewise.
10176 * include/grub/i386/linux.h: Likewise.
10177 * include/grub/i386/xnu.h: Likewise.
10178 * include/grub/i386/efiemu.h: Likewise.
10179 * include/grub/i386/pc/biosdisk.h: Likewise.
10180 * include/grub/i386/pc/memory.h: Likewise.
10181 * include/grub/i386/pc/vbe.h: Likewise.
10182 * include/grub/parttool.h: Likewise.
10183 * include/grub/video.h: Likewise.
10184 * include/grub/memory.h: Likewise.
10185 * include/grub/fs.h: Likewise.
10186 * include/grub/partition.h: Likewise.
10187 * include/grub/xnu.h: Likewise.
10188 * include/grub/efi/api.h: Likewise.
10189 * include/grub/efi/pe32.h: Likewise.
10190 * include/grub/efi/memory.h: Likewise.
10191 * include/grub/multiboot.h: Likewise.
10192 * include/grub/usbdesc.h: Likewise.
10193 * include/grub/multiboot2.h: Likewise.
10194 * include/grub/acpi.h: Likewise.
10195 * include/grub/efiemu/efiemu.h: Likewise.
10196 * include/grub/disk.h: Likewise.
10197 * include/grub/ieee1275/ieee1275.h: Likewise.
10198 * include/grub/net.h: Likewise.
10199 * include/grub/machoload.h: Likewise.
10200 * include/grub/macho.h: Likewise.
10201 * include/multiboot.h: Likewise.
10202 * genmoddep.awk: Likewise.
10203 * normal/main.c: Likewise.
10204 * normal/menu_entry.c: Likewise.
10205 * normal/menu_viewer.c: Likewise.
10206 * normal/completion.c: Likewise.
10207 * normal/cmdline.c: Likewise.
10208 * normal/misc.c: Likewise.
10209 * normal/datetime.c: Likewise.
10210 * bus/usb/usbtrans.c: Likewise.
10211 * bus/usb/ohci.c: Likewise.
10212 * bus/usb/uhci.c: Likewise.
10213 * bus/usb/usb.c: Likewise.
10214 * mmap/efi/mmap.c: Likewise.
10215 * mmap/i386/pc/mmap_helper.S: Likewise.
10216 * mmap/i386/pc/mmap.c: Likewise.
10217 * mmap/i386/mmap.c: Likewise.
10218 * mmap/i386/uppermem.c: Likewise.
10219 * mmap/mmap.c: Likewise.
10220 * commands/acpi.c: Likewise.
10221 * commands/echo.c: Likewise.
10222 * commands/blocklist.c: Likewise.
10223 * commands/loadenv.c: Likewise.
10224 * commands/usbtest.c: Likewise.
10225 * commands/boot.c: Likewise.
10226 * commands/parttool.c: Likewise.
10227 * commands/search.c: Likewise.
10228 * commands/cat.c: Likewise.
10229 * commands/i386/pc/play.c: Likewise.
10230 * commands/i386/pc/drivemap.c: Likewise.
10231 * commands/i386/pc/vbeinfo.c: Likewise.
10232 * commands/i386/pc/acpi.c: Likewise.
10233 * commands/i386/pc/vbetest.c: Likewise.
10234 * commands/ls.c: Likewise.
10235 * commands/cmp.c: Likewise.
10236 * commands/test.c: Likewise.
10237 * commands/efi/acpi.c: Likewise.
10238 * commands/gptsync.c: Likewise.
10239 * commands/help.c: Likewise.
10240 * partmap/amiga.c: Likewise.
10241 * partmap/apple.c: Likewise.
10242 * partmap/acorn.c: Likewise.
10243 * partmap/pc.c: Likewise.
10244 * partmap/sun.c: Likewise.
10245 * partmap/gpt.c: Likewise.
10246 * script/sh/lexer.c: Likewise.
10247 * script/sh/function.c: Likewise.
10248 * font/font.c: Likewise.
10249 * font/font_cmd.c: Likewise.
10250 * loader/powerpc/ieee1275/linux.c: Likewise.
10251 * loader/efi/chainloader.c: Likewise.
10252 * loader/multiboot_loader.c: Likewise.
10253 * loader/macho.c: Likewise.
10254 * loader/i386/multiboot.c: Likewise.
10255 * loader/i386/linux.c: Likewise.
10256 * loader/i386/pc/linux.c: Likewise.
10257 * loader/i386/pc/multiboot2.c: Likewise.
10258 * loader/i386/pc/chainloader.c: Likewise.
10259 * loader/i386/pc/xnu.c: Likewise.
10260 * loader/i386/bsd_trampoline.S: Likewise.
10261 * loader/i386/efi/linux.c: Likewise.
10262 * loader/i386/multiboot_elfxx.c: Likewise.
10263 * loader/i386/bsd_helper.S: Likewise.
10264 * loader/i386/bsd.c: Likewise.
10265 * loader/i386/linux_trampoline.S: Likewise.
10266 * loader/i386/xnu_helper.S: Likewise.
10267 * loader/i386/xnu.c: Likewise.
10268 * loader/i386/bsd_pagetable.c: Likewise.
10269 * loader/i386/multiboot_helper.S: Likewise.
10270 * loader/xnu.c: Likewise.
10271 * loader/xnu_resume.c: Likewise.
10272 * io/gzio.c: Likewise.
10273 * term/efi/console.c: Likewise.
10274 * term/terminfo.c: Likewise.
10275 * term/ieee1275/ofconsole.c: Likewise.
10276 * term/i386/pc/serial.c: Likewise.
10277 * term/i386/pc/vesafb.c: Likewise.
10278 * term/i386/pc/vga.c: Likewise.
10279 * term/usb_keyboard.c: Likewise.
10280 * term/gfxterm.c: Likewise.
10281 * aclocal.m4: Likewise.
10282 * util/lvm.c: Likewise.
10283 * util/grub.d/30_os-prober.in: Likewise.
10284 * util/grub.d/10_hurd.in: Likewise.
10285 * util/console.c: Likewise.
10286 * util/grub-macho2img.c: Likewise.
10287 * util/grub-probe.c: Likewise.
10288 * util/hostfs.c: Likewise.
10289 * util/i386/pc/grub-mkimage.c: Likewise.
10290 * util/i386/pc/grub-setup.c: Likewise.
10291 * util/i386/efi/grub-mkimage.c: Likewise.
10292 * util/grub-mkconfig.in: Likewise.
10293 * util/raid.c: Likewise.
10294 * util/resolve.c: Likewise.
10295 * util/grub-mkdevicemap.c: Likewise.
10296 * util/grub-emu.c: Likewise.
10297 * util/getroot.c: Likewise.
10298 * util/hostdisk.c: Likewise.
10299 * util/usb.c: Likewise.
10300 * util/grub-editenv.c: Likewise.
10301 * util/misc.c: Likewise.
10302
10303 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
10304
10305 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
10306 `genparttoollist.sh'.
10307 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
10308 Add `*.sh' to the list find searches for and change `mdate.sh'
10309 to `mdate-sh'.
10310
10311 2009-06-10 Pavel Roskin <proski@gnu.org>
10312
10313 * include/grub/multiboot2.h: Provide compatibility defines for
10314 multiboot2.h.
10315 * include/multiboot2.h: Include stdint.h only if needed, using
10316 angle brackets.
10317 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
10318 grub/multiboot2.h.
10319 * loader/ieee1275/multiboot2.c: Likewise.
10320 * loader/multiboot2.c: Likewise.
10321 * loader/multiboot_loader.c: Likewise.
10322
10323 * configure.ac: Use -nostdlib when probing for the target. It
10324 should not be required to have libc for the target.
10325
10326 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
10327 they fail without libc headers for the target.
10328 * include/grub/powerpc/libgcc.h: Use weak attribute for all
10329 exports.
10330 * include/grub/sparc64/libgcc.h: Likewise. Don't use
10331 preprocessor conditionals.
10332
10333 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
10334 build system doesn't need to be aware of the tar.c internals.
10335
10336 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
10337
10338 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
10339
10340 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
10341
10342 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
10343 disk limit to 26 for IDE, Virtio, Xen and SCSI.
10344
10345 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
10346
10347 * util/i386/pc/grub-install.in: Change the error message if UUIDs
10348 aren't available if ata.mod gets used.
10349
10350 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
10351
10352 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
10353 initialising controller.
10354 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
10355
10356 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
10357
10358 * util/i386/pc/grub-install.in: Add a parameter --disk-module
10359 to choose between ata and biosdisk module on i386-pc.
10360
10361 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
10362
10363 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
10364 Subclass and Programming Interface fields in terms of the 3 byte
10365 Class Code register.
10366 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
10367
10368 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
10369 interface is OHCI. Add grub_dprintf for symmetry with
10370 bus/usb/uhci.c.
10371 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
10372 interface is UHCI. Add interf variable for programming
10373 interface. Print interface with class/subclass.
10374
10375 * bus/usb/ohci.c: Set interf with correct field.
10376
10377 * bus/usb/uhci.c: Remove unneeded doubled lines.
10378 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
10379 Remove whitespace inside comment.
10380
10381 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
10382
10383 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
10384 as fallback an equivalent option without depth.
10385
10386 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
10387
10388 Not fail if unable to retrieve C/H/S on LBA disks
10389
10390 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
10391 if unable to retrieve C/H/S on LBA disks
10392
10393 2009-06-08 Pavel Roskin <proski@gnu.org>
10394
10395 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
10396 about aliasing.
10397
10398 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
10399
10400 * Makefile.in (uninstall): Remove all $lib_DATA files.
10401
10402 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 Bugfix: install on partitionless device
10405
10406 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
10407 is a whole disk
10408
10409 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
10410
10411 * Makefile.in (uninstall): Remove all $include_DATA files.
10412
10413 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
10414
10415 * commands/true.c: New file. Implement the true and false commands.
10416 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
10417 (true_mod_SOURCES): New variable.
10418 (true_mod_CFLAGS): Likewise.
10419 (true_mod_LDFLAGS): Likewise.
10420
10421 2009-06-05 Colin D Bennett <colin@gibibit.com>
10422
10423 Optimized font character lookup using binary search instead of linear
10424 search. Fonts now are required to have the character index ordered by
10425 code point.
10426
10427 * font/font.c (load_font_index): Verify that fonts have ordered
10428 character indices.
10429 (find_glyph): Use binary search instead of linear search to find a
10430 character in a font.
10431
10432 2009-06-05 Michael Scherer <misc@mandriva.org>
10433
10434 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
10435 uses case sensitive btree.
10436 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
10437 only for case insensitive filesystems.
10438
10439 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
10440
10441 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
10442 * conf/common.rmk (search_mod_CFLAGS): likewise
10443
10444 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10445
10446 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
10447 compensate a compiler bug
10448
10449 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10450
10451 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
10452 instead of '\b'
10453
10454 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10455
10456 Definitions for creating asm symbols with Apple's CC
10457
10458 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
10459 [APPLE_CC] (VARIABLE): likewise
10460
10461 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10462
10463 Disable lnxboot.img when compiled
10464 with Apple's CC
10465
10466 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
10467 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
10468 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
10469 [! APPLE_CC] (CODE_LENG): skip
10470 [! APPLE_CC] (setup_sects): likewise
10471 [! APPLE_CC]: skip filling
10472
10473 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10474
10475 Address in trampolines based on 32-bit registers when compiled
10476 with Apple's CC
10477
10478 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
10479 for addresses
10480 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
10481
10482 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10483
10484 Avoid aliases when compiling with Apple's CC for PCBIOS machine
10485
10486 * kern/misc.c [APPLE_CC] (memcpy): new function
10487 [APPLE_CC] (memmove): likewise
10488 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
10489 (memcpy): define alias conditionally on !APPLE_CC
10490 (memset): likewise
10491 (abort): likewise
10492 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
10493 APPLE_CC are defined
10494 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
10495 (grub_assert_fail): make prototype conditional
10496
10497 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10498
10499 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
10500
10501 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
10502 grub-macho2img
10503 (CLEANFILES): add grub-macho2img
10504 (grub_macho2img_SOURCES): new variable
10505 * kern/i386/pc/startup.S (bss_start): new variable
10506 (bss_end): likewise
10507 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
10508 * util/grub-macho2img.c: new file
10509
10510 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10511
10512 Use objconv when compiling with Apple's CC
10513
10514 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
10515 (efiemu64.o): likewise
10516 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
10517 when compiling with Apple's CC
10518 (efiemu64_s.o): likewise
10519 * configure.ac: check for objconv when compiling with Apple's CC
10520 * genmk.rb: use objconv for modules when compiled with Apple's CC
10521
10522 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10523
10524 Define segment as well as section when compiling with
10525 Apple's CC
10526
10527 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
10528 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
10529 (efiemu_convert_pointer): likewise
10530 (efiemu_set_virtual_address_map): likewise
10531 (efiemu_convert_pointer): likewise
10532 (efiemu_getcrc32): likewise
10533 (init_crc32_table): likewise
10534 (reflect): likewise
10535 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
10536 (GRUB_MOD_DEP): likewise
10537
10538 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10539
10540 Allow a compilation without -mcmodel=large
10541
10542 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
10543 when compiled without -mcmodel=large
10544 (filter_memory_map): remove memory post 4 GiB when compiled
10545 without -mcmodel=large
10546 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
10547 TARGET_CFLAGS when -mcmodel=large isn't supported
10548
10549 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10550
10551 Remove nested functions in efiemu core
10552
10553 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
10554
10555 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10556
10557 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
10558
10559 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
10560 temporary storage
10561 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
10562 using Apple's CC
10563 (grub_cpu_is_tsc_supported): likewise
10564 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
10565
10566 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10567
10568 Absolute addressing through constant with Apple's cc
10569
10570 * kern/i386/pc/startup.S: Define necessary constants
10571 and address through it when using ABS with Apple's CC
10572 * boot/i386/pc/diskboot.S: likewise
10573 * boot/i386/pc/boot.S: likewise
10574 * boot/i386/pc/lnxboot.S: likewise
10575 * boot/i386/pc/cdboot.S: likewise
10576 * mmap/i386/pc/mmap_helper.S: likewise
10577 * commands/i386/pc/drivemap_int13h.S: likewise
10578
10579 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10580
10581 Check if compiler is apple cc
10582
10583 * Makefile.in (ASFLAGS): new variable
10584 (TARGET_ASFLAGS): likewise
10585 (TARGET_MODULE_FORMAT): likewise
10586 (TARGET_APPLE_CC): likewise
10587 (OBJCONV): likewise
10588 (TARGET_IMG_CFLAGS): likewise
10589 (TARGET_CPPFLAGS): add includedir
10590 * configure.ac: call grub_apple_cc and grub_apple_target_cc
10591 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
10592 Check for linker script only if compiler isn't Apple's CC
10593 (TARGET_MODULE_FORMAT): set
10594 (TARGET_APPLE_CC): likewise
10595 (TARGET_ASFLAGS): likewise
10596 (ASFLAGS): likewise
10597 Check for objcopy only if compiler isn't Apple's CC
10598 Check for BSS symbol only if compiler isn't Apple's CC
10599 * genmk.rb: adapt nm options if we use Apple's utils
10600 * aclocal.m4 (grub_apple_cc): new test
10601 (grub_apple_target_cc): likewise
10602
10603 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10604
10605 Simplify sed expressions and improve awk
10606
10607 * Makefile.in (install-local): simplify sed expression
10608 * gencmdlist.sh: likewise
10609 * genmoddep.awk: avoid adding module as a dependency of itself
10610
10611 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10612
10613 Add missing start symbols
10614
10615 * boot/i386/pc/boot.S: add start
10616 * boot/i386/pc/pxeboot.S: likewise
10617
10618 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 Fix wrong assumptions with grub-mkimage on EFI
10621
10622 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
10623 (relocate_addresses): consider both r_addend and value at offset
10624 (make_mods_section): zerofill modinfo and header
10625 (convert_elf): write prefix here
10626
10627 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10628
10629 Use .asciz instead of .string
10630
10631 * i386/pc/diskboot.S: use .asciz instead of .string
10632 * i386/pc/boot.S: likewise
10633 * include/grub/dl.h (GRUB_MOD_DEP): likewise
10634 (GRUB_MOD_NAME): likewise
10635
10636 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10637
10638 gfxpayload support
10639
10640 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
10641 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
10642 (grub_video_setup): remove
10643 (grub_video_set_mode): new prototype
10644 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
10645 (vid_mode): remove
10646 (linux_vesafb_res): compile only on PCBIOS
10647 (grub_linux_boot): support gfxpayload
10648 * loader/i386/pc/xnu.c (video_hook): new function
10649 (grub_xnu_set_video): support gfxpayload
10650 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
10651 (DEFAULT_VIDEO_HEIGHT): likewise
10652 (DEFAULT_VIDEO_FLAGS): likewise
10653 (DEFAULT_VIDEO_MODE): new definition
10654 (video_hook): new function
10655 (grub_gfxterm_init): use grub_video_set_mode
10656 * util/grub.d/30_os-prober.in: remove explicit modesetting before
10657 loading xnu
10658 * video/video.c (grub_video_setup): removed
10659 (grub_video_set_mode): new function based on grub_gfxterm_init and
10660 grub_video_setup
10661
10662 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10663
10664 Avoid calling biosdisk in drivemap
10665
10666 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
10667 (revparse_biosdisk): likewise
10668 (list_mappings): derive name from id directly
10669 (grub_cmd_drivemap): use tryparse_diskstring
10670
10671 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10672
10673 Script fixes
10674
10675 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
10676 (grub_lexer_param): add tokenonhold
10677 (grub_script_create_cmdline): remove cmdline. All callers updated
10678 (grub_script_function_create): make functionname
10679 grub_script_arg. All callers updated
10680 (grub_script_execute_argument_to_string): new prototype
10681 * kern/parser.c (state_transitions): reorder
10682 (grub_parser_cmdline_state): fix a bug and make more compact
10683 * script/sh/execute.c (grub_script_execute_argument_to_string):
10684 make global
10685 (grub_script_execute_cmdline): use new format
10686 * script/sh/function.c (grub_script_function_create): make functionname
10687 grub_script_arg. All callers updated
10688 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
10689 (grub_script_yylex): remove
10690 (grub_script_yylex2): renamed to ...
10691 (grub_script_yylex): ...renamed
10692 parse the expressions like a${b}c
10693 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
10694 (GRUB_PARSER_TOKEN_VAR): remove
10695 (GRUB_PARSER_TOKEN_NAME): likewise
10696 ("if"): declare as typeless
10697 ("while"): likewise
10698 ("function"): likewise
10699 ("else"): likewise
10700 ("then"): likewise
10701 ("fi"): likewise
10702 (text): remove
10703 (argument): likewise
10704 (script): accept empty scripts and make exit on error
10705 (arguments): use GRUB_PARSER_TOKEN_ARG
10706 (function): likewise
10707 (command): move error handling to script
10708 (menuentry): move grub_script_lexer_ref before
10709 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
10710 argument. All callers updated
10711
10712 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
10713
10714 Prevent GRUB from probing floppies during boot.
10715
10716 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
10717 * commands/search.c (options): Add --no-floppy.
10718 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
10719 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
10720 --no-floppy when searching for UUIDs.
10721
10722 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
10723
10724 Simplify the code duplication in commands/search.c.
10725
10726 * commands/search.c (search_label, search_fs_uuid): Merge into ...
10727 (search_fs): ... this. Update all users.
10728
10729 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
10730
10731 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
10732
10733 2009-05-28 Pavel Roskin <proski@gnu.org>
10734
10735 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
10736 Remove the original symlink explicitly.
10737
10738 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
10739 just one slash. That's how grub_fshelp_find_file() does it.
10740
10741 2009-05-26 Pavel Roskin <proski@gnu.org>
10742
10743 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
10744 to `str'.
10745
10746 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
10747 possibly unused.
10748
10749 2009-05-25 Christian Franke <franke@computer.org>
10750
10751 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
10752 register.
10753 (grub_atapi_identify): Add wait after drive select.
10754 (grub_ata_identify): Do more strict status register check before
10755 calling grub_atapi_identify (). Suppress error message if status
10756 register is 0x00 after command failure. Add status register
10757 check after PIO read to avoid bogus identify due to stuck DRQ.
10758 Thanks to Pavel Roskin for testing.
10759 (grub_device_initialize): Remove unsafe status register check.
10760 Thanks to 'phcoder' for problem report and patch.
10761 Prevent sign extension in debug message.
10762
10763 2009-05-23 Colin D Bennett <colin@gibibit.com>
10764
10765 Cleaned up `include/grub/normal.h'. Grouped prototypes by
10766 definition file, and functions defined in `normal/menu.c' have had
10767 their prototypes moved to `include/grub/menu.h' for consistency.
10768
10769 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
10770 from normal.h.
10771 (grub_menu_get_entry): Likewise.
10772 (grub_menu_get_timeout): Likewise.
10773 (grub_menu_set_timeout): Likewise.
10774 (grub_menu_execute_entry): Likewise.
10775 (grub_menu_execute_with_fallback): Likewise.
10776 (grub_menu_entry_run): Likewise.
10777
10778 * include/grub/normal.h: Re-ordered and grouped function
10779 prototypes by file that the function is defined in.
10780 (grub_menu_execute_callback): Removed; moved to menu.h.
10781 (grub_menu_get_entry): Likewise.
10782 (grub_menu_get_timeout): Likewise.
10783 (grub_menu_set_timeout): Likewise.
10784 (grub_menu_execute_entry): Likewise.
10785 (grub_menu_execute_with_fallback): Likewise.
10786 (grub_menu_entry_run): Likewise.
10787 (grub_menu_addentry): Renamed from this ...
10788 (grub_normal_add_menu_entry): ... to this.
10789
10790 * normal/main.c (grub_menu_addentry): Renamed from this ...
10791 (grub_normal_add_menu_entry): ... to this.
10792
10793 * script/sh/execute.c (grub_script_execute_menuentry): Update
10794 reference to renamed grub_menu_addentry function.
10795
10796 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
10797
10798 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
10799
10800 2009-05-22 Pavel Roskin <proski@gnu.org>
10801
10802 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
10803 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
10804 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
10805 compiling for the i386 targets, but not for the utilities.
10806
10807 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
10808 to grub_uint8_t.
10809 (grub_root_drive): Likewise.
10810 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
10811 remove alignment.
10812 (grub_root_drive): Change size to byte.
10813 (grub_start_addr): Remove.
10814 (grub_end_addr): Likewise.
10815 (grub_apm_bios_info): Likewise.
10816
10817 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
10818
10819 * normal/i386: Remove.
10820 * normal/powerpc: Likewise.
10821 * normal/sparc64: Likewise.
10822 * normal/x86_64: Likewise.
10823
10824 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
10825
10826 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
10827 * loader/i386/linux_trampoline.S: Fix indentation
10828 * loader/i386/xnu_helper.S: Likewise
10829
10830 2009-05-18 Colin D Bennett <colin@gibibit.com>
10831
10832 Display error messages when parsing a Lua statement fails.
10833 Previously, executing a syntactically invalid statement like
10834 ")foo" or "bar;" would silently fail.
10835
10836 * script/lua/grub_main.c (handle_lua_error): New function.
10837 (grub_lua_parse_line): Improved reporting of Lua parser and
10838 execution errors.
10839
10840 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10841
10842 Remove -Werror which causes build to fail on some systems
10843
10844 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
10845 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
10846 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
10847
10848 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10849
10850 trampoline for linux on 64-bit platform
10851
10852 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
10853 loader/i386/efi/linux_trampoline.S
10854 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
10855 declaration
10856 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
10857 here
10858 * loader/i386/linux_trampoline.S: moved here
10859 * loader/i386/efi/linux.c (allocate_pages): reserve space for
10860 trampoline
10861 (jumpvector): removed
10862 (grub_linux_trampoline_start): new declaration
10863 (grub_linux_trampoline_end): likewise
10864 (grub_linux_boot): use trampoline when on 64-bit platform
10865 * loader/i386/linux.c: likewise
10866
10867 2009-05-16 Pavel Roskin <proski@gnu.org>
10868
10869 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
10870 const to avoid a warning.
10871 (grub_lua_setenv): Likewise.
10872 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
10873 lmsg to fix a warning.
10874
10875 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
10876
10877 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
10878 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
10879 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
10880 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
10881 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
10882 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
10883 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
10884 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
10885
10886 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
10887
10888 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
10889
10890 2009-05-16 Bean <bean123ch@gmail.com>
10891
10892 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
10893 (lua_mod_SOURCES): New variable.
10894 (lua_mod_CFLAGS): Likewise.
10895 (lua_mod_LDFLAGS): Likewise.
10896
10897 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
10898 (setjmp_mod_SOURCES): New variable.
10899 (setjmp_mod_CFLAGS): Likewise.
10900 (setjmp_LDFLAGS): Likewise.
10901
10902 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
10903 (setjmp_mod_SOURCES): New variable.
10904 (setjmp_mod_CFLAGS): Likewise.
10905 (setjmp_LDFLAGS): Likewise.
10906
10907 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
10908 (setjmp_mod_SOURCES): New variable.
10909 (setjmp_mod_CFLAGS): Likewise.
10910 (setjmp_LDFLAGS): Likewise.
10911
10912 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
10913 (setjmp_mod_SOURCES): New variable.
10914 (setjmp_mod_CFLAGS): Likewise.
10915 (setjmp_LDFLAGS): Likewise.
10916
10917 * normal/i386/setjmp.S: Moved from here ...
10918 * lib/i386/setjmp.S: ... Moved here
10919 * normal/x86_64/setjmp.S: Moved from here ...
10920 * lib/x86_64/setjmp.S: ... Moved here
10921 * normal/powerpc/setjmp.S: Moved from here ...
10922 * lib/powerpc/setjmp.S: ... Moved here
10923 * normal/sparc64/setjmp.S: Moved from here ...
10924 * lib/sparc64/setjmp.S: ... Moved here
10925
10926 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
10927 returns_twice in mingw.
10928
10929 * script/lua/grub_lib.c: New file.
10930 * script/lua/grub_lib.h: Likewise.
10931 * script/lua/grub_lua.h: Likewise.
10932 * script/lua/grub_main.c: Likewise.
10933 * script/lua/lapi.c: Likewise.
10934 * script/lua/lapi.h: Likewise.
10935 * script/lua/lauxlib.c: Likewise.
10936 * script/lua/lauxlib.h: Likewise.
10937 * script/lua/lbaselib.c: Likewise.
10938 * script/lua/lcode.c: Likewise.
10939 * script/lua/lcode.h: Likewise.
10940 * script/lua/ldblib.c: Likewise.
10941 * script/lua/ldebug.c: Likewise.
10942 * script/lua/ldebug.h: Likewise.
10943 * script/lua/ldo.c: Likewise.
10944 * script/lua/ldo.h: Likewise.
10945 * script/lua/ldump.c: Likewise.
10946 * script/lua/lfunc.c: Likewise.
10947 * script/lua/lfunc.h: Likewise.
10948 * script/lua/lgc.c: Likewise.
10949 * script/lua/lgc.h: Likewise.
10950 * script/lua/linit.c: Likewise.
10951 * script/lua/liolib.c: Likewise.
10952 * script/lua/llex.c: Likewise.
10953 * script/lua/llex.h: Likewise.
10954 * script/lua/llimits.h: Likewise.
10955 * script/lua/lmathlib.c: Likewise.
10956 * script/lua/lmem.c: Likewise.
10957 * script/lua/lmem.h: Likewise.
10958 * script/lua/loadlib.c: Likewise.
10959 * script/lua/lobject.c: Likewise.
10960 * script/lua/lobject.h: Likewise.
10961 * script/lua/lopcodes.c: Likewise.
10962 * script/lua/lopcodes.h: Likewise.
10963 * script/lua/loslib.c: Likewise.
10964 * script/lua/lparser.c: Likewise.
10965 * script/lua/lparser.h: Likewise.
10966 * script/lua/lstate.c: Likewise.
10967 * script/lua/lstate.h: Likewise.
10968 * script/lua/lstring.c: Likewise.
10969 * script/lua/lstring.h: Likewise.
10970 * script/lua/lstrlib.c: Likewise.
10971 * script/lua/ltable.c: Likewise.
10972 * script/lua/ltable.h: Likewise.
10973 * script/lua/ltablib.c: Likewise.
10974 * script/lua/ltm.c: Likewise.
10975 * script/lua/ltm.h: Likewise.
10976 * script/lua/lua.h: Likewise.
10977 * script/lua/luaconf.h: Likewise.
10978 * script/lua/lualib.h: Likewise.
10979 * script/lua/lundump.c: Likewise.
10980 * script/lua/lundump.h: Likewise.
10981 * script/lua/lvm.c: Likewise.
10982 * script/lua/lvm.h: Likewise.
10983 * script/lua/lzio.c: Likewise.
10984 * script/lua/lzio.h: Likewise.
10985
10986 2009-05-16 Bean <bean123ch@gmail.com>
10987
10988 * include/grub/kernel.h (grub_module_header_types): Add type
10989 OBJ_TYPE_CONFIG.
10990
10991 * kern/main.c (grub_load_config): New function.
10992 (grub_main): Call grub_load_config to read boot config.
10993
10994 * grub-mkimage (generate_image): New parameter config_path.
10995 (options): New option --config.
10996 (main): Parse --config option, and pass it to generate_image.
10997
10998 2009-05-14 Christian Franke <franke@computer.org>
10999
11000 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
11001 This fixes build on Cygwin.
11002
11003 2009-05-14 Pavel Roskin <proski@gnu.org>
11004
11005 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
11006 jump. This saves two bytes, so the typical case of 2 swapped
11007 drives would fit 32 bytes.
11008
11009 2009-05-13 Pavel Roskin <proski@gnu.org>
11010
11011 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
11012 grub_uint32_t to avoid a warning.
11013
11014 * loader/i386/linux.c (allocate_pages): When assigning
11015 real_mode_mem, cast through grub_size_t to fix a warning. The
11016 code already makes sure that the value would fit a pointer.
11017 (grub_linux_setup_video): Cast render_target->data to
11018 grub_size_t to fix a warning.
11019
11020 2009-05-13 Javier Martín <lordhabbit@gmail.com>
11021
11022 * commands/i386/pc/drivemap.c: New file - implement drivemap
11023 command.
11024 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
11025 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
11026
11027 2009-05-13 Pavel Roskin <proski@gnu.org>
11028
11029 * util/i386/pc/grub-setup.c (setup): Remove unused variable
11030 embedding_area_exists.
11031
11032 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
11033
11034 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
11035 it easier to understand / work with.
11036 Improve warning messages for cases where there's no embedding area,
11037 or when it is too small (or core.img too large).
11038
11039 2009-05-13 Pavel Roskin <proski@gnu.org>
11040
11041 * loader/i386/pc/multiboot2.c: Add necessary includes for
11042 grub_multiboot2_real_boot().
11043
11044 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
11045 PX record is always little-endian. We only need the lower 2
11046 bytes of the mode.
11047
11048 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
11049 facilitate code reuse.
11050 (grub_cpio_mount): Use "struct head", not a char buffer. This
11051 fixes a warning reported by gcc 4.4.
11052
11053 * kernel/disk.c (grub_disk_read): Use void pointer for the
11054 buffer.
11055 (grub_disk_write): Use const void pointer for the buffer.
11056 Adjust all callers. Remove unnecessary casts.
11057
11058 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
11059
11060 * util/i386/pc/grub-install.in: Update copyright year.
11061
11062 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11063
11064 gptsync
11065
11066 * commands/gptsync.c: new file
11067 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
11068 (gptsync_mod_SOURCES): new variable
11069 (gptsync_mod_CFLAGS): likewise
11070 (gptsync_mod_LDFLAGS): likewise
11071 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
11072 new definition
11073 (GRUB_PC_PARTITION_TYPE_HFS): likewise
11074 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
11075 * conf/i386-ieee1275.rmk: likewise
11076 * conf/i386-pc.rmk: likewise
11077 * conf/powerpc-ieee1275.rmk: likewise
11078
11079 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11080
11081 Fixed grub-emu
11082
11083 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
11084 (grub_dl_ref): likewise
11085
11086 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
11087
11088 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
11089 split in two functions (one for msdos and one for gpt).
11090
11091 2009-05-08 Pavel Roskin <proski@gnu.org>
11092
11093 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
11094 not modified.
11095
11096 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
11097 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
11098 Initialize them with -1. Add sanity check for bad1. Eliminate
11099 nerr variable.
11100
11101 2009-05-08 David S. Miller <davem@davemloft.net>
11102
11103 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
11104
11105 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
11106
11107 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
11108 existence.
11109
11110 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
11111
11112 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
11113 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
11114
11115 2009-05-05 David S. Miller <davem@davemloft.net>
11116
11117 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
11118
11119 2009-05-05 Pavel Roskin <proski@gnu.org>
11120
11121 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
11122 of grub_dl_ref() and grub_dl_unref().
11123 * commands/parttool.c: Remove preprocessor conditionals around
11124 grub_dl_ref() and grub_dl_unref().
11125 * fs/affs.c: Likewise.
11126 * fs/afs.c: Likewise.
11127 * fs/cpio.c: Likewise.
11128 * fs/ext2.c: Likewise.
11129 * fs/fat.c: Likewise.
11130 * fs/hfs.c: Likewise.
11131 * fs/hfsplus.c: Likewise.
11132 * fs/iso9660.c: Likewise.
11133 * fs/jfs.c: Likewise.
11134 * fs/minix.c: Likewise.
11135 * fs/ntfs.c: Likewise.
11136 * fs/reiserfs.c: Likewise.
11137 * fs/sfs.c: Likewise.
11138 * fs/udf.c: Likewise.
11139 * fs/ufs.c: Likewise.
11140 * fs/xfs.c: Likewise.
11141 * include/grub/dl.h: Likewise.
11142 * loader/xnu.c: Likewise.
11143
11144 2009-05-04 Pavel Roskin <proski@gnu.org>
11145
11146 * commands/acpi.c: Remove unused variable my_mod.
11147 * partmap/amiga.c: Likewise.
11148 * partmap/apple.c: Likewise.
11149 * partmap/gpt.c: Likewise.
11150 * partmap/pc.c: Likewise.
11151 * partmap/sun.c: Likewise.
11152 * term/gfxterm.c: Likewise.
11153 * term/i386/pc/vesafb.c: Likewise.
11154 * term/i386/pc/vga.c: Likewise.
11155
11156 2009-05-04 David S. Miller <davem@davemloft.net>
11157
11158 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
11159 pointer args to grub_ieee1275_get_property().
11160
11161 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
11162
11163 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
11164 devices, and do not traverse down under controller nodes.
11165
11166 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
11167 (grub_ofdisk_open): Use it to un-escape "," characters.
11168 * kern/disk.c (find_part_sep): New.
11169 (grub_disk_open): Use it to find the first non-escaped ','
11170 character in the disk name.
11171 * util/ieee1275/devicemap.c (escape_of_path): New.
11172 (grub_util_emit_devicemap_entry): Use it.
11173 * util/sparc64/ieee1275/grub-install.in: Update script to
11174 strip partition specifiers properly by not triggering on
11175 '\' escaped ',' characters.
11176
11177 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11178
11179 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
11180 to 0x300.
11181 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
11182 resolutions.
11183 (linux_vesafb_modes): Add a lot of additional modes to the list (based
11184 on documentation from Wikipedia).
11185
11186 2009-05-04 Pavel Roskin <proski@gnu.org>
11187
11188 * disk/ata.c: Spelling fixes.
11189 * disk/raid.c: Likewise.
11190 * disk/usbms.c: Likewise.
11191 * disk/dmraid_nvidia.c: Likewise.
11192 * kern/ieee1275/openfw.c: Likewise.
11193 * kern/ieee1275/init.c: Likewise.
11194 * kern/ieee1275/cmain.c: Likewise.
11195 * boot/i386/pc/cdboot.S: Likewise.
11196 * video/readers/png.c: Likewise.
11197 * video/i386/pc/vbe.c: Likewise.
11198 * fs/udf.c: Likewise.
11199 * fs/hfs.c: Likewise.
11200 * fs/reiserfs.c: Likewise.
11201 * efiemu/runtime/efiemu.c: Likewise.
11202 * efiemu/main.c: Likewise.
11203 * efiemu/mm.c: Likewise.
11204 * include/grub/elf.h: Likewise.
11205 * include/grub/xnu.h: Likewise.
11206 * include/grub/usbdesc.h: Likewise.
11207 * include/grub/usb.h: Likewise.
11208 * include/grub/script_sh.h: Likewise.
11209 * include/grub/lib/LzmaEnc.h: Likewise.
11210 * include/grub/efiemu/efiemu.h: Likewise.
11211 * include/grub/command.h: Likewise.
11212 * normal/menu.c: Likewise.
11213 * normal/main.c: Likewise.
11214 * normal/datetime.c: Likewise.
11215 * bus/usb/uhci.c: Likewise.
11216 * mmap/i386/uppermem.c: Likewise.
11217 * mmap/mmap.c: Likewise.
11218 * commands/acpi.c: Likewise.
11219 * commands/test.c: Likewise.
11220 * partmap/apple.c: Likewise.
11221 * font/font.c: Likewise.
11222 * loader/sparc64/ieee1275/linux.c: Likewise.
11223 * loader/macho.c: Likewise.
11224 * loader/i386/bsd_trampoline.S: Likewise.
11225 * loader/i386/bsd.c: Likewise.
11226 * loader/xnu.c: Likewise.
11227 * term/i386/pc/vesafb.c: Likewise.
11228 * term/usb_keyboard.c: Likewise.
11229 * util/resolve.c: Likewise.
11230 * util/getroot.c: Likewise.
11231
11232 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
11233
11234 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
11235
11236 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11237
11238 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
11239 build error.
11240
11241 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11242
11243 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
11244 parameter only available on BIOS.
11245
11246 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
11247
11248 Removed wrong semicolon in declaration
11249
11250 * grub/misc.h (grub_dprintf): remove semicolon
11251
11252 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11253
11254 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
11255 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
11256 is done by grub_cmd_linux() now).
11257 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
11258 restore video to text mode.
11259 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
11260 indicates lack of "vga=" parameter. "vga=0" is mapped to
11261 `GRUB_LINUX_VID_MODE_NORMAL'.
11262
11263 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
11264
11265 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
11266 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
11267 and `normal/script.c'. Add `kern/rescue_reader.c',
11268 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
11269 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
11270 `grub_script.tab.c'.
11271
11272 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11273 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11274 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11275 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11276 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11277
11278 * Makefile.in: Remove duplicated 2008 in Copyright line.
11279
11280 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11281
11282 * util/misc.c (grub_util_warn): New function. Emits a warning
11283 unconditionally.
11284 * include/grub/util/misc.h (grub_util_warn): New declaration.
11285
11286 * util/i386/pc/grub-install.in: Understand --force and pass it down
11287 to grub-setup.
11288
11289 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
11290 down to setup().
11291 (setup): Improve error messages and add warnings when requested to
11292 install in odd layouts. Refuse to install using blocklists unless
11293 --force was set.
11294
11295 2009-05-04 martin f. krafft <madduck@madduck.net>
11296
11297 * disk/raid.c (grub_raid_scan_device): Improve debug message.
11298
11299 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
11300
11301 Updated copyright year
11302
11303 * fs/hfsplus.c: updated copyright year
11304
11305 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
11306
11307 HFS+ UUID
11308
11309 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
11310 in the space previously used by unused3
11311 (grub_hfsplus_uuid): new function
11312 (grub_hfsplus_fs): added uuid field
11313
11314 2009-05-03 Pavel Roskin <proski@gnu.org>
11315
11316 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
11317 suppress warnings. It's no longer needed.
11318 * disk/host.c: Likewise.
11319 * disk/ata_pthru.c: Likewise.
11320 * disk/loopback.c: Likewise.
11321 * hook/datehook.c: Likewise.
11322 * parttool/pcpart.c: Likewise.
11323 * fs/i386/pc/pxe.c: Likewise.
11324 * fs/ntfscomp.c: Likewise.
11325 * efiemu/main.c: Likewise.
11326 * mmap/mmap.c: Likewise.
11327 * commands/crc.c: Likewise.
11328 * commands/hexdump.c: Likewise.
11329 * commands/hdparm.c: Likewise.
11330 * commands/acpi.c: Likewise.
11331 * commands/echo.c: Likewise.
11332 * commands/minicmd.c: Likewise.
11333 * commands/blocklist.c: Likewise.
11334 * commands/memrw.c: Likewise.
11335 * commands/loadenv.c: Likewise.
11336 * commands/usbtest.c: Likewise.
11337 * commands/lsmmap.c: Likewise.
11338 * commands/boot.c: Likewise.
11339 * commands/parttool.c: Likewise.
11340 * commands/configfile.c: Likewise.
11341 * commands/search.c: Likewise.
11342 * commands/ieee1275/suspend.c: Likewise.
11343 * commands/cat.c: Likewise.
11344 * commands/i386/pc/pxecmd.c: Likewise.
11345 * commands/i386/pc/play.c: Likewise.
11346 * commands/i386/pc/halt.c: Likewise.
11347 * commands/i386/pc/vbeinfo.c: Likewise.
11348 * commands/i386/pc/vbetest.c: Likewise.
11349 * commands/lspci.c: Likewise.
11350 * commands/date.c: Likewise.
11351 * commands/handler.c: Likewise.
11352 * commands/ls.c: Likewise.
11353 * commands/test.c: Likewise.
11354 * commands/cmp.c: Likewise.
11355 * commands/efi/loadbios.c: Likewise.
11356 * commands/efi/fixvideo.c: Likewise.
11357 * commands/halt.c: Likewise.
11358 * commands/help.c: Likewise.
11359 * commands/reboot.c: Likewise.
11360 * hello/hello.c: Likewise.
11361 * script/sh/main.c: Likewise.
11362 * loader/xnu.c: Likewise.
11363 * term/terminfo.c: Likewise.
11364 * term/i386/pc/serial.c: Likewise.
11365 * term/usb_keyboard.c: Likewise.
11366
11367 2009-05-03 David S. Miller <davem@davemloft.net>
11368
11369 * normal/menu.c: Include grub/parser.h
11370
11371 2009-05-03 Pavel Roskin <proski@gnu.org>
11372
11373 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
11374 not char*.
11375 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
11376 Suggested by Javier Martín <lordhabbit@gmail.com>
11377
11378 * util/i386/pc/grub-mkrescue.in: Allow for the case when
11379 efiemu??.o doesn't exist.
11380 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
11381 copying.
11382
11383 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
11384
11385 FreeBSD 64-bit support
11386
11387 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
11388 and loader/i386/bsd_trampoline.S
11389 (bsd_mod_ASFLAGS): new variable
11390 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
11391 (FREEBSD_MODTYPE_KERNEL64): likewise
11392 (grub_bsd64_trampoline_start): likewise
11393 (grub_bsd64_trampoline_end): likewise
11394 (grub_bsd64_trampoline_selfjump): likewise
11395 (grub_bsd64_trampoline_gdt): likewise
11396 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
11397 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
11398 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
11399 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
11400 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
11401 of "attrib" member
11402 * loader/i386/bsd_pagetable.c: new file
11403 * loader/i386/bsd_trampoline.S: likewise
11404 * loader/i386/bsd.c (ALIGN_QWORD): new macro
11405 (ALIGN_VAR): likewise
11406 (entry_hi): new variable
11407 (kern_end_mdofs): likewise
11408 (is_64bit): likewise
11409 (grub_freebsd_add_meta): use ALIGN_VAR
11410 (grub_e820_mmap): new declaration
11411 (grub_freebsd_add_mmap): new function
11412 (grub_freebsd_add_meta_module): support 64 bit kernels
11413 (grub_freebsd_list_modules): use ALIGN_VAR
11414 (gdt_descriptor): new declaration
11415 (grub_freebsd_boot): support 64 bit kernels
11416 (grub_bsd_elf64_hook): new function
11417 (grub_bsd_load_elf): support elf64
11418
11419 2009-05-03 Bean <bean123ch@gmail.com>
11420
11421 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
11422 after we get the result of if statement.
11423
11424 2009-05-03 Bean <bean123ch@gmail.com>
11425
11426 * Makefile.in (enable_efiemu): New variable.
11427
11428 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
11429 set.
11430 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
11431 path.
11432 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
11433 path, add -mno-red-zone option.
11434 (efiemu64_s.o): Likewise.
11435 (efiemu64.o): Use macro $^ for source file.
11436
11437 * configure.ac (--enable-efiemu): New option.
11438
11439 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11440
11441 xnu support
11442
11443 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
11444 (pkglib_MODULES): add xnu.mod
11445 (xnu_mod_SOURCES): new variable
11446 (xnu_mod_CFLAGS): likewise
11447 (xnu_mod_LDFLAGS): likewise
11448 (xnu_mod_ASFLAGS): likewise
11449 * conf/i386-pc.rmk: likewise
11450 * conf/x86_64-efi.rmk: likewise
11451 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
11452 new declaration
11453 * include/grub/i386/macho.h: new file
11454 * include/grub/i386/xnu.h: likewise
11455 * include/grub/macho.h: likewise
11456 * include/grub/machoload.h: likewise
11457 * include/grub/x86_64/macho.h: likewise
11458 * include/grub/x86_64/xnu.h: likewise
11459 * include/grub/xnu.h: likewise
11460 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
11461 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
11462 * loader/i386/efi/xnu.c: new file
11463 * loader/i386/pc/xnu.c: likewise
11464 * loader/i386/xnu.c: likewise
11465 * loader/i386/xnu_helper.S: likewise
11466 * loader/macho.c: likewise
11467 * loader/xnu.c: likewise
11468 * loader/xnu_resume.c: likewise
11469 * util/grub-dumpdevtree: likewise
11470 * include/grub/i386/pit.h: include grub/err.h
11471 (grub_pit_wait): export
11472 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
11473
11474 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11475
11476 Efiemu
11477
11478 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
11479 _linux_efi, linux_efi.
11480 new files in grub-emu
11481 new targets efiemu32.o and efiemu64.o
11482 * loader/linux_normal_efiemu.c: likewise
11483 * loader/i386/efi/linux.c: added preliminary efiemu support
11484 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
11485 files to copy
11486 * include/grub/autoefi.h: new file
11487 * include/grub/i386/efiemu.h: likewise
11488 * include/grub/i386/pc/efiemu.h: likewise
11489 * include/grub/efi/api.h: add LL suffix when necessary
11490 new definitions relating to tables
11491 * include/grub/efiemu/efiemu.h: new file
11492 * include/grub/efiemu/runtime.h: likewise
11493 * efiemu/prepare.c: likewise
11494 * efiemu/loadcore_common.c: likewise
11495 * efiemu/loadcore64.c: likewise
11496 * efiemu/runtime/efiemu.sh: likewise
11497 * efiemu/runtime/efiemu.S: likewise
11498 * efiemu/runtime/efiemu.c: likewise
11499 * efiemu/runtime/config.h: likewise
11500 * efiemu/prepare32.c: likewise
11501 * efiemu/main.c: likewise
11502 * efiemu/modules/pnvram.c: likewise
11503 * efiemu/modules/i386: likewise
11504 * efiemu/modules/i386/pc: likewise
11505 * efiemu/modules/acpi.c: likewise
11506 * efiemu/i386/pc/cfgtables.c: likewise
11507 * efiemu/i386/loadcore64.c: likewise
11508 * efiemu/i386/loadcore32.c: likewise
11509 * efiemu/prepare64.c: likewise
11510 * efiemu/loadcore.c: likewise
11511 * efiemu/symbols.c: likewise
11512 * efiemu/mm.c: likewise
11513 * efiemu/loadcore32.c: likewise
11514
11515 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11516
11517 ACPI spoofing
11518
11519 * commands/acpi.c: new file
11520 * commands/i386/pc/acpi.c: likewise
11521 * commands/efi/acpi.c: likewise
11522 * include/grub/acpi.h: likewise
11523 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
11524 (acpi_mod_SOURCES): new variable
11525 (acpi_mod_CFLAGS): likewise
11526 (acpi_mod_LDFLAGS): likewise
11527 * conf/i386-efi.rmk: likewise
11528 * conf/x86_64-efi.rmk: likewise
11529
11530 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11531
11532 Missing part from mmap patch
11533
11534 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
11535 (grub_mmap_unregister)
11536 (grub_mmap_free_and_unregister): use grub_mmap_register
11537
11538 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11539
11540 Mmap services
11541
11542 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
11543 * loader/i386/linux.c (find_mmap_size): likewise
11544 (allocate_pages): likewise
11545 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
11546 (grub_fill_multiboot_mmap): likewise
11547 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
11548 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
11549 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
11550 (OPENBSD_MMAP_RESERVED): likewise
11551 * include/grub/i386/pc/memory.h: include grub/memory.h
11552 (grub_lower_mem): removed
11553 (grub_upper_mem): likewise
11554 (GRUB_MACHINE_MEMORY_ACPI): new definition
11555 (GRUB_MACHINE_MEMORY_NVS): likewise
11556 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
11557 (GRUB_MACHINE_MEMORY_HOLE): likewise
11558 (grub_machine_mmap_register): likewise
11559 (grub_machine_mmap_unregister): likewise
11560 (grub_machine_get_upper): likewise
11561 (grub_machine_get_lower): likewise
11562 (grub_machine_get_post64): likewise
11563 * include/grub/i386/efi/memory.h: new file
11564 * include/grub/x86_64/efi/memory.h: likewise
11565 * include/grub/efi/memory.h: likewise
11566 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
11567 (mmap_mod_SOURCES): new variable
11568 (mmap_mod_LDFLAGS): likewise
11569 (mmap_mod_ASFLAGS): likewise
11570 * conf/i386-coreboot.rmk: likewise
11571 * conf/i386-ieee1275.rmk: likewise
11572 * conf/i386-efi.rmk: likewise
11573 * conf/x86_64-efi.rmk: likewise
11574 * include/grub/types.h (UINT_TO_PTR): new macro
11575 (PTR_TO_UINT32): likewise
11576 (PTR_TO_UINT64): likewise
11577 * include/grub/memory.h: new file
11578 * mmap/i386/pc/mmap.c: likewise
11579 * mmap/i386/pc/mmap_helper.S: likewise
11580 * mmap/i386/uppermem.c: likewise
11581 * mmap/mmap.c: likewise
11582 * mmap/efi/mmap.c: likewise
11583 * kern/i386/coreboot/init.c (grub_machine_init): don't use
11584 grub_upper_mem
11585 * kern/i386/pc/init.c (grub_lower_mem): removed variable
11586 (grub_upper_mem): likewise
11587 (grub_machine_init): don't use grub_upper_mem,
11588 make grub_lower_mem local
11589 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
11590 grub_mmap_iterate and grub_mmap_get_upper
11591 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
11592
11593 2009-05-02 Bean <bean123ch@gmail.com>
11594
11595 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
11596 script/sh/parser.y.
11597 (pkglib_MODULES): Add normal.mod and sh.mod.
11598 (normal_SOURCES): New variable.
11599 (normal_mod_CFLAGS): Likewise.
11600 (normal_mod_LDFLAGS): Likewise.
11601 (sh_mod_SOURCES): Likewise.
11602 (sh_mod_CFLAGS): Likewise.
11603 (sh_mod_LDFLAGS): Likewise.
11604
11605 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
11606 script/sh/lexer.c_DEPENDENCIES.
11607 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
11608 kern/rescue_reader.c and kern/rescue_parser.c.
11609 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
11610 (grub_emu_SOURCES): Change source files.
11611 (pkglib_MODULES): Remove normal.mod.
11612 (normal_SOURCES): Removed.
11613 (normal_mod_CFLAGS): Likewise.
11614 (normal_mod_LDFLAGS): Likewise.
11615 * conf/i386-coreboot.rmk: Likewise.
11616 * conf/i386-efi.rmk: Likewise.
11617 * conf/i386-ieee1276.rmk: Likewise.
11618 * conf/powerpc-ieee1275.rmk: Likewise.
11619 * conf/sparc64-ieee1275.rmk: Likewise.
11620 * conf/x86_64-efi.rmk: Likewise.
11621
11622 * include/grub/command.h (grub_command_execute): New inline function.
11623
11624 * include/grub/menu.h (grub_menu_entry): Removed commands field.
11625
11626 * include/grub/normal.h: Remove <grub/setjmp.h>.
11627 (grub_fs_module_list): Moved to normal/autofs.c.
11628 (grub_exit_env): Removed.
11629 (grub_command_execute): Likewise.
11630 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
11631 parameter script.
11632 (read_command_list): New function declaration.
11633 (read_fs_list): Likewise.
11634
11635 * include/parser.h: Include <grub/reader.h>.
11636 (grub_parser_split_cmdline): Change type of getline parameter.
11637 (grub_parser): New structure.
11638 (grub_parser_class): New variable.
11639 (grub_parser_execute): New function declaration.
11640 (grub_register_rescue_parser): Likewise.
11641 (grub_parser_register): New inline function.
11642 (grub_parser_unregister): Likewise.
11643 (grub_parser_get_current): Likewise.
11644 (grub_parser_set_current): Likewise.
11645
11646 * include/grub/reader.h: New file.
11647 * kern/reader.c: Likewise.
11648 * kern/rescue_parser.c: Likewise.
11649 * kern/rescue_reader.c: Likewise.
11650 * normal/autofs.c: Likewise.
11651 * normal/dyncmd.c: Likewise.
11652
11653 * include/grub/rescue.h: Removed.
11654 * normal/command.h: Likewise.
11655
11656 * include/grub/script.h: Moved to ...
11657 * include/grub/script_sh.h: ... Moved here.
11658 * normal/execute.c: Moved to ...
11659 * script/sh/execute.c: ... Moved here.
11660 * normal/function.c: Moved to ...
11661 * script/sh/function.c: ... Moved here.
11662 * normal/lexer.c: Moved to ...
11663 * script/sh/lexer.c: ... Moved here.
11664 * normal/parser.y: Moved to ...
11665 * script/sh/parser.y: ... Moved here.
11666 * normal/script.c: Moved to ...
11667 * script/sh/script.c: ... Moved here.
11668
11669 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
11670 <grub/reader.h>.
11671 (grub_exit_env): Removed.
11672 (fs_module_list): Moved to normal/autofs.c.
11673 (grub_file_getline): Don't handle comment here.
11674 (free_menu): Skip removed field entry->commands.
11675 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
11676 script parameter.
11677 (read_config_file): Removed nested parameter, change getline function.
11678 (grub_enter_normal_mode): Removed.
11679 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
11680 (read_command_list): Likewise.
11681 (autoload_fs_module): Moved to normal/autofs.c.
11682 (read_fs_list): Likewise.
11683 (reader_nested): New variable.
11684 (grub_normal_execute): Run parser.sh to switch to sh parser.
11685 (grub_cmd_rescue): Removed.
11686 (cmd_normal): Removed.
11687 (grub_cmd_normal): Unregister itself at the beginning. Don't register
11688 rescue command.
11689 (grub_cmdline_run): New function.
11690 (grub_normal_reader_init): Likewise.
11691 (grub_normal_read_line): Likewise.
11692 (grub_env_write_pager): Likewise.
11693 (cmdline): New variable.
11694 (grub_normal_reader): Likewise.
11695 (GRUB_MOD_INIT): Register normal reader and set as current, register
11696 pager hook, register normal command with grub_register_command_prio,
11697 so that it won't show up in command.lst.
11698 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
11699 grub_fs_autoload_hook.
11700
11701 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
11702 (grub_menu_execute_entry): Replace grub_script_execute with
11703 grub_parser_execute, change parameter to grub_command_execute.
11704
11705 * normal/menu_text.c: Remove <grub/script.h>.
11706
11707 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
11708 and <grub/parser.h>.
11709 (run): Change editor_getline to use new parser interface. Change
11710 parameter to grub_command_execute.
11711
11712 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
11713 <grub/reader.h> and <grub/parser.h>.
11714 (grub_load_normal_mode): Execute normal command.
11715 (grub_main): Call grub_register_core_commands,
11716 grub_register_rescue_parser and grub_register_rescue_reader, use
11717 grub_reader_loop to enter input loop.
11718
11719 * kern/parser.c (grub_parser_split_cmdline): Change type of
11720 getline parameter.
11721 (grub_parser_class): New variable.
11722 (grub_parser_execute): New function.
11723
11724 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
11725 * loader/multiboot2.c: Likewise.
11726 * loader/sparc64/ieee1275/linux.c: Likewise.
11727
11728 * util/grub-emu.c (read_command_list): New dummy function.
11729
11730 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
11731
11732 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
11733 count to 16 for CCISS and IDA.
11734
11735 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
11736
11737 * normal/menu_text.c (grub_wait_after_message): Print a newline
11738 after waiting for user input.
11739
11740 * loader/i386/linux.c: Include `<grub/normal.h>'.
11741 (grub_cmd_linux): Improve the error message about `ask' mode, by
11742 waiting for user input so it's not missed (we can do this, since
11743 user requested interaction).
11744
11745 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11746
11747 Added missing lst to grub-mkrescue
11748
11749 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
11750 and ${input_dir}/parttool.lst
11751
11752 2009-04-30 David S. Miller <davem@davemloft.net>
11753
11754 * util/hostdisk.c (device_is_wholedisk): New function.
11755 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
11756 zero only if device_is_wholedisk() returns true.
11757
11758 * util/hostdisk.c (convert_system_partition_to_system_disk):
11759 Handle virtual disk devices named /dev/vdiskX as found on sparc
11760 and powerpc.
11761
11762 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
11763 lettered partition specifier is found, convert to numbered.
11764
11765 2009-04-29 David S. Miller <davem@davemloft.net>
11766
11767 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
11768 * include/grub/sparc64/ieee1275/memory.h: Likewise.
11769
11770 * normal/command.c: Add missing newline at end of file.
11771
11772 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
11773 warnings.
11774 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
11775 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
11776 grub_ofdisk_read): Likewise, and deal similarly with the fact that
11777 ihandles have a 32-bit type but need to be stored in a "void *".
11778
11779 2009-04-28 Pavel Roskin <proski@gnu.org>
11780
11781 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
11782 not disk. Adjust all dependencies.
11783 (grub_fs_uuid_close): Use grub_device_close(), not
11784 grub_disk_close().
11785
11786 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
11787 parent's partition, don't copy it by reference, as it gets freed
11788 on close.
11789
11790 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
11791
11792 Preboot hooks support
11793
11794 * commands/boot.c (struct grub_preboot_t): new declaration
11795 (preboots_head): new variable
11796 (preboots_tail): likewise
11797 (grub_loader_register_preboot_hook): new function
11798 (grub_loader_unregister_preboot_hook): likewise
11799 (grub_loader_set): launch preboot hooks
11800 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
11801 (grub_loader_register_preboot_hook): new declaration
11802 (grub_loader_unregister_preboot_hook): likewise
11803
11804 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
11805
11806 Warning fix
11807
11808 * disk/scsi.c (grub_scsi_open): added missing cast when
11809 calling grub_dprintf
11810
11811 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
11812
11813 Bug and warning fixes
11814
11815 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
11816 declaration
11817 * commands/test.c (test_parse): fixed bug with file tests and corrected
11818 declaration of find_file
11819
11820 2009-04-26 Pavel Roskin <proski@gnu.org>
11821
11822 * Makefile.in: Don't install empty manual pages if help2man is
11823 missing. Use help2man option for output, not shell redirection.
11824
11825 2009-04-26 David S. Miller <davem@davemloft.net>
11826
11827 * util/grub-mkdevicemap.c (make_device_map): Add missing
11828 NESTED_FUNC_ATTR to process_device().
11829
11830 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11831
11832 Test command
11833
11834 * commands/test.c: rewritten to use bash-like test
11835
11836 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11837
11838 Parttool autoloading and improvements
11839
11840 * Makefile.in (pkglib_DATA): add parttool.lst
11841 (parttool.lst): new target
11842 * genmk.rb: generate parttool-*
11843 (CLEANFILES): add #{parttool}
11844 (PARTTOOLFILES): new variable
11845 * genparttoollist.sh: new file
11846 * parttool/pcpart.c (grub_pcpart_boot): more feedback
11847 (grub_pcpart_type): likewise
11848 * commands/parttool.c (helpmsg): new variable
11849 (grub_cmd_parttool): output help if not enough arguments are supplied
11850 autoload modules
11851 (GRUB_MOD_INIT(parttool)): use helpmsg
11852
11853 2009-04-24 David S. Miller <davem@davemloft.net>
11854
11855 Avoiding opening same device multiple times in device iterator.
11856
11857 * kern/device.c: (grub_device_iterate): Define struct part_ent,
11858 and use it to build a list of partitions in iterate_disk() and
11859 iterate_partition().
11860
11861 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
11862 on disk->data.
11863
11864 * disk/ieee1275/nand.c (grub_nand_iterate): Return
11865 grub_devalias_iterate() result instead of unconditional 0.
11866 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
11867 Also, capture hook return value, either directly or via
11868 grub_children_iterate(), and propagate to caller.
11869 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
11870 grub_children_iterate): Return value is now 'int' instead of
11871 'grub_err_t'.
11872 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
11873 like a proper iterator, stopping when hooks return non-zero.
11874 (grub_devalias_iterate): Likewise.
11875
11876 2009-04-23 David S. Miller <davem@davemloft.net>
11877
11878 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
11879
11880 2009-04-22 David S. Miller <davem@davemloft.net>
11881
11882 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
11883 is larger than address_cells, use that value for address_cells too.
11884
11885 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
11886 IEEE1275_MAX_PATH_LEN): Define.
11887 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
11888 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
11889 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
11890 'devtype'. Explicitly NULL terminate devalias expansion.
11891
11892 * util/sparc64/ieee1275/misc.c: New file.
11893 * util/sparc64/ieee1275/grub-setup.c: New file.
11894 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
11895 * util/sparc64/ieee1275/grub-mkimage.c: New file.
11896 * util/sparc64/ieee1275/grub-install.in: New file.
11897 * util/ieee1275/ofpath.c: New file.
11898 * util/ieee1275/devicemap.c: New file.
11899 * util/devicemap.c: New file.
11900 * util/deviceiter.c: New file.
11901 * kern/sparc64/ieee1275/init.c: New file.
11902 * include/grub/util/ofpath.h: New file.
11903 * include/grub/util/deviceiter.h: New file.
11904 * util/grub-mkdevicemap.c: Include deviceiter.h.
11905 Implement using grub_util_emit_devicemap_entry and
11906 grub_util_iterate_devices.
11907 * conf/i386-corebook.rmk: Build util/deviceiter.c and
11908 util/devicemap.c into grub-mkdevicemap
11909 * conf/i386-efi.rmk: Likewise.
11910 * conf/i386-ieee1275.rmk: Likewise.
11911 * conf/i386-pc.rmk: Likewise.
11912 * conf/powerpc-ieee1275.rmk: Likewise.
11913 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
11914 images and installation utilities. Build kernel as image
11915 instead of as elf binary. Use common rules as much as possible.
11916
11917 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11918
11919 Correct GPT definition
11920
11921 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
11922 of "attrib" member
11923
11924 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
11925
11926 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
11927
11928 2009-04-19 David S. Miller <davem@davemloft.net>
11929
11930 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
11931 (grub_rescue_cmd_linux): Rename to...
11932 (grub_cmd_linux): and fix prototype.
11933 (grub_rescue_cmd_initrd): Rename to...
11934 (grub_cmd_initrd): and fix prototype.
11935 (cmd_linux, cmd_initrd): New.
11936 (GRUB_MOD_INIT(linux)): Use grub_register_command().
11937 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
11938
11939 2009-04-17 Pavel Roskin <proski@gnu.org>
11940
11941 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
11942 format.
11943 (grub_ohci_transfer): Likewise.
11944
11945 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
11946
11947 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
11948 return without a value. Fix inconsistent indentation.
11949
11950 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
11951 match struct grub_fs.
11952
11953 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
11954 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
11955 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
11956 * commands/lspci.c (grub_lspci_iter): Likewise.
11957
11958 2009-04-16 Bean <bean123ch@gmail.com>
11959
11960 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
11961 value.
11962
11963 2009-04-15 Pavel Roskin <proski@gnu.org>
11964
11965 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
11966 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
11967 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
11968 definitions.
11969
11970 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
11971
11972 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
11973 that no multiple data or metadata areas are supported and `Unknown
11974 metadata header'.
11975
11976 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
11977
11978 Move loader out of the kernel
11979
11980 * kern/loader.c: moved to ...
11981 * commands/boot.c: ... moved here
11982 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
11983 * commands/boot.c (grub_cmd_boot): moved here. All users updated
11984 * include/grub/kernel.h (grub_machine_fini): export
11985 * include/grub/loader.h (grub_loader_is_loaded): update declaration
11986 (grub_loader_set): likewise
11987 (grub_loader_unset): likewise
11988 (grub_loader_boot): likewise
11989 * conf/common.rmk: new module boot.mod
11990 (pkglib_MODULES): add boot.mod
11991 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
11992 (grub_emu_SOURCES): likewise
11993 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
11994 (grub_emu_SOURCES): likewise
11995 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
11996 (grub_emu_SOURCES): likewise
11997 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
11998 (grub_emu_SOURCES): likewise
11999 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
12000 (grub_emu_SOURCES): likewise
12001 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
12002 (grub_emu_SOURCES): likewise
12003 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
12004 (grub_emu_SOURCES): likewise
12005
12006 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
12007
12008 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
12009
12010 * kern/misc.c (grub_itoa): Removed function
12011 (grub_ltoa): likewise
12012 (grub_vsprintf): use grub_lltoa
12013
12014 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
12015
12016 Restore grub-emu
12017
12018 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
12019 * conf/i386-coreboot.rmk: likewise
12020 * conf/i386-ieee1275.rmk: likewise
12021 * conf/powerpc-ieee1275.rmk: likewise
12022
12023 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
12024
12025 * INSTALL: Add that `./autogen.sh' needs to be run before
12026 `./configure.'.
12027
12028 2009-04-14 Bean <bean123ch@gmail.com>
12029
12030 * Makefile.in (pkglib_DATA): Add handler.lst.
12031 (handler.lst): New rule.
12032
12033 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
12034 * conf/i386-coreboot.rmk: Likewise.
12035 * conf/i386-ieee1275.rmk: Likewise.
12036 * conf/i386-efi.rmk: Likewise.
12037 * conf/x86_64-efi.rmk: Likewise.
12038 * conf/powerpc-ieee1275.rmk: Likewise.
12039 * conf/sparc64-ieee1275.rmk: Likewise.
12040
12041 * genhandlerlist.sh: New file.
12042
12043 * genmk.rb: Add rules to generate handler.lst.
12044
12045 * include/grub/normal.h (grub_file_getline): New function definition.
12046 (read_handler_list): Likewise.
12047 (free_handler_list): Likewise.
12048
12049 * include/grub/term.h (grub_term_register_input): Add name parameter
12050 for auto generation of handler.lst.
12051 (grub_term_register_output): Likewise.
12052
12053 * normal/handler.c: New file.
12054
12055 * normal/main.c (get_line): Renamed to grub_file_getline.
12056 (read_config_file): Use the newly renamed grub_file_getline.
12057 (read_command_list): Likewise.
12058 (read_fs_list): Likewise.
12059 (grub_normal_execute): Call read_handler_list to parse handler.lst.
12060 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
12061
12062 * term/efi/console.c (grub_console_init): Add name parameter for auto
12063 generation of handler.lst.
12064 * term/gfxterm.c: Likewise.
12065 * term/i386/pc/at_keyboard.c: Likewise.
12066 * term/i386/pc/console.c: Likewise.
12067 * term/i386/pc/serial.c: Likewise.
12068 * term/i386/pc/vesafb.c: Likewise.
12069 * term/i386/pc/vga.c: Likewise.
12070 * term/i386/pc/vga_text.c: Likewise.
12071 * term/ieee1275/ofconsole.c: Likewise.
12072 * term/usb_keyboard.c: Likewise.
12073
12074 2009-04-14 Bean <bean123ch@gmail.com>
12075
12076 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
12077 properly with null character.
12078
12079 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
12080
12081 * configure: Remove.
12082 * config.h.in: Likewise.
12083 * stamp-h.in: Likewise.
12084 * DISTLIST: Likewise.
12085 * conf/common.mk: Likewise.
12086 * conf/i386-coreboot.mk: Likewise.
12087 * conf/i386-efi.mk: Likewise.
12088 * conf/i386-ieee1275.mk: Likewise.
12089 * conf/i386.mk: Likewise.
12090 * conf/i386-pc.mk: Likewise.
12091 * conf/powerpc-ieee1275.mk: Likewise.
12092 * conf/sparc64-ieee1275.mk: Likewise.
12093 * conf/x86_64-efi.mk: Likewise.
12094
12095 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
12096 develop on GRUB.
12097
12098 2009-04-14 John Stanley <jpsinthemix@verizon.net>
12099 David S. Miller <davem@davemloft.net>
12100
12101 * util/hostdisk.c (make_device_name): Fix buffer length
12102 calculations.
12103
12104 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
12105
12106 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
12107 <sys/param.h> and <sys/sysctl.h>.
12108 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
12109 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
12110 opening the device and reset them afterwards.
12111
12112 2009-04-13 Pavel Roskin <proski@gnu.org>
12113
12114 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
12115 Reported by John Stanley <jpsinthemix@verizon.net>
12116
12117 2009-04-13 Robert Millan <rmh@aybabtu.com>
12118
12119 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
12120 that name for menuentries when appropriate.
12121
12122 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
12123
12124 * util/grub.d/10_freebsd.in: Add a missing `fi'.
12125
12126 2009-04-13 Robert Millan <rmh@aybabtu.com>
12127
12128 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
12129 to Linux, simply abort telling the user it's no longer supported.
12130
12131 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
12132
12133 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
12134 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
12135 `freebsd_loadenv' only when devices.hints exist.
12136
12137 2009-04-13 Pavel Roskin <proski@gnu.org>
12138
12139 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
12140
12141 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
12142
12143 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
12144 partition number.
12145 (grub_drive): Likewise.
12146
12147 2009-04-13 David S. Miller <davem@davemloft.net>
12148
12149 * kern/sparc64/ieee1275/ieee1275.c: New file.
12150 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
12151 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
12152 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
12153 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
12154 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
12155 grub_ieee1275_alloc_physmem): Declare new exported functions.
12156
12157 * include/grub/sparc64/ieee1275/loader.h: New file.
12158 * include/grub/sparc64/ieee1275/memory.h: Likewise.
12159 * include/grub/sparc64/kernel.h: Likewise.
12160 * loader/sparc64/ieee1275/linux.c: Likewise.
12161
12162 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
12163 (grub_fstest_SOURCES): Likewise.
12164
12165 * util/hostdisk.c (make_device_name): Do not make any assumptions
12166 about the length of drive names.
12167
12168 * kern/dl.c (grub_dl_load_file): Close file immediately when
12169 we are done using it.
12170
12171 2009-04-12 David S. Miller <davem@davemloft.net>
12172
12173 * kern/misc.c (grub_ltoa): Fix cast when handling negative
12174 values. Noticed by Pavel Roskin.
12175
12176 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
12177 target compiler.
12178
12179 * genmk.rb: Add more flexible image type specification, also
12180 pass --strip-unneeded to objcopy.
12181 * conf/i386-pc.rmk: Use *_FORMAT.
12182 * conf/i386-pc.mk: Rebuilt.
12183
12184 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
12185 (OFDISK_HASH_SZ): Define.
12186 (ofdisk_hash): New hash table.
12187 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
12188 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
12189 instead of device phandle which is not unique.
12190
12191 * kern/sparc64/ieee1275/init.c: Delete, replace with...
12192 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
12193 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
12194 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
12195 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
12196 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
12197 GRUB_KERNEL_MACHINE_DATA_END): Define.
12198 (grub_kernel_image_size, grub_total_module_size): Declare.
12199
12200 2009-04-12 Pavel Roskin <proski@gnu.org>
12201
12202 * configure.ac: Change the logic when we check for target tools.
12203 Do it when the target is specified and it's different from the
12204 specified value of the host.
12205
12206 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
12207
12208 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
12209 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
12210 GNU/kFreeBSD. Check if a device is a character device. Use
12211 DIOCGMEDIASIZE to get the size.
12212 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
12213 support for GNU/kFreeBSD.
12214 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
12215 is a character device instead of a block device. Add support for
12216 FreeBSD device names.
12217
12218 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
12219 is a character device instead of a block device.
12220
12221 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
12222 is a character device instead of a block device.
12223
12224 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
12225
12226 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
12227 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
12228 FreeBSD. Check if a device is a character device. Use
12229 DIOCGMEDIASIZE to get the size.
12230 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
12231 support for FreeBSD.
12232 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
12233 is a character device instead of a block device. Add support for
12234 FreeBSD device names.
12235
12236 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
12237 a character device instead of a block device.
12238 (grub_util_check_char_device): New function.
12239
12240 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
12241 a character device instead of a block device.
12242
12243 * include/grub/util/getroot.h (grub_util_check_char_device): New
12244 prototype.
12245
12246 2009-04-11 David S. Miller <davem@davemloft.net>
12247
12248 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
12249 static libgcc.
12250 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
12251 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
12252 function, if present.
12253 (__bswapdi2): Likewise.
12254
12255 * include/grub/sparc64/ieee1275/boot.h: New file.
12256 * boot/sparc64/ieee1275/boot.S: Likewise.
12257 * boot/sparc64/ieee1275/diskboot.S: Likewise.
12258
12259 * kern/misc.c (grub_ltoa): New function.
12260 (grub_vsprintf): Use it to format 'long' integers.
12261
12262 2009-04-10 David S. Miller <davem@davemloft.net>
12263
12264 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
12265 slots are of type grub_ieee1275_cell_t.
12266 (grub_nand_read): Likewise.
12267 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
12268 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
12269 macros are used to compare values in arg/ret block of the call.
12270 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
12271 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
12272 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
12273 grub_ieee1275_instance_to_path, grub_ieee1275_write,
12274 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
12275 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
12276 grub_ieee1275_close, grub_ieee1275_set_property,
12277 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
12278 grub_ieee1275_cell_t.
12279 * kern/ieee1275/openfw.c (grub_map): Likewise.
12280 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
12281 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
12282
12283 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
12284 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
12285 (grub_devalias_iterate): Likewise.
12286
12287 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12288
12289 UFS improvements
12290
12291 * fs/ufs.c (INODE_NBLOCKS): new definition
12292 (struct grub_ufs_dirent): added fields for non-BSD dirents
12293 (grub_ufs_get_file_block): fixed double indirect handling
12294 (grub_ufs_lookup_symlink): use more robust way to determine whether
12295 symlink is inline
12296 (grub_ufs_find_file): support for non-BSD dirents
12297 (grub_ufs_dir): support for non-BSD dirents
12298
12299 2009-04-10 Bean <bean123ch@gnail.com>
12300
12301 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
12302 attribute, otherwise the size would be wrong for i386 platform.
12303
12304 * include/grub/pci.h (grub_pci_read_word): New inline function.
12305 (grub_pci_read_byte): Likewise.
12306 (grub_pci_write): Likewise.
12307 (grub_pci_write_word): Likewise.
12308 (grub_pci_write_byte): Likewise.
12309
12310 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
12311
12312 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
12313 (find_framebuf): Scan pci to locate the frame buffer address.
12314
12315 * commands/efi/fixvideo.c: New file.
12316
12317 * commands/efi/loadbios.c: Likewise.
12318
12319 * commands/memrw.c: Likewise.
12320
12321 * util/grub-dumpbios.in: Likewise.
12322
12323 * conf/common.rmk (grub-dumpbios): New utility.
12324 (pkglib_MODULES): New module memrw.mod.
12325 (memrw_mod_SOURCE): New macro.
12326 (memrw_mod_CFLAGS): Likewise.
12327 (memrw_mod_LDFLAGS): Likewise.
12328
12329 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
12330 fixvideo.mod.
12331 (loadbios_mod_SOURCE): New macro.
12332 (loadbios_mod_CFLAGS): Likewise.
12333 (loadbios_mod_LDFLAGS): Likewise.
12334 (fixvideo_mod_SOURCE): Likewise.
12335 (fixvideo_mod_CFLAGS): Likewise.
12336 (fixvideo_mod_LDFLAGS): Likewise.
12337
12338 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
12339 fixvideo.mod.
12340 (loadbios_mod_SOURCE): New macro.
12341 (loadbios_mod_CFLAGS): Likewise.
12342 (loadbios_mod_LDFLAGS): Likewise.
12343 (fixvideo_mod_SOURCE): Likewise.
12344 (fixvideo_mod_CFLAGS): Likewise.
12345 (fixvideo_mod_LDFLAGS): Likewise.
12346
12347 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
12348
12349 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
12350
12351 2009-04-07 David S. Miller <davem@davemloft.net>
12352
12353 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
12354 support for R_SPARC_OLO10 relocations. Fix compile warning for
12355 R_SPARC_WDISP30 case.
12356 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
12357
12358 2009-04-06 Pavel Roskin <proski@gnu.org>
12359
12360 * include/grub/misc.h (ARRAY_SIZE): New macro.
12361 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
12362 New macro.
12363 * loader/i386/linux.c (allocate_pages): Use free_pages().
12364 (grub_linux_unload): Don't use free_pages().
12365 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
12366 wrong index. Treat all other modes as text modes.
12367 (grub_cmd_linux): Initialize vid_mode unconditionally to
12368 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
12369
12370 * commands/help.c (print_command_help): Use cmd->prio, not
12371 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
12372
12373 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12374
12375 Parttool
12376
12377 * parttool/pcpart.c: new file
12378 * commands/parttool.c: likewise
12379 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
12380 (parttool_mod_SOURCES): new variable
12381 (parttool_mod_CFLAGS): likewise
12382 (parttool_mod_LDFLAGS): likewise
12383 (pcpart_mod_SOURCES): likewise
12384 (pcpart_mod_CFLAGS): likewise
12385 (pcpart_mod_LDFLAGS): likewise
12386 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
12387 and parttool/pcpart.c
12388 * conf/i386-efi.rmk: likewise
12389 * conf/i386-ieee1275.rmk: likewise
12390 * conf/i386-pc.rmk: likewise
12391 * conf/powerpc-ieee1275.rmk: likewise
12392 * conf/sparc64-ieee1275.rmk: likewise
12393 * conf/x86_64-ieee1275.rmk: likewise
12394
12395 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12396
12397 Support for mtime and further expandability of dir command
12398
12399 * include/grub/lib/datetime.h: moved to ...
12400 * include/grub/datetime.h: ... moved here and added
12401 declaration of grub_unixtime2datetime. All users updated
12402 * include/grub/fs.h: new syntax for dir and mtime functions in
12403 struct grub_fs
12404 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
12405 and GRUB_FSHELP_FLAGS_MASK
12406 * commands/ls.c (grub_ls_list_files): Write mtime in long format
12407 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
12408 (grub_ext2_mtime): new function
12409 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
12410 (grub_hfsplus_mtime): new function
12411 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
12412 (GRUB_UFS_ATTR_FILE): likewise
12413 (GRUB_UFS_ATTR_LNK): likewise
12414 (struct grub_ufs_sblock): new fields mtime
12415 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
12416 all users updated
12417 (grub_ufs_dir): mtime support
12418 (grub_ufs_mtime): new function
12419 * fs/affs.c (grub_affs_dir): use new dir syntax
12420 * fs/afs.c (grub_afs_dir): likewise
12421 * fs/cpio.c (grub_cpio_dir): likewise
12422 * fs/fat.c (grub_fat_find_dir): likewise
12423 * fs/hfs.c (grub_hfs_dir): likewise
12424 * fs/iso9660.c (grub_iso9660_dir): likewise
12425 * fs/jfs.c (grub_jfs_dir): likewise
12426 * fs/minix.c (grub_minix_dir): likewise
12427 * fs/ntfs.c (grub_ntfs_dir): likewise
12428 * fs/reiserfs.c (grub_reiserfs_dir): likewise
12429 * fs/sfs.c (grub_sfs_dir): likewise
12430 * fs/xfs.c (grub_xfs_dir): likewise
12431 * util/hostfs.c (grub_hostfs_dir): likewise
12432 * lib/datetime.c: moved to ...
12433 * normal/datetime.c: ... moved here
12434 (grub_unixtime2datetime): new function
12435 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
12436 * normal/completion.c (iterate_dir): use new dir syntax
12437 * normal/misc.c (grub_normal_print_device_info): tell the
12438 last modification time of a volume
12439 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
12440 * conf/common.rmk: added lib/datetime.c to ls.mod
12441 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
12442 (normal_mod_SOURCES): likewise
12443 (datetime_mod_SOURCES): Removed lib/datetime.c
12444 * conf/i386-efi.rmk: likewise
12445 * conf/i386-ieee1275.rmk: likewise
12446 * conf/i386-pc.rmk: likewise
12447 * conf/powerpc-ieee1275.rmk: likewise
12448 * conf/sparc64-ieee1275.rmk: likewise
12449 * conf/x86_64-efi.rmk: likewise
12450
12451 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12452
12453 Trim trailing spaces in FAT label and support mtools-like labels
12454
12455 * fs/fat.c (grub_fat_iterate_dir): New function based
12456 on grub_fat_find_dir
12457 (grub_fat_find_dir): use grub_fat_iterate_dir
12458 (grub_fat_label): likewise
12459
12460 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
12461
12462 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
12463 and command.h
12464 remove extraneous kernel_elf_HEADERS
12465
12466 2009-04-04 Bean <bean123ch@gnail.com>
12467
12468 * include/grub/util/misc.h: Add dummy function fsync for mingw.
12469
12470 * util/misc.c: Likewise.
12471
12472 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
12473
12474 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
12475 instead of grub_printf.
12476
12477 2009-04-03 Robert Millan <rmh@aybabtu.com>
12478
12479 * loader/i386/linux.c (grub_linux_setup_video): Fill
12480 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
12481 values from `mode info' structure instead of hardcoded
12482 values.
12483
12484 2009-04-01 Pavel Roskin <proski@gnu.org>
12485
12486 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
12487 unused now.
12488 * genmk.rb: Likewise.
12489 * configure.ac: Likewise.
12490
12491 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
12492
12493 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
12494 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
12495
12496 2009-04-01 David S. Miller <davem@davemloft.net>
12497
12498 * normal/sparc64/setjmp.S: Fix setjmp implementation.
12499 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
12500 (grub_setjmp): Mark with 'returns_twice' attribute.
12501 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
12502 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
12503 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
12504
12505 2009-04-01 Robert Millan <rmh@aybabtu.com>
12506
12507 Reapply fix from 2008-07-28 which was accidentally reverted; also
12508 perform the same fix to a similar check in same function.
12509
12510 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
12511 with the same number are found, just use issue a warning with
12512 grub_dprintf(), as this error has been reported to be non-fatal.
12513
12514 2009-03-31 Pavel Roskin <proski@gnu.org>
12515
12516 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
12517 for cross-compilation.
12518
12519 2009-03-30 Robert Millan <rmh@aybabtu.com>
12520
12521 Fix i386-ieee1275 build.
12522
12523 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
12524 Remove declaration.
12525
12526 2009-03-30 Pavel Roskin <proski@gnu.org>
12527
12528 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
12529 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
12530 zero-terminated, rely only on the strlen value. Fix comparison
12531 of strings differing in length.
12532
12533 2009-03-30 Robert Millan <rmh@aybabtu.com>
12534
12535 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
12536 checking for abi version. Improve error messages on BIOS to notify
12537 user about `linux16' command.
12538
12539 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12540
12541 Leak fixes
12542
12543 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
12544 in case of collision
12545 * disk/scsi.c (grub_scsi_open): free scsi in case of error
12546
12547 2009-03-29 Robert Millan <rmh@aybabtu.com>
12548
12549 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
12550 set `vid_mode' accordingly.
12551 (grub_linux_boot): Process `vid_mode' and set video mode.
12552
12553 2009-03-29 Robert Millan <rmh@aybabtu.com>
12554
12555 * util/grub.d/10_linux.in (linux_entry): New function.
12556 Factorize generation of Linux boot entries.
12557
12558 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
12559
12560 Make the format of Environment Block plain text. The boot loader
12561 part is not tested well yet.
12562
12563 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
12564 (buffer): Removed.
12565 (envblk): Likewise.
12566 (usage): Remove "info" and "clear". Add "unset". Update the
12567 description of "set", as this does not delete variables any
12568 longer.
12569 (create_envblk_file): Complete rewrite.
12570 (open_envblk_file): Likewise.
12571 (cmd_info): Removed.
12572 (cmd_list): Likewise.
12573 (cmd_set): Likewise.
12574 (cmd_clear): Likewise.
12575 (list_variables): New function.
12576 (write_envblk): Likewise.
12577 (set_variables): Likewise.
12578 (unset_variables): Likewise.
12579 (main): Complete rewrite.
12580
12581 * commands/loadenv.c (buffer): Removed.
12582 (envblk): Likewise.
12583 (open_envblk_file): New function.
12584 (read_envblk_file): Complete rewrite.
12585 (grub_cmd_load_env): Likewise.
12586 (grub_cmd_list_env): Likewise.
12587 (struct blocklist): New struct.
12588 (free_blocklists): New function.
12589 (check_blocklists): Likewise.
12590 (write_blocklists): Likewise.
12591 (grub_cmd_save_env): Complete rewrite.
12592
12593 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
12594 a plain text signature.
12595 (GRUB_ENVBLK_MAXLEN): Removed.
12596 (struct grub_envblk): Complete rewrite.
12597 (grub_envblk_find): Removed.
12598 (grub_envblk_insert): Likewise.
12599 (grub_envblk_open): New prototype.
12600 (grub_envblk_set): Likewise.
12601 (grub_envblk_delete): Put const to VALUE.
12602 (grub_envblk_iterate): Put const to NAME and VALUE.
12603 (grub_envblk_close): New prototype.
12604 (grub_envblk_buffer): New inline function.
12605 (grub_envblk_size): Likewise.
12606
12607 * lib/envblk.c: Include grub/mm.h.
12608 (grub_env_find): Removed.
12609 (grub_envblk_open): New function.
12610 (grub_envblk_close): Likewise.
12611 (escaped_value_len): Likewise.
12612 (find_next_line): Likewise.
12613 (grub_envblk_insert): Removed.
12614 (grub_envblk_set): New function.
12615 (grub_envblk_delete): Complete rewrite.
12616 (grub_envblk_iterate): Likewise.
12617
12618 2009-03-28 Robert Millan <rmh@aybabtu.com>
12619
12620 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
12621 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
12622 variables. Use 16-bit loader.
12623 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
12624 loader.
12625 * kern/i386/loader.S (grub_linux_boot): Rename to ...
12626 (grub_linux16_boot): ... this. Update all users.
12627 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
12628 (grub_linux_boot): ... this. Update all users.
12629
12630 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
12631 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
12632 commands to `linux16' and `initrd16'.
12633 (GRUB_MOD_FINI(linux)): Rename to ...
12634 (GRUB_MOD_FINI(linux16)): ... this.
12635
12636 2009-03-24 Pavel Roskin <proski@gnu.org>
12637
12638 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
12639 not just for compilation.
12640
12641 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
12642
12643 Move multiboot helper out of kernel
12644
12645 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
12646 `loader/i386/multiboot_helper.S'.
12647 * conf/i386-coreboot.rmk: Likewise
12648 * conf/i386-ieee1275.rmk: Likewise
12649
12650 * kern/i386/loader.S: Move multiboot helpers from here...
12651 * loader/i386/multiboot_helper.S: ...moved here
12652 * include/grub/i386/loader.h: Move declarations of multiboot
12653 helpers from here...
12654 * include/grub/i386/multiboot.h: ...moved here
12655 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
12656
12657 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
12658
12659 * kern/env.c (grub_env_context_open): Added an argument to specify
12660 whether a new context inherits exported variables from current
12661 one. This is useful when making a sandbox to interpret a config
12662 file.
12663 All callers updated.
12664
12665 * include/grub/env.h (grub_env_context_open): Updated the prototype.
12666
12667 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
12668
12669 * kern/env.c (grub_env_context_close): Fix memory leaks.
12670
12671 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
12672
12673 * normal/main.c (grub_normal_execute): Added an argument
12674 BATCH to specify if an interactive interface should be provided
12675 after reading a config file.
12676 All callers updated.
12677 (read_command_list): Prevent being executed twice.
12678 (read_fs_list): Likewise.
12679
12680 * include/grub/normal.h (grub_normal_execute): Updated the
12681 prototype.
12682
12683 2009-03-22 Pavel Roskin <proski@gno.org>
12684
12685 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
12686 _start.
12687 * kern/i386/pc/startup.S: Likewise.
12688 * kern/i386/efi/startup.S: Likewise.
12689 * kern/i386/ieee1275/startup.S: Likewise.
12690 * kern/i386/coreboot/startup.S: Likewise.
12691 * kern/x86_64/efi/startup.S: Likewise.
12692
12693 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
12694 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
12695 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
12696
12697 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
12698
12699 Bugfixes in multiboot for bugs uncovered by solaris kernel.
12700
12701 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
12702 limit detection.
12703 Use vaddr of correct segment for entry_point.
12704
12705 2009-03-21 Bean <bean123ch@gmail.com>
12706
12707 * commands/blocklist.c: Add include file <grub/command.h>, remove
12708 <grub/normal.h> and <grub/arg.h>.
12709 (grub_cmd_blocklist): Use the new command interface.
12710 (GRUB_MOD_INIT): Likewise.
12711 (GRUB_MOD_FINI): Likewise.
12712 * commands/boot.c: Likewise.
12713 * commands/cat.c: Likewise.
12714 * commands/cmp.c: Likewise.
12715 * commands/configfile.c: Likewise.
12716 * commands/crc.c: Likewise.
12717 * commands/echo.c: Likewise.
12718 * commands/halt.c: Likewise.
12719 * commands/handler.c: Likewise.
12720 * commands/hdparm.c: Likewise.
12721 * commands/help.c: Likewise.
12722 * commands/hexdump.c: Likewise.
12723 * commands/loadenv.c: Likewise.
12724 * commands/ls.c: Likewise.
12725 * commands/lsmmap.c: Likewise.
12726 * commands/lspci.c: Likewise.
12727 * commands/loadenv.c: Likewise.
12728 * commands/read.c: Likewise.
12729 * commands/reboot.c: Likewise.
12730 * commands/search.c: Likewise.
12731 * commands/sleep.c: Likewise.
12732 * commands/test.c: Likewise.
12733 * commands/usbtest.c: Likewise.
12734 * commands/videotest.c: Likewise.
12735 * commands/i386/cpuid.c: Likewise.
12736 * commands/i386/pc/halt.c: Likewise.
12737 * commands/i386/pc/play.c: Likewise.
12738 * commands/i386/pc/pxecmd.c: Likewise.
12739 * commands/i386/pc/vbeinfo.c: Likewise.
12740 * commands/i386/pc/vbetest.c: Likewise.
12741 * commands/ieee1275/suspend.c: Likewise.
12742 * disk/loopback.c: Likewise.
12743 * font/font_cmd.c: Likewise.
12744 * hello/hello.c: Likewise.
12745 * loader/efi/appleloader.c: Likewise.
12746 * loader/efi/chainloader.c: Likewise.
12747 * loader/i386/bsd.c: Likewise.
12748 * loader/i386/efi/linux.c: Likewise.
12749 * loader/i386/ieee1275/linux.c: Likewise.
12750 * loader/i386/linux.c: Likewise.
12751 * loader/i386/pc/chainloader.c: Likewise.
12752 * loader/i386/pc/linux.c: Likewise.
12753 * loader/powerpc/ieee1275/linux.c: Likewise.
12754 * loader/multiboot_loader.c: Likewise.
12755 * term/gfxterm.c: Likewise.
12756 * term/i386/pc/serial.c: Likewise.
12757 * term/terminfo.c: Likewise.
12758
12759 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
12760 * term/i386/pc/vga.c: Likewise.
12761 * video/readers/jpeg.c: Likewise.
12762 * video/readers/png.c: Likewise.
12763 * video/readers/tga.c: Likewise.
12764
12765 * util/grub-fstest (cmd_loopback): Removed.
12766 (cmd_blocklist): Likewise.
12767 (cmd_ls): Likewise.
12768 (grub_register_command): Likewise.
12769 (grub_unregister_command): Likewise.
12770 (execute_command): Use grub_command_find to locate command and execute
12771 it.
12772
12773 * include/grub/efi/chainloader.h: Removed.
12774 * loader/efi/chainloader_normal.c: Likewise.
12775 * loader/i386/bsd_normal.c: Likewise.
12776 * loader/i386/pc/chainloader_normal.c: Likewise.
12777 * loader/i386/pc/multiboot_normal.c: Likewise.
12778 * loader/linux_normal.c: Likewise.
12779 * loader/multiboot_loader_normal.c: Likewise.
12780 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
12781
12782 * gencmdlist.sh: Scan new registration command grub_register_extcmd
12783 and grub_register_command_p1.
12784
12785 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
12786 kern/command.c, lib/arg.c and commands/extcmd.c.
12787 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
12788 (minicmd_mod_SOURCES): New variable.
12789 (minicmd_mod_CFLAGS): Likewise.
12790 (minicmd_mod_LDFLAGS): Likewise.
12791 (extcmd_mod_SOURCES): Likewise.
12792 (extcmd_mod_CFLAGS): Likewise.
12793 (extcmd_mod_LDFLAGS): Likewise.
12794 (boot_mod_SOURCES): Removed.
12795 (boot_mod_CFLAGS): Likewise.
12796 (boot_mod_LDFLAGS): Likewise.
12797
12798 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
12799 kern/corecmd.c.
12800 (kernel_img_HEADERS): Add command.h.
12801 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
12802 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
12803 and lib/arg.c.
12804 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
12805 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
12806 remove the corresponding normal mode command.
12807 (normal_mod_SOURCES): Remove normal/arg.c.
12808 * conf/i386-coreboot.rmk: Likewise.
12809 * conf/i386-efi.rmk: Likewise.
12810 * conf/i386-ieee1275.rmk: Likewise.
12811 * conf/powerpc-ieee1275.rmk: Likewise.
12812 * conf/x86_64-efi.rmk: Likewise.
12813
12814 * include/grub/arg.h: Move from here ...
12815 * include/grub/lib/arg.h: ... to here.
12816
12817 * normal/arg.c: Move from here ...
12818 * lib/arg.c: ... to here.
12819
12820 * commands/extcmd.c: New file.
12821 * commands/minicmd.c: Likewise.
12822 * include/grub/command.h: Likewise.
12823 * include/grub/extcmd.h: Likewise.
12824 * kern/command.c: Likewise.
12825 * kern/corecmd.c: Likewise.
12826
12827 * kern/list.c (grub_list_iterate): Return int instead of void.
12828 (grub_list_insert): New function.
12829 (grub_prio_list_insert): Likewise.
12830
12831 * kern/rescue.c (grub_rescue_command): Removed.
12832 (grub_rescue_command_list): Likewise.
12833 (grub_rescue_register_command): Likewise.
12834 (grub_rescue_unregister_command): Likewise.
12835 (grub_rescue_cmd_boot): Move to minicmd.c
12836 (grub_rescue_cmd_help): Likewise.
12837 (grub_rescue_cmd_info): Likewise.
12838 (grub_rescue_cmd_boot): Likewise.
12839 (grub_rescue_cmd_testload): Likewise.
12840 (grub_rescue_cmd_dump): Likewise.
12841 (grub_rescue_cmd_rmmod): Likewise.
12842 (grub_rescue_cmd_lsmod): Likewise.
12843 (grub_rescue_cmd_exit): Likewise.
12844 (grub_rescue_print_devices): Moved to corecmd.c.
12845 (grub_rescue_print_files): Likewise.
12846 (grub_rescue_cmd_ls): Likewise.
12847 (grub_rescue_cmd_insmod): Likewise.
12848 (grub_rescue_cmd_set): Likewise.
12849 (grub_rescue_cmd_unset): Likewise.
12850 (attempt_normal_mode): Use grub_command_find to get normal module.
12851 (grub_enter_rescue_mode): Use grub_register_core_commands to register
12852 commands, remove grub_rescue_register_command calls.
12853
12854 * normal/command.c (grub_register_command): Removed.
12855 (grub_unregister_command): Likewise.
12856 (grub_command_find): Likewise.
12857 (grub_iterate_commands): Likewise.
12858 (rescue_command): Likewise.
12859 (export_command): Moved to corecmd.c.
12860 (set_command): Removed.
12861 (unset_command): Likewise.
12862 (insmod_command): Likewise.
12863 (rmmod_command): Likewise.
12864 (lsmod_command): Likewise.
12865 (grub_command_init): Likewise.
12866
12867 * normal/completion.c (iterate_command): Use cmd->prio to check for
12868 active command.
12869 (complete_arguments): Use grub_extcmd_t structure to find options.
12870 (grub_normal_do_completion): Change function grub_iterate_commands to
12871 grub_command_iterate.
12872
12873 * normal/execute.c (grub_script_execute_cmd): No need to parse
12874 argument here.
12875
12876 * normal/main.c (grub_dyncmd_dispatcher): New function.
12877 (read_command_list): Register unload commands as dyncmd.
12878 (grub_cmd_normal): Use new command interface, register rescue,
12879 unregister normal at entry, register normal, unregister rescue at exit.
12880
12881 * include/grub/list.h (grub_list_test_t): New type.
12882 (grub_list_iterate): Return int instead of void.
12883 (grub_list_insert): New function.
12884 (GRUB_AS_NAMED_LIST_P): New macro.
12885 (GRUB_AS_PRIO_LIST): Likewise.
12886 (GRUB_AS_PRIO_LIST_P): Likewise.
12887 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
12888 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
12889 (grub_prio_list): New structure.
12890 (grub_prio_list_insert): New function.
12891 (grub_prio_list_remove): New inline function.
12892
12893 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
12894 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
12895 (GRUB_COMMAND_FLAG_MENU): Likewise.
12896 (GRUB_COMMAND_FLAG_BOTH): Likewise.
12897 (GRUB_COMMAND_FLAG_TITLE): Likewise.
12898 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
12899 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
12900 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
12901 (grub_command): Likewise.
12902 (grub_register_command): Likewise.
12903 (grub_command_find): Likewise.
12904 (grub_iterate_commands): Likewise.
12905 (grub_command_init): Likewise.
12906 (grub_arg_parse): Likewise.
12907 (grub_arg_show_help): Likewise.
12908
12909 * include/grub/rescue.h (grub_rescue_register_command): Removed.
12910 (grub_rescue_unregister_command): Likewise.
12911
12912 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
12913 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
12914 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
12915
12916 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
12917 grub_rescue_cmd_initrd.
12918 * include/grub/i386/loader.h: Likewise.
12919 * include/grub/x86_64/loader.h: Likewise.
12920
12921 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
12922
12923 2009-03-21 Bean <bean123ch@gmail.com>
12924
12925 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
12926 instead of stat in mingw environment.
12927
12928 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
12929
12930 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
12931
12932 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
12933 AC_CONFIG_LINKS.
12934
12935 2009-03-21 Bean <bean123ch@gmail.com>
12936
12937 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
12938 out of range error.
12939
12940 2009-03-18 Michel Dänzer <michel@daenzer.net>
12941
12942 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
12943 checking inode flags for EXT4_EXTENTS_FLAG.
12944
12945 2009-03-18 Robert Millan <rmh@aybabtu.com>
12946
12947 * loader/i386/linux.c: Include `<grub/video.h>' and
12948 `<grub/i386/pc/vbe.h>'..
12949 (grub_linux_setup_video): New function. Loosely based on the EFI one.
12950 (grub_linux32_boot): Attempt to configure video settings with
12951 grub_linux_setup_video().
12952 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
12953 to avoid grub_console_fini() which would step out of graphical mode
12954 unconditionally.
12955
12956 2009-03-14 Robert Millan <rmh@aybabtu.com>
12957
12958 Fix build on powerpc.
12959 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
12960
12961 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
12962
12963 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
12964 background image command.
12965
12966 2009-03-12 Colin D Bennett <colin@gibibit.com>
12967
12968 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
12969 (grub_gfxterm_putchar): Extract pairs of identical calls to
12970 draw_cursor out of conditional blocks.
12971
12972 2009-03-11 Pavel Roskin <proski@gnu.org>
12973
12974 * fs/hfs.c (grub_hfs_strncasecmp): New function.
12975 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
12976
12977 2009-03-11 Robert Millan <rmh@aybabtu.com>
12978
12979 * loader/i386/multiboot_elfxx.c
12980 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
12981
12982 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
12983
12984 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
12985 `kern/handler.c'.
12986
12987 2009-03-11 Robert Millan <rmh@aybabtu.com>
12988
12989 * loader/i386/multiboot.c (code_size): New variable.
12990 (grub_multiboot): Define offsets by adding to `code_size' rather
12991 than subtracting from `grub_multiboot_payload_size'. Provide
12992 4-byte alignment to MBI and others by increasing
12993 `boot_loader_name_length' appropriately.
12994
12995 * loader/i386/multiboot_elfxx.c
12996 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
12997
12998 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
12999
13000 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
13001 `fs/ext2.c'.
13002
13003 2009-03-08 Robert Millan <rmh@aybabtu.com>
13004
13005 Make loader/i386/linux.c usable on i386-pc again.
13006
13007 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
13008 memory to heap.
13009 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
13010 `#error' stanza.
13011
13012 2009-03-07 Bean <bean123ch@gmail.com>
13013
13014 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
13015 allocation.
13016
13017 2009-03-06 Robert Millan <rmh@aybabtu.com>
13018
13019 Fix display issue on terminals with screen size other than 80x25
13020 (e.g. gfxterm with resolution higher than 640x480).
13021
13022 * normal/main.c (grub_normal_init_page): Display title text in a
13023 position relative to the center of the terminal instead of relying
13024 on a hardcoded offset.
13025
13026 2009-03-04 Robert Millan <rmh@aybabtu.com>
13027
13028 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
13029 installed.
13030
13031 * Makefile.in (host_kernel): New variable.
13032 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
13033 scripts instead of just the windows one.
13034 * configure.ac: Initialize and AC_SUBST `host_kernel'.
13035
13036 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
13037
13038 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
13039 `kern/handler.c'.
13040 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13041 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13042 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13043 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13044 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13045 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13046
13047 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
13048
13049 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
13050 or if there's no space for the disk label and print the partition number on a
13051 invalid magic.
13052
13053 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
13054
13055 * util/misc.c: Include <time.h>.
13056 (grub_millisleep): New function.
13057
13058 2009-03-04 Bean <bean123ch@gmail.com>
13059
13060 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
13061 another option -mno-red-zone.
13062
13063 * commands/handler.c: Change module description.
13064
13065 * kern/handler.c: Add missing space at the end of description line.
13066
13067 * kern/list.c: Likewise.
13068
13069 2009-03-03 Robert Millan <rmh@aybabtu.com>
13070
13071 Move more components to the relocation area, and fix mbi pointer
13072 handling to use the destination rather than the origin (thanks to
13073 Vladimir Serbinenko for spotting).
13074
13075 * loader/i386/multiboot.c (mbi_dest): New variable.
13076 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
13077 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
13078 relocation area.
13079
13080 2009-03-01 Bean <bean123ch@gmail.com>
13081
13082 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
13083 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
13084 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
13085 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
13086
13087 * loader/i386/efi/linux.c (acpi_guid): New variable.
13088 (acpi_guid): Likewise.
13089 (EBDA_SEG_ADDR): New constant.
13090 (LOW_MEM_ADDR): Likewise.
13091 (FAKE_EBDA_SEG): Likewise.
13092 (fake_bios_data): New function.
13093 (grub_linux_boot): Call fake_bios_data.
13094
13095 2009-03-01 Bean <bean123ch@gmail.com>
13096
13097 * commands/terminal.c: Removed.
13098
13099 * commands/handler.c: New file.
13100
13101 * include/grub/list.h: Likewise.
13102
13103 * include/grub/handler.h: Likewise.
13104
13105 * kern/list.c: Likewise.
13106
13107 * kern/handler.c: Likewise.
13108
13109 * kern/term.h: Include header file <grub/handler.h>.
13110 (grub_term_input): Move next field to the beginning.
13111 (grub_term_output): Likewise.
13112 (grub_term_input_class): New variable.
13113 (grub_term_output_class): Likewise.
13114 (grub_term_register_input): Changed to inline function.
13115 (grub_term_register_output): Likewise.
13116 (grub_term_unregister_input): Likewise.
13117 (grub_term_unregister_output): Likewise.
13118 (grub_term_set_current_input): Likewise.
13119 (grub_term_set_current_output): Likewise.
13120 (grub_term_get_current_input): Likewise.
13121 (grub_term_get_current_output): Likewise.
13122 (grub_term_iterate_input): Removed.
13123 (grub_term_iterate_output): Likewise.
13124
13125 * kern/term.c (grub_term_list_input): Removed.
13126 (grub_term_list_output): Likewise.
13127 (grub_term_input_class): New variable.
13128 (grub_term_output_class): Likewise.
13129 (grub_cur_term_input): Change variable as macro.
13130 (grub_cur_term_output): Likewise.
13131 (grub_term_register_input): Removed.
13132 (grub_term_register_output): Likewise.
13133 (grub_term_unregister_input): Likewise.
13134 (grub_term_unregister_output): Likewise.
13135 (grub_term_set_current_input): Likewise.
13136 (grub_term_set_current_output): Likewise.
13137 (grub_term_iterate_input): Likewise.
13138 (grub_term_iterate_output): Likewise.
13139 (grub_term_get_current_input): Likewise.
13140 (grub_term_get_current_output): Likewise.
13141
13142 * util/grub-editenv.c: Include header file <grub/handler.h>.
13143 (grub_term_get_current_input): Removed.
13144 (grub_term_get_current_output): Likewise.
13145 (grub_term_input_class): New variable.
13146 (grub_term_output_class): Likewise.
13147
13148 * util/grub-fstest.c (grub_term_get_current_input): Removed.
13149 (grub_term_get_current_output): Likewise.
13150 (grub_term_input_class): New variable.
13151 (grub_term_output_class): Likewise.
13152
13153 * util/grub-probe.c (grub_term_get_current_input): Removed.
13154 (grub_term_get_current_output): Likewise.
13155 (grub_term_input_class): New variable.
13156 (grub_term_output_class): Likewise.
13157
13158 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
13159 (grub_term_get_current_output): Likewise.
13160 (grub_term_input_class): New variable.
13161 (grub_term_output_class): Likewise.
13162
13163 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
13164 (terminal_mod_SOURCES): Likewise.
13165 (terminal_mod_CFLAGS): Likewise.
13166 (terminal_mod_LDFLAGS): Likewise.
13167
13168 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
13169 handler.c.
13170 (kernel_img_SOURCES): Add list.c and handler.c.
13171 (kernel_img_HEADERS): Add list.h and handler.h.
13172
13173 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
13174 handler.c.
13175 (kernel_mod_SOURCES): Add list.c and handler.c.
13176 (kernel_mod_HEADERS): Add list.h and handler.h.
13177
13178 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
13179 handler.c.
13180 (kernel_elf_SOURCES): Add list.c and handler.c.
13181 (kernel_elf_HEADERS): Add list.h and handler.h.
13182
13183 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
13184 handler.c.
13185 (kernel_elf_SOURCES): Add list.c and handler.c.
13186 (kernel_elf_HEADERS): Add list.h and handler.h.
13187
13188 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
13189 handler.c.
13190 (kernel_mod_SOURCES): Add list.c and handler.c.
13191 (kernel_mod_HEADERS): Add list.h and handler.h.
13192
13193 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
13194 handler.c.
13195 (kernel_elf_SOURCES): Add list.c and handler.c.
13196 (kernel_elf_HEADERS): Add list.h and handler.h.
13197
13198 2009-02-27 Robert Millan <rmh@aybabtu.com>
13199
13200 Factorize elf32 / elf64 code in Multiboot loader. This will
13201 prevent it from getting out of sync again.
13202
13203 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
13204 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
13205 grub_multiboot_load_elf64): Move from here ...
13206 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
13207 grub_multiboot_load_elf): ... to here (new file).
13208
13209 2009-02-27 Robert Millan <rmh@aybabtu.com>
13210
13211 * util/grub.d/10_linux.in: Rename "single-user mode" to
13212 "recovery mode".
13213
13214 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
13215
13216 Don't leak in SCSI code.
13217 * disk/scsi.c (grub_scsi_close): free `scsi'.
13218
13219 2009-02-27 Robert Millan <rmh@aybabtu.com>
13220
13221 * loader/i386/pc/multiboot.c: Move from here ...
13222 * loader/i386/multiboot.c: ... to here. Update all users.
13223
13224 2009-02-27 Robert Millan <rmh@aybabtu.com>
13225
13226 Patch from Alexandre Bique <bique.alexandre@gmail.com>
13227 * util/i386/pc/grub-setup.c (setup): Fix directory path.
13228
13229 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
13230
13231 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
13232 b-tree.
13233
13234 2009-02-27 Robert Millan <rmh@aybabtu.com>
13235
13236 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
13237 `0x' qualifier as 0 when base is specified as parameter).
13238
13239 2009-02-24 Bean <bean123ch@gmail.com>
13240
13241 * configure.ac: Check for -mcmodel=large in x86_64 target.
13242
13243 * include/grub/efi/api.h (efi_call_10): New macro.
13244 (efi_wrap_10): New function.
13245
13246 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
13247 (GRUB_PE32_REL_BASED_HIGH): Likewise.
13248 (GRUB_PE32_REL_BASED_LOW): Likewise.
13249 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
13250 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
13251 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
13252 (GRUB_PE32_REL_BASED_SECTION): Likewise.
13253 (GRUB_PE32_REL_BASED_REL): Likewise.
13254 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
13255 (GRUB_PE32_REL_BASED_DIR64): Likewise.
13256 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
13257
13258 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
13259 issue.
13260
13261 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
13262 (efi_wrap_10): New function.
13263
13264 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
13265
13266 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
13267 MB/MBP model (NV chipset).
13268 (devdata_devs): Add devpath_5 to the list.
13269
13270 * load/i386/efi/linux.c (video_base): Remove variable.
13271 (RGB_MASK): New macro.
13272 (RGB_MAGIC): Likewise.
13273 (LINE_MIN): Likewise.
13274 (LINE_MAX): Likewise.
13275 (FBTEST_STEP): Likewise.
13276 (FBTEST_COUNT): Likewise.
13277 (fb_list): New variable.
13278 (grub_find_video_card): Remove function.
13279 (find_framebuf): New function.
13280 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
13281 line length.
13282
13283 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
13284 problem for x86_64.
13285
13286 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
13287
13288 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
13289
13290 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
13291 coding tool name.
13292
13293 2009-02-22 Robert Millan <rmh@aybabtu.com>
13294
13295 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
13296 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
13297 in our relocation, instead of using it directly from heap. Also
13298 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
13299
13300 2009-02-21 Robert Millan <rmh@aybabtu.com>
13301
13302 Implement USB keyboard support (based on patch by Marco Gerards)
13303
13304 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
13305 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
13306 (usb_keyboard_mod_LDFLAGS): New variables.
13307
13308 * term/usb_keyboard.c: New file.
13309
13310 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13311
13312 Corrected wrong declaration
13313
13314 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
13315
13316 2009-02-14 Christian Franke <franke@computer.org>
13317
13318 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
13319 (grub_lspci_iter): Print class code and programming interface byte.
13320
13321 2009-02-14 Christian Franke <franke@computer.org>
13322
13323 * gendistlist.sh: Ignore `.svn' directories.
13324
13325 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
13326
13327 * fs/fat.c: Add 2009 to Copyright line.
13328
13329 2009-02-14 Christian Franke <franke@computer.org>
13330
13331 * commands/hdparm.c: New file. Provides `hdparm' command
13332 which sends ATA commands via grub_disk_ata_pass_through ().
13333
13334 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
13335
13336 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
13337 and <grub/cpu/io.h> to include/grub/ata.h.
13338 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
13339 (GRUB_CDROM_SECTOR_SIZE): Remove.
13340 (GRUB_ATA_*): Move to include/grub/ata.h.
13341 (GRUB_ATAPI_*): Likewise.
13342 (enum grub_ata_commands): Likewise.
13343 (enum grub_ata_timeout_milliseconds): Likewise.
13344 (struct grub_ata_device): Likewise.
13345 (grub_ata_regset): Likewise.
13346 (grub_ata_regget): Likewise.
13347 (grub_ata_regset2): Likewise.
13348 (grub_ata_regget2): Likewise.
13349 (grub_ata_check_ready): Likewise.
13350 (grub_ata_wait_not_busy): Remove static, exported in
13351 include/grub/ata.h.
13352 (grub_ata_wait_drq): Likewise.
13353 (grub_ata_pio_read): Likewise.
13354
13355 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
13356 function for hdparm.mod.
13357
13358 * include/grub/ata.h: New file, contains declarations from
13359 disk/ata.c.
13360 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
13361
13362 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
13363 (grub_disk_ata_pass_through): New exported variable.
13364
13365 * kern/disk.c (grub_disk_ata_pass_through): New variable.
13366
13367 2009-02-13 Colin D Bennett <colin@gibibit.com>
13368
13369 Support multiple fallback entries, and provide an API to support
13370 executing default+fallback menu entries. Renamed the `terminal' menu
13371 viewer to `text'.
13372
13373 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
13374 variable declaration.
13375 (grub_menu_execute_callback): New structure declaration.
13376 (grub_menu_execute_callback_t): New typedef.
13377 (grub_menu_execute_with_fallback): New function declaration.
13378 (grub_menu_get_entry): Likewise.
13379 (grub_menu_get_timeout): Likewise.
13380 (grub_menu_set_timeout): Likewise.
13381
13382 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
13383
13384 * normal/menu.c (grub_wait_after_message): Moved to
13385 `normal/menu_text.c'.
13386 (draw_border): Likewise.
13387 (print_message): Likewise.
13388 (print_entry): Likewise.
13389 (print_entries): Likewise.
13390 (grub_menu_init_page): Likewise.
13391 (get_entry_number): Likewise.
13392 (print_timeout): Likewise.
13393 (run_menu): Likewise.
13394 (grub_menu_execute_entry): Likewise.
13395 (show_text_menu): Likewise.
13396 (get_and_remove_first_entry_number): New function.
13397 (grub_menu_execute_with_fallback): Likewise.
13398 (get_entry): Renamed to ...
13399 (grub_menu_get_entry): .. this and made it global.
13400 (get_timeout): Renamed to ...
13401 (grub_menu_get_timeout): ... this and made it global.
13402 (set_timeout): Renamed to ...
13403 (grub_menu_set_timeout): ... this and made it global.
13404 (grub_normal_terminal_menu_viewer): Renamed to ...
13405 (grub_normal_text_menu_viewer): ... this.
13406
13407 * normal/menu_text.c: New file. Extracted text-menu-specific code
13408 from normal/menu.c.
13409
13410 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
13411 (normal_mod_SOURCES): Likewise.
13412
13413 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13414 (normal_mod_SOURCES): Likewise.
13415
13416 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13417 (normal_mod_SOURCES): Likewise.
13418
13419 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
13420 (normal_mod_SOURCES): Likewise.
13421
13422 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13423 (normal_mod_SOURCES): Likewise.
13424
13425 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13426 (normal_mod_SOURCES): Likewise.
13427
13428 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13429 (normal_mod_SOURCES): Likewise.
13430
13431 2009-02-11 Robert Millan <rmh@aybabtu.com>
13432
13433 * util/grub.d/00_header.in: Update old reference to `font' command.
13434
13435 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
13436
13437 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
13438
13439 Based on patch from Javier Martín.
13440
13441 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
13442
13443 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
13444 to avoid false positives with FAT.
13445 (grub_fstest_SOURCES): Likewise.
13446 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13447 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13448 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13449 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13450 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13451 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13452
13453 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
13454
13455 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
13456 bpb.version_specific.fat12_or_fat16.fstype and
13457 bpb.version_specific.fat32.fstype.
13458
13459 2009-02-08 Robert Millan <rmh@aybabtu.com>
13460
13461 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
13462
13463 2009-02-08 Robert Millan <rmh@aybabtu.com>
13464
13465 * Makefile.in (host_os, host_cpu): New variables.
13466 (target_os): Remove. Update all users.
13467
13468 2009-02-08 Marco Gerards <marco@gnu.org>
13469
13470 * Makefile.in (enable_grub_emu_usb): New variable.
13471 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
13472 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
13473 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
13474 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
13475 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
13476 `usbtest.mod' and `usbms.mod'.
13477 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
13478 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
13479 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
13480 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
13481 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
13482 variables.
13483
13484 * disk/usbms.c: New file.
13485
13486 * include/grub/usb.h: Likewise.
13487
13488 * include/grub/usbtrans.h: Likewise.
13489
13490 * include/grub/usbdesc.h: Likewise.
13491
13492 * bus/usb/usbtrans.c: Likewise.
13493
13494 * bus/usb/ohci.c: Likewise.
13495
13496 * bus/usb/uhci.c: Likewise.
13497
13498 * bus/usb/usbhub.c: Likewise.
13499
13500 * bus/usb/usb.c: Likewise.
13501
13502 * commands/usbtest.c: Likewise.
13503
13504 * util/usb.c: Likewise.
13505
13506 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
13507
13508 * configure.ac: Test for libusb presence.
13509
13510 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
13511
13512 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
13513
13514 * kern/mm.c: Add more comments.
13515
13516 2009-02-08 Robert Millan <rmh@aybabtu.com>
13517
13518 Patch from Javier Martín.
13519 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
13520 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
13521
13522 2009-02-08 Robert Millan <rmh@aybabtu.com>
13523
13524 * fs/cpio.c: Split tar functionality to ...
13525 * fs/tar.c: ... here (new file). Update all users.
13526
13527 2009-02-07 Robert Millan <rmh@aybabtu.com>
13528
13529 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
13530 backward-incompatible features.
13531
13532 Based on patch from Javier Martín, with some adjustments.
13533
13534 2009-02-07 Michael Scherer <misc@mandriva.org>
13535
13536 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
13537
13538 2009-02-07 Robert Millan <rmh@aybabtu.com>
13539
13540 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
13541 position of `disk/lvm.c' to ensure grub_init_all() always picks it
13542 after the RAID stuff.
13543
13544 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
13545
13546 Fixes problem when running vbetest command as reported by
13547 Vladimir Serbinenko <phcoder@gmail.com>.
13548
13549 * (grub_vbe_set_video_mode): Fixed problem with text modes.
13550
13551 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
13552
13553 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
13554 /dev/md/NpN style mdraid devices.
13555
13556 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
13557
13558 * util/unifont2pff.rb: Remove.
13559
13560 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
13561
13562 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
13563 `#'.
13564
13565 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
13566
13567 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
13568 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13569 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13570 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13571 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13572 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13573 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13574
13575 2009-02-02 Christian Franke <franke@computer.org>
13576
13577 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
13578
13579 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
13580
13581 * INSTALL: Note that we now require at least autoconf 2.59 and
13582 that LZO is optional.
13583
13584 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
13585
13586 Base on patch on bug #24154 created by Tomas Tintera
13587 <trosos@seznam.cz>.
13588
13589 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
13590
13591 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
13592
13593 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
13594 <bero@arklinux.org>.
13595
13596 * normal/parser.y (script_init): Add missing semicolon.
13597
13598 2009-01-31 Colin D Bennett <colin@gibibit.com>
13599
13600 * normal/main.c: Add include to grub/menu_viewer.h.
13601 (free_menu_entry_classes): Added.
13602 (grub_normal_menu_addentry): Added class property handling.
13603 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
13604 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
13605
13606 * normal/menu_viewer.c: New file.
13607
13608 * normal/menu.c (run_menu_entry): Renamed to ...
13609 (grub_menu_execute_entry): ... this and made it as global.
13610 (grub_menu_run): Renamed to ...
13611 (show_text_menu): ... this and made it local.
13612 (show_text_menu): Adapt to new function names.
13613 (grub_normal_terminal_menu_viewer): New global variable.
13614
13615 * include/grub/menu.h: New file.
13616
13617 * include/grub/menu_viewer.h: New file.
13618
13619 * include/grub/normal.h: Added include to grub/menu.h.
13620 (grub_menu_entry): Moved to include/grub/menu.h.
13621 (grub_menu_entry_t): Likewise.
13622 (grub_menu): Likewise.
13623 (grub_menu_t): Likewise.
13624 (grub_normal_terminal_menu_viewer): Added.
13625 (grub_menu_execute_entry): Likewise.
13626 (grub_menu_run): Removed.
13627
13628 * DISTLIST: Added include/grub/menu.h.
13629 Added include/grub/menu_viewer.h.
13630 Added normal/menu_viewer.c.
13631
13632 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
13633
13634 * normal/execute.c (grub_script_execute_menuentry): Changed to use
13635 arglist for menutitle arguments.
13636
13637 * normal/main.c (grub_normal_menu_addentry): Likewise.
13638
13639 * normal/parser.y (menuentry): Likewise.
13640
13641 * normal/script.c (grub_script_create_cmdmenu): Likewise.
13642
13643 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
13644 (grub_script_create_cmdmenu): Likewise.
13645
13646 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
13647
13648 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
13649 changes.
13650
13651 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
13652
13653 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
13654
13655 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
13656
13657 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
13658
13659 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
13660
13661 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
13662
13663 2009-01-30 Christian Franke <franke@computer.org>
13664
13665 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
13666 in option help text.
13667
13668 2009-01-27 Pavel Roskin <proski@gnu.org>
13669
13670 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
13671
13672 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
13673
13674 * commands/lsmmap.c: Add include to grub/machine/memory.h.
13675
13676 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
13677
13678 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
13679 unregister function.
13680
13681 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
13682
13683 * disk/scsi.c (grub_scsi_read): Fix sign problem.
13684
13685 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
13686
13687 * util/grub-mkfont.c (usage): Fix typo.
13688
13689 * util/elf/grub-mkimage.c (load_modules): Fix warning.
13690
13691 2009-01-26 Daniel Mierswa <impulze@impulze.org>
13692
13693 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
13694
13695 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
13696
13697 * kern/misc.c (grub_strcasecmp): New function.
13698 (grub_strcasecmp): Use grub_size_t instead of int for length.
13699 Fix return value.
13700 * include/grub/misc.h: Update function prototypes.
13701
13702 2009-01-26 Robert Millan <rmh@aybabtu.com>
13703
13704 * configure.ac: Fix cross-compilation check.
13705
13706 2009-01-22 Christian Franke <franke@computer.org>
13707
13708 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
13709 (precision) digit string. Allow `.format2' without `format1' (width).
13710 Limit input chars for `%s' output to `format2' if specified. This is
13711 compatible with standard printf ().
13712
13713 2009-01-22 Christian Franke <franke@computer.org>
13714
13715 * disk/ata.c (grub_ata_wait_status): Replace by ...
13716 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
13717 other status bits may be invalid while BSY is asserted.
13718 (grub_ata_check_ready): New function.
13719 (grub_ata_cmd): Removed.
13720 (grub_ata_wait_drq): New function.
13721 (grub_ata_strncpy): Remove inline.
13722 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
13723 and error check now done by grub_ata_wait_drq ().
13724 (grub_ata_pio_write): Likewise.
13725 (grub_atapi_identify): Set DEV before check for !BSY. Use
13726 grub_ata_wait_drq () to wait for data.
13727 (grub_ata_device_initialize): Add status register check to
13728 detect missing SATA slave devices. Add debug messages.
13729 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
13730 (grub_atapi_packet): Set DEV before check for !BSY. Replace
13731 transfer loop by grub_ata_pio_write ().
13732 (grub_ata_identify): Set DEV before check for !BSY. Use
13733 grub_ata_wait_drq () to wait for data.
13734 (grub_ata_setaddress): Set DEV before check for !BSY.
13735 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
13736 read/write in one loop. Fix invalid command on write. Fix incomplete
13737 command on (size % batch) == 0. Add missing error check after write of
13738 last block. Add debug messages.
13739 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
13740
13741 2009-01-19 Christian Franke <franke@computer.org>
13742
13743 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
13744 (GRUB_ATAPI_IREASON_*): Likewise.
13745 (grub_ata_pio_write): Fix timeout error return.
13746 (grub_atapi_identify): Add grub_ata_wait () after cmd.
13747 (grub_atapi_wait_drq): New function.
13748 (grub_atapi_packet): New parameter `size'.
13749 Use grub_atapi_wait_drq () and direct write instead of
13750 grub_ata_pio_write ().
13751 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
13752 reads the number of bytes requested by the device for each DRQ
13753 assertion.
13754 (grub_atapi_write): Remove old implementation, return not
13755 implemented instead.
13756
13757 2009-01-19 Christian Franke <franke@computer.org>
13758
13759 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
13760 of 512 to calculate data size.
13761 (grub_scsi_read12): Likewise.
13762 (grub_scsi_write10): Likewise.
13763 (grub_scsi_write12): Likewise.
13764 (grub_scsi_read): Adjust size according to blocksize.
13765 Add checks for invalid blocksize and unaligned transfer.
13766
13767 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
13768
13769 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
13770
13771 * term/gfxterm.c (write_char): Fix background rendering for wide
13772 width glyphs.
13773
13774 2009-01-19 Robert Millan <rmh@aybabtu.com>
13775
13776 * config.guess: Update to latest version from config git.
13777 * config.sub: Likewise.
13778
13779 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
13780
13781 * Makefile.in: Change font compilation to use new grub-mkfont instead
13782 of java version.
13783
13784 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
13785 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
13786 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
13787 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
13788 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
13789 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
13790 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
13791 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
13792 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
13793
13794 2009-01-16 Christian Franke <franke@computer.org>
13795
13796 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
13797 (enum grub_ata_timeout_milliseconds): New enum.
13798 (grub_ata_wait_status): Add parameter milliseconds.
13799 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
13800 recovery from timed-out commands.
13801 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
13802 return grub_errno instead of REG_ERROR.
13803 (grub_ata_pio_write): Add parameter milliseconds.
13804 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
13805 Pass milliseconds to grub_ata_wait_status () and
13806 grub_ata_pio_read ().
13807 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
13808 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
13809 grub_ata_wait_status (). Fix IDENTIFY timeout check.
13810 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
13811 It is not suitable for device detection, because DEV bit is ignored,
13812 the command may run too long, and not all devices set the signature
13813 properly.
13814 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
13815 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
13816 Fix device selection, DEV bit must be set first to address the registers
13817 of the correct device.
13818 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
13819 grub_ata_pio_read/write ().
13820 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
13821 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
13822
13823 2009-01-13 Carles Pina i Estany <carles@pina.cat>
13824
13825 * util/grub-editenv.c (main): Use fseeko(), not fseek().
13826
13827 2009-01-13 Bean <bean123ch@gmail.com>
13828
13829 * util/grub-mkfont.c (write_font): forget to remove some debug code.
13830
13831 2009-01-13 Bean <bean123ch@gmail.com>
13832
13833 * Makefile.in: (enable_grub_mkfont): New variable.
13834 (freetype_cflags): Likewise.
13835 (freetype_libs): Likewise.
13836
13837 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
13838 (grub_mkfont_SOURCES): New variable.
13839 (grub_mkfont_CFLAGS): Likewise.
13840 (grub_mkfont_LDFLAGS): Likewise.
13841
13842 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
13843 library if `--enable-grub-mkfont' is requested.
13844 (enable_grub_mkfont): New variable.
13845 (freetype_cflags): Likewise.
13846 (freetype_libs): Likewise.
13847
13848 * util/grub-mkfont.c: New file.
13849
13850 2009-01-12 Christian Franke <franke@computer.org>
13851
13852 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
13853 mode check. Fix setting of compat_use[].
13854
13855 2009-01-10 Robert Millan <rmh@aybabtu.com>
13856
13857 Update a few copyright years which we forgot to do in 2008 (only for
13858 files whose changes made in 2008 were copyright-significant)
13859
13860 * Makefile.in: Add 2008 to Copyright line.
13861 * disk/ieee1275/ofdisk.c: Likewise.
13862 * disk/efi/efidisk.c: Likewise.
13863 * kern/dl.c: Likewise.
13864 * kern/sparc64/ieee1275/init.c: Likewise.
13865 * kern/mm.c: Likewise.
13866 * kern/efi/mm.c: Likewise.
13867 * boot/i386/pc/boot.S: Likewise.
13868 * genfslist.sh: Likewise.
13869 * fs/iso9660.c: Likewise.
13870 * fs/hfs.c: Likewise.
13871 * fs/jfs.c: Likewise.
13872 * fs/minix.c: Likewise.
13873 * fs/ufs.c: Likewise.
13874 * gensymlist.sh.in: Likewise.
13875 * genkernsyms.sh.in: Likewise.
13876 * include/grub/misc.h: Likewise.
13877 * include/grub/types.h: Likewise.
13878 * include/grub/symbol.h: Likewise.
13879 * include/grub/elf.h: Likewise.
13880 * include/grub/kernel.h: Likewise.
13881 * include/grub/disk.h: Likewise.
13882 * include/grub/dl.h: Likewise.
13883 * include/grub/i386/linux.h: Likewise.
13884 * include/grub/i386/pc/biosdisk.h: Likewise.
13885 * include/grub/efi/api.h: Likewise.
13886 * include/grub/efi/pe32.h: Likewise.
13887 * include/grub/util/misc.h: Likewise.
13888 * normal/execute.c: Likewise.
13889 * normal/arg.c: Likewise.
13890 * normal/completion.c: Likewise.
13891 * normal/lexer.c: Likewise.
13892 * normal/parser.y: Likewise.
13893 * normal/misc.c: Likewise.
13894 * commands/i386/pc/vbeinfo.c: Likewise.
13895 * commands/hexdump.c: Likewise.
13896 * commands/terminal.c: Likewise.
13897 * commands/ls.c: Likewise.
13898 * commands/help.c: Likewise.
13899 * partmap/pc.c: Likewise.
13900 * loader/efi/chainloader.c: Likewise.
13901 * loader/multiboot_loader.c: Likewise.
13902 * loader/i386/pc/multiboot2.c: Likewise.
13903 * term/efi/console.c: Likewise.
13904 * term/i386/pc/serial.c: Likewise.
13905 * util/lvm.c: Likewise.
13906 * util/console.c: Likewise.
13907 * util/i386/efi/grub-mkimage.c: Likewise.
13908 * util/raid.c: Likewise.
13909
13910 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
13911
13912 * commands/videotest.c: Removed include to grub/machine/memory.h.
13913
13914 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
13915 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
13916 (video_mod_SOURCES): Removed.
13917 (video_mod_CFLAGS): Likewise.
13918 (video_mod_LDFLAGS): Likewise.
13919 (gfxterm_mod_SOURCES): Likewise.
13920 (gfxterm_mod_CFLAGS): Likewise.
13921 (gfxterm_mod_LDFLAGS): Likewise.
13922 (videotest_mod_SOURCES): Likewise.
13923 (videotest_mod_CFLAGS): Likewise.
13924 (videotest_mod_LDFLAGS): Likewise.
13925 (bitmap_mod_SOURCES): Likewise.
13926 (bitmap_mod_CFLAGS): Likewise.
13927 (bitmap_mod_LDFLAGS): Likewise.
13928 (tga_mod_SOURCES): Likewise.
13929 (tga_mod_CFLAGS): Likewise.
13930 (tga_mod_LDFLAGS): Likewise.
13931 (jpeg_mod_SOURCES): Likewise.
13932 (jpeg_mod_CFLAGS): Likewise.
13933 (jpeg_mod_LDFLAGS): Likewise.
13934 (png_mod_SOURCES): Likewise.
13935 (png_mod_CFLAGS): Likewise.
13936 (png_mod_LDFLAGS): Likewise.
13937
13938 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
13939 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
13940 (video_mod_SOURCES): Added.
13941 (video_mod_CFLAGS): Likewise.
13942 (video_mod_LDFLAGS): Likewise.
13943 (videotest_mod_SOURCES): Likewise.
13944 (videotest_mod_CFLAGS): Likewise.
13945 (videotest_mod_LDFLAGS): Likewise.
13946 (bitmap_mod_SOURCES): Likewise.
13947 (bitmap_mod_CFLAGS): Likewise.
13948 (bitmap_mod_LDFLAGS): Likewise.
13949 (tga_mod_SOURCES): Likewise.
13950 (tga_mod_CFLAGS): Likewise.
13951 (tga_mod_LDFLAGS): Likewise.
13952 (jpeg_mod_SOURCES): Likewise.
13953 (jpeg_mod_CFLAGS): Likewise.
13954 (jpeg_mod_LDFLAGS): Likewise.
13955 (png_mod_SOURCES): Likewise.
13956 (png_mod_CFLAGS): Likewise.
13957 (png_mod_LDFLAGS): Likewise.
13958 (gfxterm_mod_SOURCES): Likewise.
13959 (gfxterm_mod_CFLAGS): Likewise.
13960 (gfxterm_mod_LDFLAGS): Likewise.
13961
13962 * term/gfxterm.c: Removed include to grub/machine/memory.h,
13963 grub/machine/console.h.
13964
13965 2009-01-04 Jerone Young <jerone@gmail.com>
13966
13967 Make on screen instructions clearer
13968
13969 Based on patch created by Jidanni <jidanni@jidanni.org>
13970
13971 * normal/menu.c: print clearer instructions on the screen
13972
13973 2009-01-02 Colin D Bennett <colin@gibibit.com>
13974
13975 New font engine.
13976
13977 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
13978 build system and fixed gfxterm.c to work with different sized fonts.
13979
13980 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
13981
13982 * configure: Re-generated.
13983
13984 * DISTLIST: Removed font/manager.c.
13985 Added font/font.c.
13986 Added font/font_cmd.c.
13987
13988 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
13989 compilation.
13990
13991 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
13992
13993 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
13994
13995 * kern/term.c: Changed users of grub_utf8_to_ucs4.
13996
13997 * normal/menu.c: Likewise.
13998
13999 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
14000 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
14001
14002 * include/grub/font.h: Replaced with new file.
14003
14004 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
14005 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
14006 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
14007 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
14008 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
14009 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
14010 fg_red, fg_green, fg_blue, fg_alpha.
14011 (grub_video_adapter): Removed blit_glyph.
14012 (grub_video_blit_glyph): Removed.
14013
14014 * font/manager.c: Removed file.
14015
14016 * font/font.c: New file.
14017
14018 * font/font_cmd.c: Likewise.
14019
14020 * video/video.c (grub_video_blit_glyph): Removed.
14021
14022 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
14023 (grub_video_vbe_map_rgba): Likewise.
14024 (grub_video_vbe_unmap_color_int): Likewise.
14025 (grub_video_vbe_blit_glyph): Removed.
14026 (grub_video_vbe_adapter): Removed blit_glyph.
14027
14028 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
14029 (get_pixel): Likewise.
14030 (set_pixel): Likewise.
14031
14032 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
14033
14034 * term/gfxterm.c: Adapted to new font engine.
14035
14036 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
14037
14038 * term/i386/pc/vga.c: Likewise.
14039
14040 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
14041
14042 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
14043
14044 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14045
14046 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14047
14048 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
14049
14050 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
14051
14052 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
14053
14054 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
14055
14056 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
14057
14058 * util/grub.d/00_header.in: Changed to use new loadfont command.
14059
14060 * util/grub-mkconfig_lib.in: Changed font extension.
14061
14062 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
14063
14064 * util/getroot.c (grub_util_get_grub_dev): Add support for
14065 /dev/md/dNNpNN style partitionable mdraid devices.
14066
14067 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
14068
14069 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
14070 at a time limit of the PXE TFTP API correctly.
14071 (grub_pxefs_close): Likewise.
14072
14073 2008-11-29 Robert Millan <rmh@aybabtu.com>
14074
14075 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
14076 grub_ata_device_initialize() calls.
14077
14078 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
14079
14080 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
14081 iteration failed.
14082 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
14083
14084 2008-11-28 Robert Millan <rmh@aybabtu.com>
14085
14086 Fix build on powerpc-ieee1275. Based on patch created by
14087 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
14088 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
14089 `kern/ieee1275/mmap.c'.
14090 * include/grub/powerpc/ieee1275/memory.h: New file.
14091
14092 Provide grub-install on coreboot.
14093 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
14094 (grub_install_SOURCES): New variable.
14095 * util/i386/pc/grub-install.in: Add a few condition checks to make it
14096 usable on coreboot.
14097
14098 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
14099
14100 * util/grub-fstest.c (grub_term_get_current_input): Change return type
14101 to `grub_term_input_t'.
14102 (grub_term_get_current_output): Change return type to
14103 `grub_term_output_t'.
14104
14105 2008-11-22 Robert Millan <rmh@aybabtu.com>
14106
14107 Fix breakage on coreboot due to declaration mismatch.
14108 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
14109 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
14110 grub_vga_text_cls().
14111
14112 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
14113 comments. Avoid copying one more byte than necessary (just in case).
14114
14115 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
14116 to 0x200000 (avoids trouble with some OFW implementations, and matches
14117 with the one in Yaboot).
14118 Reported by Manoel Abranches
14119
14120 2008-11-20 Robert Millan <rmh@aybabtu.com>
14121
14122 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
14123 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
14124
14125 * util/grub-mkconfig_lib.in (grub_warn): New function.
14126 (convert_system_path_to_grub_path): Use grub_warn() when issuing
14127 warnings, to obtain consistent formatting.
14128 * util/grub.d/00_header.in: Likewise.
14129 * util/update-grub_lib.in: Likewise.
14130
14131 * loader/i386/linux.c (allocate_pages): Fix a warning.
14132 Move comment text to `#error' stanza.
14133
14134 Harmonize ieee1275's grub_available_iterate() with the generic
14135 grub_machine_mmap_iterate() interface (fixes a recently-introduced
14136 build problem on i386-ieee1275):
14137 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
14138 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
14139 parameter `type'. Update all users of this function.
14140 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
14141 `kern/ieee1275/mmap.c'.
14142 * kern/ieee1275/init.c
14143 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
14144 with ...
14145 (grub_machine_mmap_iterate): ... this.
14146 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
14147 return type to `grub_err_t'. Update all implementations of this
14148 function prototype.
14149 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
14150 Likewise.
14151
14152 Add `lsmmap' command (lists firmware-provided memory map):
14153 * commands/lsmmap.c: New file.
14154 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
14155 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
14156 variables.
14157 * conf/powerpc-ieee1275.rmk: Likewise.
14158 * conf/i386-coreboot.rmk: Likewise.
14159 * conf/i386-ieee1275.rmk: Likewise.
14160
14161 2008-11-19 Robert Millan <rmh@aybabtu.com>
14162
14163 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
14164 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
14165 constraints to initrd allocation (based on code from
14166 loader/i386/pc/linux.c). Without them, initrd was allocated too high
14167 for Linux to find it.
14168
14169 2008-11-14 Robert Millan <rmh@aybabtu.com>
14170
14171 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
14172 order to cope with duplicate slashes.
14173
14174 2008-11-14 Robert Millan <rmh@aybabtu.com>
14175
14176 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
14177 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
14178 don't want to mess with lower memory, because it is used in the Linux
14179 loader.
14180
14181 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
14182 an appropriate place in lower memory, between 0x10000 and 0x90000,
14183 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
14184 is in our heap (probably as a result of it being corrupted during
14185 decompression). Add #error instance with comment to explain why this
14186 loader isn't currently usable on PC/BIOS.
14187
14188 2008-11-14 Robert Millan <rmh@aybabtu.com>
14189
14190 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
14191 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
14192
14193 2008-11-12 Robert Millan <rmh@aybabtu.com>
14194
14195 Make loader/i386/linux.c buildable on i386-pc (although disabled).
14196
14197 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
14198 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
14199 from here ...
14200 * include/grub/i386/pc/memory.h: ... to here.
14201
14202 2008-11-12 Robert Millan <rmh@aybabtu.com>
14203
14204 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
14205 split).
14206
14207 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
14208 (grub_console_cur_color, grub_console_real_putchar)
14209 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
14210 (grub_console_setcolorstate, grub_console_setcolor)
14211 (grub_console_getcolor): Move from here ...
14212 * include/grub/i386/vga_common.h: ... to here (new file).
14213
14214 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
14215 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
14216 `<grub/i386/io.h>'.
14217 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
14218 `<grub/i386/vga_common.h>'.
14219
14220 2008-11-12 Robert Millan <rmh@aybabtu.com>
14221
14222 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
14223 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
14224 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
14225 variables.
14226 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
14227 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
14228
14229 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
14230 grub_console_init() with call to grub_vga_text_init().
14231 (grub_machine_fini): Replace call to
14232 grub_console_fini() with call to grub_vga_text_fini() and
14233 grub_at_keyboard_fini().
14234
14235 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
14236 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
14237 (grub_console_setcolorstate, grub_console_setcolor)
14238 (grub_console_getcolor): New function prototypes.
14239
14240 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
14241 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
14242 (grub_vga_text_setcursor): Static-ize.
14243 (grub_vga_text_term): New structure.
14244 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
14245
14246 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
14247 (grub_console_cur_color, grub_console_standard_color)
14248 (grub_console_normal_color, grub_console_highlight_color)
14249 (map_char, grub_console_putchar, grub_console_getcharwidth)
14250 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
14251 (grub_console_getcolor): Move from here ...
14252 * term/i386/vga_common.c: ... to here (same function names).
14253
14254 2008-11-12 Robert Millan <rmh@aybabtu.com>
14255
14256 Use newly-added Multiboot support in coreboot.
14257
14258 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
14259 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
14260
14261 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
14262 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
14263 (codestart): Store the MBI in `startup_multiboot_info' when we're
14264 being loaded using Multiboot.
14265
14266 * kern/i386/coreboot/init.c (grub_machine_init): Move
14267 grub_at_keyboard_init() call to beginning of function (useful for
14268 debugging). Call grub_machine_mmap_init() before attempting to use
14269 grub_machine_mmap_iterate().
14270 (grub_lower_mem, grub_upper_mem): Move from here ...
14271 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
14272 here (new file).
14273
14274 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
14275 function prototype.
14276
14277 2008-11-12 Robert Millan <rmh@aybabtu.com>
14278
14279 Fix a regression introduced by the at_keyboard.mod split. Because
14280 some terminals are default on some platforms and non-default on
14281 others, the first terminal being registered determines which is
14282 going to be default.
14283
14284 * kern/term.c (grub_term_register_input): If this is the first
14285 terminal being registered, set it as the current one.
14286 (grub_term_register_output): Likewise.
14287
14288 * term/efi/console.c (grub_console_init): Do not call
14289 grub_term_set_current_output() or grub_term_set_current_input().
14290 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
14291 * term/i386/pc/console.c (grub_console_init): Likewise.
14292 (grub_console_fini): Do not call grub_term_set_current_input()
14293 (but leave grub_term_set_current_output() to restore text mode).
14294
14295 2008-11-10 Robert Millan <rmh@aybabtu.com>
14296
14297 * util/grub.d/00_header.in: Add backward compatibility check for
14298 versions of terminal.mod that don't understand `terminal_input' or
14299 `terminal_output'.
14300
14301 2008-11-09 Robert Millan <rmh@aybabtu.com>
14302
14303 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
14304 `terminal_input' / `terminal_output', not `terminal'.
14305
14306 2008-11-08 Robert Millan <rmh@aybabtu.com>
14307
14308 * Makefile.in (include_DATA): Fix srcdir=. assumption.
14309 (DISTCLEANFILES): Add `build_env.mk'.
14310
14311 2008-11-08 Robert Millan <rmh@aybabtu.com>
14312
14313 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
14314 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
14315 members. Update all users.
14316 * util/console.c (grub_ncurses_term): Split in ...
14317 (grub_ncurses_term_input): ... this, and ...
14318 (grub_ncurses_term_output): ... this. Update all users.
14319 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
14320
14321 2008-11-08 Robert Millan <rmh@aybabtu.com>
14322
14323 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
14324 (PKGDATA): Add $(pkgdata_SRCDIR).
14325 (pkglib_BUILDDIR): New variable.
14326 (pkgdata_SRCDIR): New variable.
14327 (build_env.mk): New target.
14328 (include_DATA): New variable.
14329 (install-local): Install $(include_DATA) files in $(includedir).
14330
14331 2008-11-07 Pavel Roskin <proski@gnu.org>
14332
14333 * gendistlist.sh: Use C locale for sorting to ensure consistent
14334 output on all systems.
14335
14336 * util/grub.d/00_header.in: Remove incorrect space before
14337 "serial".
14338
14339 2008-11-07 Robert Millan <rmh@aybabtu.com>
14340
14341 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
14342 per specification.
14343 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
14344 * loader/multiboot_loader.c (find_multi_boot2_header): New function
14345 (based on find_multi_boot1_header).
14346 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
14347 using find_multi_boot2_header(), and abort if neither Multiboot or
14348 Multiboot headers were found.
14349
14350 2008-11-07 Robert Millan <rmh@aybabtu.com>
14351
14352 Modularize at_keyboard.mod:
14353
14354 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
14355 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
14356 (at_keyboard_mod_LDFLAGS): New variables.
14357
14358 Actual terminal split:
14359
14360 * include/grub/term.h (struct grub_term): Split in ...
14361 (struct grub_term_input): ... this, and ...
14362 (struct grub_term_output): ... this. Update all users.
14363 (grub_term_set_current): Split in ...
14364 (grub_term_set_current_input): ... this, and ...
14365 (grub_term_set_current_output): ... this.
14366 (grub_term_get_current): Split in ...
14367 (grub_term_get_current_input): ... this, and ...
14368 (grub_term_get_current_output): ... this.
14369 (grub_term_register): Split in ...
14370 (grub_term_register_input): ... this, and ...
14371 (grub_term_register_output): ... this.
14372 (grub_term_unregister): Split in ...
14373 (grub_term_unregister_input): ... this, and ...
14374 (grub_term_unregister_output): ... this.
14375 (grub_term_iterate): Split in ...
14376 (grub_term_iterate_input): ... this, and ...
14377 (grub_term_iterate_output): ... this.
14378
14379 * kern/term.c (grub_term_list): Split in ...
14380 (grub_term_list_input): ... this, and ...
14381 (grub_term_list_output): ... this. Update all users.
14382 (grub_cur_term): Split in ...
14383 (grub_cur_term_input): ... this, and ...
14384 (grub_cur_term_output): ... this. Update all users.
14385 (grub_term_set_current): Split in ...
14386 (grub_term_set_current_input): ... this, and ...
14387 (grub_term_set_current_output): ... this.
14388 (grub_term_get_current): Split in ...
14389 (grub_term_get_current_input): ... this, and ...
14390 (grub_term_get_current_output): ... this.
14391 (grub_term_register): Split in ...
14392 (grub_term_register_input): ... this, and ...
14393 (grub_term_register_output): ... this.
14394 (grub_term_unregister): Split in ...
14395 (grub_term_unregister_input): ... this, and ...
14396 (grub_term_unregister_output): ... this.
14397 (grub_term_iterate): Split in ...
14398 (grub_term_iterate_input): ... this, and ...
14399 (grub_term_iterate_output): ... this.
14400
14401 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
14402 a check for input and one for output (and only attempt to get keys
14403 from user when input works).
14404
14405 * util/grub-probe.c (grub_term_get_current): Split in ...
14406 (grub_term_get_current_input): ... this, and ...
14407 (grub_term_get_current_output): ... this.
14408 * util/grub-fstest.c: Likewise.
14409 * util/i386/pc/grub-setup.c: Likewise.
14410 * util/grub-editenv.c: Likewise.
14411
14412 Portability adjustments:
14413
14414 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
14415 `term/i386/pc/at_keyboard.c'.
14416 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
14417 grub_keyboard_controller_init() (now handled by terminal .init).
14418 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
14419 grub_at_keyboard_init().
14420 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
14421 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
14422 at_keyboard.mod via input terminal interface).
14423 * include/grub/i386/coreboot/console.h: Convert into a stub for
14424 `<grub/i386/pc/console.h>'.
14425
14426 Migrate full terminals to new API:
14427
14428 * term/efi/console.c (grub_console_term): Split into ...
14429 (grub_console_term_input): ... this, and ...
14430 (grub_console_term_output): ... this. Update all users.
14431 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
14432 (grub_ofconsole_init): Split into ...
14433 (grub_ofconsole_init_input): ... this, and ...
14434 (grub_ofconsole_init_output): ... this.
14435 (grub_ofconsole_term): Split into ...
14436 (grub_ofconsole_term_input): ... this, and ...
14437 (grub_ofconsole_term_output): ... this. Update all users.
14438 * term/i386/pc/serial.c (grub_serial_term): Split into ...
14439 (grub_serial_term_input): ... this, and ...
14440 (grub_serial_term_output): ... this. Update all users.
14441 * term/i386/pc/console.c (grub_console_term): Split into ...
14442 (grub_console_term_input): ... this, and ...
14443 (grub_console_term_output): ... this. Update all users.
14444 (grub_console_term_input): Only enable it on PC/BIOS platform.
14445 (grub_console_init): Remove grub_keyboard_controller_init() call.
14446
14447 Migrate input terminals to new API:
14448
14449 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
14450 `i386' and `i386/pc' to enable build on x86_64 (this driver is
14451 i386-specific anyway).
14452 (grub_console_checkkey): Rename to ...
14453 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
14454 users.
14455 (grub_keyboard_controller_orig): New variable.
14456 (grub_console_getkey): Rename to ...
14457 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
14458 users.
14459 (grub_keyboard_controller_init): Static-ize. Save original
14460 controller value so that it can be restored ...
14461 (grub_keyboard_controller_fini): ... here (new function).
14462 (grub_at_keyboard_term): New structure.
14463 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
14464 functions.
14465
14466 Migrate output terminals to new API:
14467
14468 * term/i386/pc/vga.c (grub_vga_term): Change type to
14469 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
14470 members. Update all users.
14471 * term/gfxterm.c (grub_video_term): Change type to
14472 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
14473 members. Update all users.
14474 * include/grub/i386/pc/console.h (grub_console_checkkey)
14475 (grub_console_getkey): Do not export (no longer needed by gfxterm,
14476 etc).
14477
14478 Migrate `terminal' command and userland tools to new API:
14479
14480 * commands/terminal.c (grub_cmd_terminal): Split into ...
14481 (grub_cmd_terminal_input): ... this, and ...
14482 (grub_cmd_terminal_output): ... this.
14483 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
14484 `terminal_input' and `terminal_output'.
14485 * util/grub.d/00_header.in: Adjust `terminal' calls to new
14486 `terminal_input' / `terminal_output' API.
14487 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
14488 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
14489 provided ${GRUB_TERMINAL}, convert it).
14490
14491 2008-11-04 Robert Millan <rmh@aybabtu.com>
14492
14493 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
14494 for FreeBSD.
14495 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
14496
14497 2008-11-03 Bean <bean123ch@gmail.com>
14498
14499 * kern/elf.c (grub_elf32_load): Revert to previous code.
14500 (grub_elf64_load): Likewise.
14501
14502 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
14503
14504 2008-11-01 Robert Millan <rmh@aybabtu.com>
14505
14506 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
14507 (TARGET_CPPFLAGS): Likewise.
14508 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
14509
14510 2008-11-01 Carles Pina i Estany <carles@pina.cat>
14511
14512 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
14513
14514 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
14515
14516 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
14517 addition of objects until the code is not going to be able to fail.
14518
14519 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
14520
14521 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
14522 (add a missing NULL check, and correct them by moving the pointer
14523 operations after the actual check).
14524
14525 2008-10-29 Robert Millan <rmh@aybabtu.com>
14526
14527 * util/i386/pc/grub-install.in: Handle empty string as output from
14528 make_system_path_relative_to_its_root().
14529
14530 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
14531
14532 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
14533 circular metadata worst case scenario. If the metadata is circular
14534 then copy the wrap in place.
14535 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
14536 project lib/format_text/layout.h
14537 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
14538
14539 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
14540
14541 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
14542
14543 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
14544
14545 * util/update-grub_lib.in: Mention filename in warning message.
14546
14547 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
14548
14549 * NEWS: Update for rename of update-grub to grub-mkconfig.
14550
14551 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
14552
14553 * util/update-grub_lib.in: Copy to ...
14554 * util/grub-mkconfig_lib.in: ... this. Update all users.
14555 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
14556 * util/update-grub.in: Rename to ...
14557 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
14558 option. Add `--output' option to allow users to specify the generated
14559 configuration file. Default to stdout.
14560 (update_grub_dir): Rename to ...
14561 (grub_mkconfig_dir): ... this.
14562 (grub_cfg): Default to an empty string.
14563 * conf/common.rmk (update-grub): Rename to ...
14564 (grub-mkconfig): ... this.
14565 (update-grub_lib): Copy to ...
14566 (grub-mkconfig_lib): ... this.
14567 (update-grub_SCRIPTS): Copy to ...
14568 (grub-mkconfig_SCRIPTS): ... this. Update all users.
14569 (update-grub_DATA): Rename to ...
14570 (grub-mkconfig_DATA): ... this.
14571
14572 2008-09-28 Robert Millan <rmh@aybabtu.com>
14573
14574 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
14575 to `modified'. Add the real `created' field.
14576 (grub_iso9660_uuid): Use `modified' rather than `created' for
14577 constructing the UUID.
14578
14579 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
14580
14581 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
14582 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
14583
14584 2008-09-28 Bean <bean123ch@gmail.com>
14585
14586 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
14587 Thanks to Christian Franke for finding this bug.
14588
14589 2008-09-25 Robert Millan <rmh@aybabtu.com>
14590
14591 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
14592 instances of grub_util_get_disk_name() (see previous commit).
14593
14594 2008-09-25 Robert Millan <rmh@aybabtu.com>
14595
14596 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
14597 `util/i386/get_disk_name.c'.
14598 * conf/i386-efi.rmk: Likewise.
14599 * conf/x86_64-efi.rmk: Likewise.
14600 * conf/i386-coreboot.rmk: Likewise.
14601 * conf/i386-ieee1275.rmk: Likewise.
14602 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
14603 `util/ieee1275/get_disk_name.c'.
14604 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
14605 * util/ieee1275/get_disk_name.c: Remove file.
14606 * util/i386/get_disk_name.c: Remove file.
14607 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
14608 "hd%d" for device.map entries, rather than using
14609 grub_util_get_disk_name().
14610
14611 2008-09-24 Carles Pina i Estany <carles@pina.cat>
14612
14613 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
14614 warning.
14615 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
14616
14617 2008-09-24 Carles Pina i Estany <carles@pina.cat>
14618
14619 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
14620 Changed to 0x5100.
14621 (GRUB_TERM_PPAGE): Changed to 0x4900.
14622
14623 2008-09-24 Robert Millan <rmh@aybabtu.com>
14624
14625 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
14626 macros (they were i386-pc specific).
14627 * include/grub/sparc64/ieee1275/console.h: Likewise.
14628 * include/grub/efi/console.h: Likewise.
14629
14630 2008-09-22 Bean <bean123ch@gmail.com>
14631
14632 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
14633 resident and in attribute list.
14634
14635 * include/grub/ntfs.h (BMP_LEN): Removed.
14636
14637 2008-09-22 Bean <bean123ch@gmail.com>
14638
14639 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
14640 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
14641
14642 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
14643 error occurs, as grub_disk_open will call grub_disk_close, which will
14644 call p->close (scsi).
14645
14646 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
14647
14648 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
14649 (AC_PREREQ): Bumped to 2.59.
14650 (AC_TRY_COMPILE): Replace obsolete macro with ...
14651 (AC_COMPILE_IFELSE): ... this.
14652 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
14653 (AC_LINK_IFELSE): ... this.
14654
14655 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
14656
14657 * autogen.sh: Add a call to `gendistlist.sh'.
14658
14659 2008-09-19 Christian Franke <franke@computer.org>
14660
14661 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
14662 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
14663 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
14664 Export __enable_execute_stack() to modules.
14665 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
14666 New function.
14667
14668 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
14669
14670 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
14671 Sort the list.
14672
14673 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
14674
14675 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
14676 #include <grub/util/hostdisk.h>.
14677
14678 2008-09-08 Robert Millan <rmh@aybabtu.com>
14679
14680 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
14681 segments when their filesz is zero (grub_file_read() interprets
14682 zero-size as "read until EOF", which results in memory corruption).
14683 Use `lowest_segment' rather than 0 for calculating the current
14684 segment load address.
14685
14686 2008-09-08 Robert Millan <rmh@aybabtu.com>
14687
14688 * util/hostdisk.c (open_device): Replace a grub_util_info() call
14689 with grub_dprintf("hostdisk", ...), as it was so verbose that it
14690 clobbered useful information.
14691
14692 2008-09-08 Robert Millan <rmh@aybabtu.com>
14693
14694 * include/grub/util/biosdisk.h: Move to ...
14695 * include/grub/util/hostdisk.h: ... here. Update all users.
14696 * util/biosdisk.c: Move to ...
14697 * util/hostdisk.c: ... here. Update all users.
14698
14699 2008-09-07 Robert Millan <rmh@aybabtu.com>
14700
14701 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
14702 variables.
14703 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
14704 and length can be stored directly in the `mbi->mmap_addr' and
14705 `mbi->mmap_length' struct fields.
14706
14707 2008-09-07 Robert Millan <rmh@aybabtu.com>
14708
14709 * conf/i386.rmk: New file. Provides declaration for building
14710 `cpuid.mod'.
14711 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
14712 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
14713 variables.
14714 Include `conf/i386.mk'.
14715 * conf/i386-efi.rmk: Likewise.
14716 * conf/x86_64-efi.rmk: Likewise.
14717 * conf/i386-coreboot.rmk: Likewise.
14718 * conf/i386-ieee1275.rmk: Likewise.
14719
14720 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
14721
14722 Based on patch created by Colin D Bennett <colin@gibibit.com>.
14723 Adds optimization support for BGR based modes.
14724
14725 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
14726 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
14727 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
14728 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
14729 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
14730 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
14731 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
14732 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
14733 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
14734 (grub_video_i386_vbeblit_index_index): Likewise.
14735 (grub_video_i386_vbeblit_replace_directN): Added.
14736 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
14737 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
14738 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
14739 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
14740 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
14741 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
14742 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
14743 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
14744 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
14745 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
14746 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
14747 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
14748 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
14749
14750 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
14751 (grub_video_i386_vbefill_R8G8B8): Likewise.
14752 (grub_video_i386_vbefill_index): Likewise.
14753 (grub_video_i386_vbefill_direct32): Added.
14754 (grub_video_i386_vbefill_direct24): Likewise.
14755 (grub_video_i386_vbefill_direct16): Likewise.
14756 (grub_video_i386_vbefill_direct8): Likewise.
14757
14758 * include/grub/video.h (grub_video_blit_format): Removed
14759 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
14760 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
14761 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
14762 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
14763 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
14764
14765 * video/video.c (grub_video_get_blit_format): Updated to use new
14766 blit formats. Added handling for 16 bit color modes.
14767
14768 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
14769 fillers.
14770 (common_blitter): Updated to use new blitters.
14771
14772 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
14773 Removed.
14774 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
14775 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
14776 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
14777 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
14778 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
14779 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
14780 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
14781 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
14782 (grub_video_i386_vbeblit_index_index): Likewise.
14783 (grub_video_i386_vbeblit_replace_directN): Added.
14784 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
14785 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
14786 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
14787 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
14788 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
14789 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
14790 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
14791 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
14792 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
14793 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
14794 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
14795 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
14796 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
14797
14798 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
14799 (grub_video_i386_vbefill_R8G8B8): Likewise.
14800 (grub_video_i386_vbefill_index): Likewise.
14801 (grub_video_i386_vbefill_direct32): Added.
14802 (grub_video_i386_vbefill_direct24): Likewise.
14803 (grub_video_i386_vbefill_direct16): Likewise.
14804 (grub_video_i386_vbefill_direct8): Likewise.
14805
14806 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
14807 types.
14808
14809 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
14810 types.
14811
14812 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
14813 blitter types.
14814
14815 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
14816 types.
14817
14818 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
14819
14820 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
14821 RAID level 1.
14822
14823 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
14824
14825 * fs/iso9660.c (grub_iso9660_date): New structure.
14826 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
14827 (grub_iso9660_uuid): New function.
14828
14829 2008-09-05 Bean <bean123ch@gmail.com>
14830
14831 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
14832
14833 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
14834 insensitive bit for names in Win32 and Win32 & DOS namespace.
14835
14836 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
14837
14838 * include/grub/types.h (LONG_MAX): Likewise.
14839
14840 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
14841
14842 * util/getroot.c: Include <config.h>.
14843 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
14844 add support for /dev/md/N devices and handle LVM double dash escaping.
14845
14846 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
14847
14848 * config.guess: Update to latest version from config git.
14849 * config.sub: Likewise.
14850
14851 2008-09-03 Robert Millan <rmh@aybabtu.com>
14852
14853 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
14854 `disk->total_sectors'.
14855
14856 2008-09-01 Colin D Bennett <colin@gibibit.com>
14857
14858 * include/grub/normal.h: Fixed incorrect comment for
14859 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
14860
14861 2008-09-01 Colin D Bennett <colin@gibibit.com>
14862
14863 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
14864 values with defines.
14865
14866 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
14867 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
14868 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
14869 (GRUB_VBE_MODEATTR_COLOR): Likewise.
14870 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
14871 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
14872 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
14873 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
14874 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
14875 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
14876 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
14877 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
14878 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
14879 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
14880 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
14881 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
14882 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
14883 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
14884 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
14885
14886 2008-08-31 Robert Millan <rmh@aybabtu.com>
14887
14888 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
14889 declaration.
14890 (grub_multiboot): Fix a few warnings.
14891
14892 2008-08-31 Robert Millan <rmh@aybabtu.com>
14893
14894 * loader/i386/pc/multiboot.c: Update comment not to say that
14895 boot_device support is unimplemented.
14896
14897 2008-08-31 Robert Millan <rmh@aybabtu.com>
14898
14899 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
14900 or memory map support are unimplemented.
14901
14902 2008-08-31 Colin D Bennett <colin@gibibit.com>
14903
14904 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
14905
14906 2008-08-31 Colin D Bennett <colin@gibibit.com>
14907
14908 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
14909 total video memory in 'vbeinfo' output; show color format details for
14910 each video mode.
14911
14912 2008-08-30 Pavel Roskin <proski@gnu.org>
14913
14914 * util/genmoddep.c: Remove for real this time.
14915 * DISTLIST: Remove util/genmoddep.c.
14916
14917 2008-08-30 Robert Millan <rmh@aybabtu.com>
14918
14919 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
14920 as required by Multiboot spec (it was already 4-byte aligned, but
14921 only by chance).
14922
14923 2008-08-29 Pavel Roskin <proski@gnu.org>
14924
14925 * kern/powerpc/ieee1275/crt0.S: Rename to ...
14926 * kern/powerpc/ieee1275/startup.S: ... this.
14927 * conf/powerpc-ieee1275.rmk: Adjust for the above.
14928 * DISTLIST: Likewise.
14929
14930 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
14931 grub/cpu/kernel.h. Add start label for consistency with other
14932 platforms. Add grub_prefix immediately after start. Add jump
14933 to the code after grub_prefix.
14934 * include/grub/powerpc/kernel.h: Provide valid values for
14935 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
14936
14937 2008-08-29 Bean <bean123ch@gmail.com>
14938
14939 * configure.ac: Change host_os to cygwin for mingw.
14940 (asprintf): New check for function.
14941
14942 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
14943 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
14944
14945 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
14946 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
14947 sync, sleep and grub_util_get_disk_size for mingw.
14948
14949 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
14950 to get size in mingw.
14951 (open_device): Use flag O_BINARY if it's defined.
14952 (find_root_device): Add dummy code for mingw.
14953
14954 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
14955 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
14956 (get_scsi_disk_name): Return 0 for mingw.
14957
14958 * util/hostfs.c: #include <grub/util/misc.h>.
14959 (grub_hostfs_open): Use "rb" flag to open file, use
14960 grub_util_get_disk_size to get disk size for mingw.
14961
14962 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
14963 (asprintf): New function if HAVE_ASPRINTF is not set.
14964 (sync): New function for mingw.
14965 (sleep): Likewise.
14966 (grub_util_get_disk_size): Likewise.
14967
14968 2008-08-28 Pavel Roskin <proski@gnu.org>
14969
14970 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
14971 kern/time.c.
14972
14973 2008-08-28 Robert Millan <rmh@aybabtu.com>
14974
14975 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
14976
14977 2008-08-28 Robert Millan <rmh@aybabtu.com>
14978
14979 Change find_grub_drive() syntax so it doesn't prevent it from
14980 detecting NULL names as errors.
14981
14982 * util/biosdisk.c (find_grub_drive): Move free slot search code
14983 from here ...
14984 (find_free_slot): ... to here.
14985 (read_device_map): Use find_free_slot() to search for free slots.
14986
14987 2008-08-27 Marco Gerards <marco@gnu.org>
14988
14989 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
14990 (scsi_mod_SOURCES): New variable.
14991 (scsi_mod_CFLAGS): Likewise
14992 (scsi_mod_LDFLAGS): Likewise.
14993
14994 * disk/scsi.c: New file.
14995
14996 * include/grub/scsi.h: Likewise.
14997
14998 * include/grub/scsicmd.h: Likewise.
14999
15000 * disk/ata.c: Include <grub/scsi.h>.
15001 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
15002 instead.
15003 (grub_ata_iterate): Skip ATAPI devices.
15004 (grub_ata_open): Only handle ATAPI devices.
15005 (struct grub_atapi_read): Removed.
15006 (grub_atapi_readsector): Likewise.
15007 (grub_ata_read): No longer handle ATAPI devices.
15008 (grub_ata_write): Likewise.
15009 (grub_atapi_iterate): New function.
15010 (grub_atapi_read): Likewise.
15011 (grub_atapi_write): Likewise.
15012 (grub_atapi_open): Likewise.
15013 (grub_atapi_close): Likewise.
15014 (grub_atapi_dev): New variable.
15015 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
15016 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
15017
15018 * include/grub/disk.h (enum grub_disk_dev_id): Add
15019 `GRUB_DISK_DEVICE_SCSI_ID'.
15020
15021 2008-08-26 Robert Millan <rmh@aybabtu.com>
15022
15023 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
15024 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
15025 descriptive.
15026
15027 2008-08-23 Bean <bean123ch@gmail.com>
15028
15029 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
15030 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
15031 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
15032 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
15033 dm_nv.mod.
15034 (raid5rec_mod_SOURCES): New macro.
15035 (raid5rec_mod_CFLAGS): Likewise.
15036 (raid5rec_mod_LDFLAGS): Likewise.
15037 (raid6rec_mod_SOURCES): Likewise.
15038 (raid6rec_mod_CFLAGS): Likewise.
15039 (raid6rec_mod_LDFLAGS): Likewise.
15040 (mdraid_mod_SOURCES): Likewise.
15041 (mdraid_mod_CFLAGS): Likewise.
15042 (mdraid_mod_LDFLAGS): Likewise.
15043 (dm_nv_mod_SOURCES): Likewise.
15044 (dm_nv_mod_CFLAGS): Likewise.
15045 (dm_nv_mod_LDFLAGS): Likewise.
15046
15047 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
15048 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
15049 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
15050
15051 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
15052 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
15053
15054 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15055
15056 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15057
15058 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15059
15060 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15061
15062 * disk/raid5_recover.c: New file.
15063
15064 * disk/raid6_recover.c: Likewise.
15065
15066 * disk/mdraid_linux.c: Likewise.
15067
15068 * disk/dmraid_nvidia.c: Likewise.
15069
15070 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
15071 ULONG_MAX.
15072
15073 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
15074 calculate the size of raid device.
15075 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
15076 different layout of raid5.
15077 (grub_raid_scan_device): Remove code specific to mdraid.
15078 (grub_raid_list): New variable.
15079 (free_array): New function.
15080 (grub_raid_register): Likewise.
15081 (grub_raid_unregister): Likewise.
15082 (grub_raid_rescan): Likewise.
15083 (GRUB_MOD_INIT): Don't iterate device here.
15084 (GRUB_MOD_FINI): Use free_array to release resource.
15085
15086 * include/grub/raid.h: Remove macro and structure specific to mdraid.
15087 (grub_raid5_recover_func_t): New function variable type.
15088 (grub_raid6_recover_func_t): Likewise.
15089 (grub_raid5_recover_func): New variable.
15090 (grub_raid6_recover_func): Likewise.
15091 (grub_raid_register): New function.
15092 (grub_raid_unregister): Likewise.
15093 (grub_raid_rescan): Likewise.
15094 (grub_raid_block_xor): Likewise.
15095
15096 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
15097 (CMD_CRC): New macro.
15098 (part): Removed.
15099 (read_file): Handle device as well as file.
15100 (cmd_crc): New function.
15101 (fstest): Handle multiple disks.
15102 (options): Remove part, raw and long, add root and diskcount.
15103 (usage): Add crc, remove -p, -r, -l, add -r and -c.
15104 (main): Find the first non option entry and ignore subsequent options,
15105 add handling for the new options, support multiple disks.
15106
15107 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
15108
15109 2008-08-23 Bean <bean123ch@gmail.com>
15110
15111 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
15112
15113 * genfslist.sh: Ignore kernel.mod.
15114
15115 * genpartmaplist.sh: Likewise.
15116
15117 2008-08-23 Robert Millan <rmh@aybabtu.com>
15118
15119 * util/getroot.c (find_root_device): Skip anything that starts with
15120 a dot, not just directories. This avoids things like /dev/.tmp.md0.
15121
15122 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
15123
15124 * util/update-grub.in (GRUB_GFXMODE): Export variable.
15125 * util/grub.d/00_header.in: Allow the administrator to change default
15126 gfxmode via ${GRUB_GFXMODE}.
15127
15128 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
15129
15130 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
15131
15132 2008-08-21 Robert Millan <rmh@aybabtu.com>
15133
15134 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
15135 loader.
15136 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
15137 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
15138
15139 2008-08-20 Carles Pina i Estany <carles@pina.cat>
15140
15141 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
15142 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
15143
15144 2008-08-19 Robert Millan <rmh@aybabtu.com>
15145
15146 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
15147 (struct grub_virtual_screen): Remove `cursor_color'.
15148 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
15149 initialization.
15150 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
15151
15152 2008-08-18 Robert Millan <rmh@aybabtu.com>
15153
15154 Unify (identical) linux_normal.c files.
15155 * loader/i386/efi/linux_normal.c: Move from here ...
15156 * loader/linux_normal.c: ... to here. Update all users.
15157 * loader/i386/pc/linux_normal.c: Delete. Update all users.
15158 * loader/i386/ieee1275/linux_normal.c: Likewise.
15159
15160 2008-08-18 Robert Millan <rmh@aybabtu.com>
15161
15162 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
15163 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
15164 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
15165 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
15166 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
15167 New macros.
15168 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
15169 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
15170 (GRUB_LINUX_CL_END_OFFSET): ... to here.
15171 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
15172 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
15173 (GRUB_EFI_CL_END_OFFSET): Rename to ...
15174 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
15175 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
15176 Initialize `params->video_cursor_x' and `params->video_cursor_y'
15177 portably using grub_getxy().
15178 Replace `-EFI' with `-bzImage' in boot message.
15179
15180 2008-08-17 Robert Millan <rmh@aybabtu.com>
15181
15182 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
15183
15184 2008-08-17 Robert Millan <rmh@aybabtu.com>
15185
15186 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
15187
15188 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
15189 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
15190 (grub_machine_mmap_iterate): New function declaration.
15191 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
15192 structure.
15193 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
15194 macros.
15195
15196 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
15197 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
15198 Move e820 parsing from here ...
15199 * kern/i386/pc/mmap.c: New file.
15200 (grub_machine_mmap_iterate): ... to here.
15201
15202 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
15203 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
15204 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
15205 (grub_available_iterate): Redeclare to return `void', and redeclare
15206 its hook to use grub_uint64_t as addr and size parameters, and rename
15207 to ...
15208 (grub_machine_mmap_iterate): ... this. Update all users.
15209
15210 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
15211 to make it more readable. Rename to ...
15212 (grub_machine_mmap_iterate): ... this.
15213
15214 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
15215 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
15216 (grub_multiboot): Allocate an extra region after the payload, and fill
15217 it with a Multiboot memory map. Adjust a.out loader to calculate size
15218 with the extra space.
15219 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
15220 with the extra space.
15221
15222 2008-08-17 Carles Pina i Estany <carles@pina.cat>
15223
15224 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
15225
15226 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
15227
15228 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
15229 mdate-sh to the list `find' searches for.
15230 * DISTLIST: Regenerated.
15231
15232 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
15233
15234 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
15235 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
15236 genmoddep.awk, gensymlist.sh.in.
15237 (DISTDIRS): Add bus, docs, hook, lib.
15238 * DISTLIST: Regenerated.
15239 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
15240
15241 2008-08-16 Robert Millan <rmh@aybabtu.com>
15242
15243 * disk/raid.c (grub_raid_init): Handle/report errors set by
15244 grub_device_iterate().
15245 * disk/lvm.c (grub_lvm_init): Likewise.
15246
15247 2008-08-15 Bean <bean123ch@gmail.com>
15248
15249 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15250 and datehook.mod.
15251 (datetime_mod_SOURCES): New macro.
15252 (datetime_mod_CFLAGS): Likewise.
15253 (datetime_mod_LDFLAGS): Likewise.
15254 (date_mod_SOURCES): Likewise.
15255 (date_mod_CFLAGS): Likewise.
15256 (date_mod_LDFLAGS): Likewise.
15257 (datehook_mod_SOURCES): Likewise.
15258 (datehook_mod_CFLAGS): Likewise.
15259 (datehook_mod_LDFLAGS): Likewise.
15260
15261 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15262 and datehook.mod.
15263 (datetime_mod_SOURCES): New macro.
15264 (datetime_mod_CFLAGS): Likewise.
15265 (datetime_mod_LDFLAGS): Likewise.
15266 (date_mod_SOURCES): Likewise.
15267 (date_mod_CFLAGS): Likewise.
15268 (date_mod_LDFLAGS): Likewise.
15269 (datehook_mod_SOURCES): Likewise.
15270 (datehook_mod_CFLAGS): Likewise.
15271 (datehook_mod_LDFLAGS): Likewise.
15272
15273 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15274 and datehook.mod.
15275 (datetime_mod_SOURCES): New macro.
15276 (datetime_mod_CFLAGS): Likewise.
15277 (datetime_mod_LDFLAGS): Likewise.
15278 (date_mod_SOURCES): Likewise.
15279 (date_mod_CFLAGS): Likewise.
15280 (date_mod_LDFLAGS): Likewise.
15281 (datehook_mod_SOURCES): Likewise.
15282 (datehook_mod_CFLAGS): Likewise.
15283 (datehook_mod_LDFLAGS): Likewise.
15284
15285 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15286 and datehook.mod.
15287 (datetime_mod_SOURCES): New macro.
15288 (datetime_mod_CFLAGS): Likewise.
15289 (datetime_mod_LDFLAGS): Likewise.
15290 (date_mod_SOURCES): Likewise.
15291 (date_mod_CFLAGS): Likewise.
15292 (date_mod_LDFLAGS): Likewise.
15293 (datehook_mod_SOURCES): Likewise.
15294 (datehook_mod_CFLAGS): Likewise.
15295 (datehook_mod_LDFLAGS): Likewise.
15296
15297 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15298 and datehook.mod.
15299 (datetime_mod_SOURCES): New macro.
15300 (datetime_mod_CFLAGS): Likewise.
15301 (datetime_mod_LDFLAGS): Likewise.
15302 (date_mod_SOURCES): Likewise.
15303 (date_mod_CFLAGS): Likewise.
15304 (date_mod_LDFLAGS): Likewise.
15305 (datehook_mod_SOURCES): Likewise.
15306 (datehook_mod_CFLAGS): Likewise.
15307 (datehook_mod_LDFLAGS): Likewise.
15308
15309 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
15310
15311 * commands/date.c: New file.
15312
15313 * hook/datehook.c: Likewise.
15314
15315 * include/grub/lib/datetime.h: Likewise.
15316
15317 * include/grub/i386/cmos.h: Likewise.
15318
15319 * lib/datetime.c: Likewise.
15320
15321 * lib/i386/datetime.c: Likewise.
15322
15323 * lib/efi/datetime.c: Likewise.
15324
15325 2008-08-14 Robert Millan <rmh@aybabtu.com>
15326
15327 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
15328 (grub_mkelfimage_SOURCES): New variable.
15329 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
15330
15331 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
15332 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
15333 * conf/powerpc-ieee1275.rmk: Likewise.
15334 * conf/i386-ieee1275.rmk: Likewise.
15335
15336 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
15337 * kern/i386/coreboot/init.c: Likewise.
15338
15339 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
15340 with `<grub/cpu/kernel.h>'.
15341 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
15342 to ...
15343 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
15344 * kern/i386/coreboot/startup.S: Likewise.
15345
15346 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
15347 (GRUB_MOD_GAP): Remove.
15348 * include/grub/powerpc/kernel.h: New file.
15349 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
15350 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
15351 * include/grub/i386/kernel.h: New file.
15352 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
15353 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
15354 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
15355
15356 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
15357 `grub-mkelfimage'.
15358 Use --directory when invoking grub_mkimage.
15359
15360 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
15361 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
15362 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
15363 and GRUB_KERNEL_CPU_PREFIX.
15364
15365 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
15366
15367 * include/grub/err.h (grub_err_printf): New function prototype.
15368 * util/misc.c (grub_err_printf): New function.
15369 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
15370 grub_printf.
15371 * kern/err.c (grub_print_error): Use grub_err_printf.
15372
15373 2008-08-13 Robert Millan <rmh@aybabtu.com>
15374
15375 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
15376
15377 2008-08-13 Robert Millan <rmh@aybabtu.com>
15378
15379 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
15380 boot entry.
15381
15382 2008-08-12 Robert Millan <rmh@aybabtu.com>
15383
15384 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
15385 of the relocation code from here ...
15386 (grub_multiboot): ... to here.
15387 (forward_relocator, backward_relocator): Move from here ...
15388 * kern/i386/loader.S (grub_multiboot_forward_relocator)
15389 (grub_multiboot_backward_relocator): ... to here.
15390 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
15391 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
15392 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
15393 (grub_multiboot_forward_relocator_end)
15394 (grub_multiboot_backward_relocator)
15395 (grub_multiboot_backward_relocator_end): New variables.
15396
15397 2008-08-12 Bean <bean123ch@gmail.com>
15398
15399 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
15400
15401 2008-08-11 Robert Millan <rmh@aybabtu.com>
15402
15403 * kern/i386/linuxbios/startup.S: Move from here ...
15404 * kern/i386/coreboot/startup.S: ... to here.
15405
15406 * kern/i386/linuxbios/init.c: Move from here ...
15407 * kern/i386/coreboot/init.c: ... to here.
15408
15409 * kern/i386/linuxbios/table.c: Move from here ...
15410 * kern/i386/coreboot/mmap.c: ... to here.
15411
15412 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
15413
15414 2008-08-11 Robert Millan <rmh@aybabtu.com>
15415
15416 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
15417 errors. Leave it to the upper layer to handle them.
15418
15419 2008-08-09 Christian Franke <franke@computer.org>
15420
15421 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
15422 * conf/common.rmk: Install `grub-pe2elf' only if requested.
15423 Install `grub.d/10_windows' only on Cygwin.
15424 * configure.ac: Add subst of `target_os'.
15425 Check `target_os' also before setting TARGET_OBJ2ELF.
15426 Add `--enable-grub-pe2elf'.
15427
15428 2008-08-08 Robert Millan <rmh@aybabtu.com>
15429
15430 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
15431 (grub_last_time): Change type to grub_uint64_t.
15432 (grub_disk_open): Migrate code from to using grub_get_time_ms().
15433 (grub_disk_close): Likewise.
15434
15435 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
15436 (run_menu): Migrate code from to using grub_get_time_ms().
15437
15438 * util/misc.c (grub_get_time_ms): New function.
15439
15440 2008-08-08 Marco Gerards <marco@gnu.org>
15441
15442 * disk/ata.c (grub_ata_regget): Change return type to
15443 `grub_uint8_t'.
15444 (grub_ata_regget2): Likewise.
15445 (grub_ata_wait_status): New function.
15446 (grub_ata_wait_busy): Removed function, updated all users to use
15447 `grub_ata_wait_status'.
15448 (grub_ata_wait_drq): Likewise.
15449 (grub_ata_cmd): New function.
15450 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
15451 error handling.
15452 (grub_ata_pio_write): Add error handling.
15453 (grub_atapi_identify): Likewise.
15454 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
15455 handling.
15456 (grub_ata_identify): Use `grub_ata_cmd' and improve error
15457 handling. Actually use the detected registers. Reorder the
15458 detection logic such that it is easier to read.
15459 (grub_ata_pciinit): Do not assign the same ID to each controller.
15460 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
15461 handling.
15462 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
15463
15464 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
15465
15466 2008-08-08 Marco Gerards <marco@gnu.org>
15467
15468 * NEWS: Update.
15469
15470 2008-08-07 Bean <bean123ch@gmail.com>
15471
15472 * include/grub/x86_64/pci.h: New file.
15473
15474 2008-08-07 Christian Franke <franke@computer.org>
15475
15476 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
15477 (TIMER2_GATE): Likewise.
15478 (grub_pit_wait): Add enable/disable of the timer2 gate
15479 bit of port 0x61. This fixes a possible infinite loop.
15480
15481 2008-08-07 Bean <bean123ch@gmail.com>
15482
15483 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
15484 kern/i386/tsc.c and kern/i386/pit.c.
15485
15486 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
15487 x86_64 platform.
15488
15489 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
15490 <grub/i386/tsc.h>.
15491
15492 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
15493
15494 2008-08-07 Bean <bean123ch@gmail.com>
15495
15496 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
15497
15498 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
15499
15500 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
15501 multiple inclusion. Add #include <grub/types.h>.
15502
15503 2008-08-06 Christian Franke <franke@computer.org>
15504
15505 * conf/common.rmk: Build and install `10_windows'.
15506 * util/grub.d/10_windows.in: New script.
15507
15508 2008-08-06 Pavel Roskin <proski@gnu.org>
15509
15510 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
15511
15512 2008-08-06 Robert Millan <rmh@aybabtu.com>
15513
15514 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
15515 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
15516
15517 2008-08-06 Bean <bean123ch@gmail.com>
15518
15519 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
15520 (grub_pxefs_fs_int): Remove dummy definition.
15521 (grub_pxefs_open): Use data->block_size to store the current block
15522 size setting.
15523 (grub_pxefs_read): Use block size stored in data->block_size. As the
15524 value of grub_pxe_blksize can be changed after the file is opened.
15525
15526 2008-08-06 Bean <bean123ch@gmail.com>
15527
15528 * fs/i386/pc/pxe.c (curr_file): new variable.
15529 (grub_pxefs_open): Simply the handling of pxe file system. Don't
15530 require the dummy internal file system anymore.
15531 (grub_pxefs_read): Removed.
15532 (grub_pxefs_close): Likewise.
15533 (grub_pxefs_fs_int): Likewise.
15534 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
15535 connection when we switch file.
15536 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
15537
15538 2008-08-06 Robert Millan <rmh@aybabtu.com>
15539
15540 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
15541 `halt.mod'.
15542 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
15543 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
15544
15545 * kern/i386/halt.c: New file.
15546 * kern/i386/reboot.c: Likewise.
15547 * include/grub/i386/reboot.h: Likewise.
15548 * include/grub/i386/halt.h: Likewise.
15549
15550 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
15551 Include `<grub/cpu/halt.h>'.
15552 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
15553 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
15554
15555 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
15556 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
15557 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
15558 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
15559 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
15560 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
15561 from here ...
15562 * include/grub/i386/at_keyboard.h: ... to here.
15563
15564 2008-08-05 Robert Millan <rmh@aybabtu.com>
15565
15566 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
15567 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
15568 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
15569 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
15570 `kern/generic/millisleep.c'.
15571
15572 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
15573 instead of grub_get_rtc().
15574 (grub_tsc_init): Initialize `tsc_boot_time'.
15575
15576 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
15577 (grub_machine_init): Use grub_tsc_init() rather than
15578 installing an RTC-based handler via grub_install_get_time_ms().
15579
15580 * kern/i386/pit.c: New file.
15581 * include/grub/i386/pit.h: Likewise.
15582
15583 2008-08-05 Bean <bean123ch@gmail.com>
15584
15585 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
15586
15587 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
15588 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
15589 (pxe_mod_SOURCES): New macro.
15590 (pxe_mod_CFLAGS): Likewise.
15591 (pxe_mod_LDFLAGS): Likewise.
15592 (pxecmd_mod_SOURCES): Likewise.
15593 (pxecmd_mod_CFLAGS): Likewise.
15594 (pxecmd_mod_LDFLAGS): Likewise.
15595
15596 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
15597 (grub_pxe_call): Likewise.
15598
15599 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
15600
15601 * commands/i386/pc/pxecmd.c: New file.
15602
15603 * fs/i386/pc/pxe.c: Likewise.
15604
15605 * include/grub/i386/pc/pxe.h: Likewise.
15606
15607 2008-08-05 Bean <bean123ch@gmail.com>
15608
15609 * util/console.c (grub_console_cur_color): New variable.
15610 (grub_console_standard_color): Likewise.
15611 (grub_console_normal_color): Likewise.
15612 (grub_console_highlight_color): Likewise.
15613 (color_map): Likewise.
15614 (use_color): Likewise.
15615 (NUM_COLORS): New macro.
15616 (grub_ncurses_setcolorstate): Handle color properly.
15617 (grub_ncurses_setcolor): Don't change color here, just remember the
15618 settings, color will be set in grub_ncurses_setcolorstate.
15619 (grub_ncurses_getcolor): New function.
15620 (grub_ncurses_init): Initialize color pairs.
15621 (grub_ncurses_term): New member grub_ncurses_getcolor.
15622
15623 2008-08-05 Colin D Bennett <colin@gibibit.com>
15624
15625 High resolution timer support. Implemented for x86 CPUs using TSC.
15626 Extracted generic grub_millisleep() so it's linked in only as needed.
15627 This requires a Pentium compatible CPU; if the RDTSC instruction is
15628 not supported, then it falls back on the generic grub_get_time_ms()
15629 implementation that uses the machine's RTC.
15630
15631 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
15632 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
15633 `kern/generic/millisleep.c'.
15634
15635 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
15636 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
15637
15638 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
15639 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
15640
15641 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
15642
15643 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15644 `kern/generic/millisleep.c'.
15645
15646 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
15647
15648 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
15649
15650 * kern/generic/rtc_get_time_ms.c: New file.
15651
15652 * kern/generic/millisleep.c: New file.
15653
15654 * kern/misc.c: Don't include
15655 <kern/time.h> anymore.
15656 (grub_millisleep_generic): Removed.
15657
15658 * commands/sleep.c (grub_interruptible_millisleep): Uses
15659 grub_get_time_ms() instead of grub_get_rtc().
15660
15661 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
15662 function.
15663 (grub_cpu_is_cpuid_supported): New inline function.
15664 (grub_cpu_is_tsc_supported): New inline function.
15665 (grub_tsc_init): New function prototype.
15666 (grub_tsc_get_time_ms): New function prototype.
15667
15668 * kern/i386/tsc.c (grub_get_time_ms): New file.
15669
15670 * include/grub/time.h: Include <grub/types.h.
15671 (grub_millisleep_generic): Removed.
15672 (grub_get_time_ms): New prototype.
15673 (grub_install_get_time_ms): New prototype.
15674 (grub_rtc_get_time_ms): New prototype.
15675
15676 * kern/time.c (grub_get_time_ms): New function.
15677 (grub_install_get_time_ms): New function.
15678
15679 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
15680 <grub/time.h> anymore.
15681 (grub_millisleep): Removed.
15682 (grub_machine_init): Call grub_tsc_init.
15683
15684 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
15685 get_time_ms() implementation.
15686
15687 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
15688 (ieee1275_get_time_ms): New function.
15689 (grub_machine_init): Install get_time_ms() implementation.
15690
15691 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
15692 (grub_machine_init): Call grub_tsc_init().
15693 (grub_millisleep): Removed.
15694
15695 * kern/ieee1275/init.c (grub_millisleep): Removed.
15696 (grub_machine_init): Install ieee1275_get_time_ms()
15697 implementation.
15698 (ieee1275_get_time_ms): New function.
15699 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
15700 real work.
15701
15702 2008-08-05 Marco Gerards <marco@gnu.org>
15703
15704 * disk/ata.c: Include <grub/pci.h>.
15705 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
15706 (grub_ata_initialize): Rewritten.
15707 (grub_ata_device_initialize): New function.
15708
15709 2008-08-04 Pavel Roskin <proski@gnu.org>
15710
15711 * kern/main.c: Include grub/mm.h.
15712
15713 2008-08-04 Robert Millan <rmh@aybabtu.com>
15714
15715 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
15716 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
15717 corruption problem).
15718
15719 2008-08-04 Robert Millan <rmh@aybabtu.com>
15720
15721 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
15722 warnings introduced in my last commit.
15723
15724 2008-08-03 Robert Millan <rmh@aybabtu.com>
15725
15726 Make PCI available on all i386 architectures.
15727
15728 * include/grub/i386/pc/pci.h: Move from here ...
15729 * include/grub/i386/pci.h: ... to here.
15730
15731 * include/grub/i386/pc/pci.h: Remove.
15732 * include/grub/i386/efi/pci.h: Remove.
15733 * include/grub/x86_64/efi/pci.h: Remove.
15734
15735 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
15736 `<grub/cpu/pci.h>'.
15737
15738 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
15739 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
15740 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
15741
15742 * conf/i386-ieee1275.rmk: Likewise.
15743
15744 2008-08-03 Robert Millan <rmh@aybabtu.com>
15745
15746 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
15747 (grub_console_setcursor): Make it possible to set cursor off.
15748
15749 2008-08-03 Robert Millan <rmh@aybabtu.com>
15750
15751 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
15752 of modules instead of assuming which platform provides what.
15753 * util/update-grub.in: Likewise.
15754
15755 2008-08-03 Robert Millan <rmh@aybabtu.com>
15756
15757 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
15758 instead of `grub_install_dos_part' to determine whether a drive needs
15759 to be prepended to prefix (`grub_install_dos_part' is not reliable,
15760 because it can be overridden when loading GRUB via Multiboot).
15761
15762 2008-08-02 Robert Millan <rmh@aybabtu.com>
15763
15764 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
15765
15766 2008-08-02 Robert Millan <rmh@aybabtu.com>
15767
15768 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
15769 of informational grub_dprintf() calls.
15770
15771 2008-08-02 Robert Millan <rmh@aybabtu.com>
15772
15773 * disk/memdisk.c (memdisk_size): Don't initialize.
15774 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
15775
15776 * include/grub/i386/pc/kernel.h
15777 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
15778 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
15779 (grub_memdisk_image_size, grub_arch_memdisk_addr)
15780 (grub_arch_memdisk_size): Remove.
15781
15782 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
15783 field (was only used to transfer a constant). Add `type' field to
15784 support multiple module types.
15785 (grub_module_iterate): New function.
15786
15787 * kern/device.c (grub_device_open): Do not hide error messages
15788 when grub_disk_open() fails. Use grub_print_error() instead.
15789
15790 * kern/i386/pc/init.c (grub_arch_modules_addr)
15791 (grub_arch_memdisk_size): Remove functions.
15792 (grub_arch_modules_addr): Return the module address in high memory
15793 (now that it isn't copied anymore).
15794
15795 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
15796 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
15797 decompression routine (grub_total_module_size already includes that
15798 now). Don't copy modules back to low memory.
15799
15800 * kern/main.c: Include `<grub/mm.h>'.
15801 (grub_load_modules): Split out (and use) ...
15802 (grub_module_iterate): ... this function, which iterates through
15803 module objects and runs a hook.
15804 Comment out grub_mm_init_region() call, as it would cause non-ELF
15805 modules to be overwritten.
15806
15807 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
15808 the memdisk image in its own region, make it part of the module list.
15809 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
15810 (main): Parse --memdisk|-m option, and pass user-provided path as
15811 parameter to generate_image().
15812 (add_segments): Pass `memdisk_path' down to load_modules().
15813 (load_modules): Embed memdisk image in module section when requested.
15814 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
15815 `header.type' instead of `header.offset'.
15816
15817 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
15818 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
15819 (memdisk_mod_LDFLAGS): New variables.
15820 * conf/i386-coreboot.rmk: Likewise.
15821 * conf/i386-ieee1275.rmk: Likewise.
15822
15823 2008-08-02 Robert Millan <rmh@aybabtu.com>
15824
15825 * loader/i386/pc/multiboot.c (playground, forward_relocator)
15826 (backward_relocator): New variables. Used to allocate and relocate
15827 the payload, respectively.
15828 (grub_multiboot_load_elf32): Load into heap instead of requested
15829 address, install the appropriate relocator code in each bound of
15830 the payload, and set the entry point such that
15831 grub_multiboot_real_boot() will jump to one of them.
15832
15833 * kern/i386/loader.S (grub_multiboot_payload_size)
15834 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
15835 (grub_multiboot_payload_entry_offset): New variables.
15836 (grub_multiboot_real_boot): Set cpu context to what the relocator
15837 expects, and jump to the relocator instead of the payload.
15838
15839 * include/grub/i386/loader.h (grub_multiboot_payload_size)
15840 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
15841 (grub_multiboot_payload_entry_offset): Export.
15842
15843 2008-08-01 Bean <bean123ch@gmail.com>
15844
15845 * normal/menu_entry.c (editor_getline): Don't return the original
15846 string as result, as it will be released by lexer once it has done
15847 using it.
15848
15849 2008-08-01 Robert Millan <rmh@aybabtu.com>
15850
15851 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
15852 within menuentries, not before them.
15853 util/grub.d/10_hurd.in: Likewise.
15854
15855 2008-08-01 Bean <bean123ch@gmail.com>
15856
15857 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
15858 (bufio_mod_SOURCES): New macro.
15859 (bufio_mod_CFLAGS): Likewise.
15860 (bufio_mod_LDFLAGS): Likewise.
15861
15862 * include/grub/bufio.h: New file.
15863
15864 * io/bufio.c: Likewise.
15865
15866 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
15867 (grub_video_reader_png): Use grub_buffile_open to open file.
15868
15869 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
15870 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
15871
15872 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
15873 (grub_video_reader_tga): Use grub_buffile_open to open file.
15874
15875 * font/manager.c: Include <grub/bufio.h>.
15876 (add_font): Use grub_buffile_open to open file.
15877
15878 2008-07-31 Robert Millan <rmh@aybabtu.com>
15879
15880 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
15881 ELF segments, use a macro for arbitrarily accessing any of them instead
15882 of preparing a pointer that allows access to one at a time.
15883 (grub_multiboot_load_elf64): Likewise.
15884
15885 2008-07-31 Bean <bean123ch@gmail.com>
15886
15887 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
15888 GRUB_KERNEL_MACHINE_DATA_END.
15889
15890 2008-07-30 Robert Millan <rmh@aybabtu.com>
15891
15892 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
15893 Increase from 0x50 to 0x60.
15894 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
15895 use UUIDs to identify the root drive for them. If that's not
15896 possible, abort.
15897 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
15898 check, for cross-disk installs.
15899
15900 2008-07-30 Robert Millan <rmh@aybabtu.com>
15901
15902 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
15903 is non-empty, use it to set the `prefix' environment variable instead
15904 of the usual approach.
15905 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
15906 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
15907 environment variable instead of dummy make_install_device().
15908
15909 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
15910 (start): Insert a data section, with `grub_prefix' variable.
15911 * kern/i386/linuxbios/startup.S: Likewise.
15912
15913 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
15914 New variable reference.
15915 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
15916 New macro. Defines offset of `grub_prefix' within startup.S (relative
15917 to `start').
15918 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
15919 section within startup.S (relative to `start').
15920 * include/grub/i386/coreboot/kernel.h: Likewise.
15921
15922 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
15923 Overwrite grub_prefix with its contents, at the beginning of the
15924 first segment.
15925 (main): Understand -p|--prefix.
15926
15927 2008-07-30 Robert Millan <rmh@aybabtu.com>
15928
15929 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
15930
15931 2008-07-30 Robert Millan <rmh@aybabtu.com>
15932
15933 * term/i386/pc/vga_text.c (grub_console_cls): Use
15934 grub_console_gotoxy() to go back to beginning of the screen.
15935 Found by Patrick Georgi <patrick.georgi@coresystems.de>
15936
15937 2008-07-29 Christian Franke <franke@computer.org>
15938
15939 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
15940 Add conversion of emulated mount points on Cygwin.
15941
15942 2008-07-29 Christian Franke <franke@computer.org>
15943
15944 * util/update-grub.in: Add a check for admin
15945 group on Cygwin.
15946 Remove old `grub.cfg.new' before creation.
15947 Add `-f' to `mv' to handle the different filesystem
15948 semantics of Windows.
15949
15950 2008-07-29 Bean <bean123ch@gmail.com>
15951
15952 * normal/main.c (get_line): Fix buffer overflow bug.
15953
15954 2008-07-28 Robert Millan <rmh@aybabtu.com>
15955
15956 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
15957 (struct grub_apple_header): New struct. Describes the layout of
15958 the partmap header.
15959 (apple_partition_map_iterate): Check the header magic as well as the
15960 partition magic (which was already being checked).
15961
15962 2008-07-28 Pavel Roskin <proski@gnu.org>
15963
15964 * genmk.rb: Add a warning to the beginning of the output that
15965 it's a generated file and should not be edited.
15966
15967 2008-07-28 Robert Millan <rmh@aybabtu.com>
15968
15969 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
15970 with the same number are found, just use issue a warning with
15971 grub_dprintf(), as this error has been reported to be non-fatal.
15972
15973 2008-07-27 Robert Millan <rmh@aybabtu.com>
15974
15975 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
15976 information.
15977
15978 2008-07-27 Bean <bean123ch@gmail.com>
15979
15980 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
15981 (grub_fat_find_dir): Ignore case when comparing filename.
15982
15983 2008-07-27 Bean <bean123ch@gmail.com>
15984
15985 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
15986 smallino, as it's more descriptive, and i8count can be confused with
15987 the other field count.
15988 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
15989 inode type.
15990
15991 2008-07-27 Bean <bean123ch@gmail.com>
15992
15993 * commands/crc.c: New file.
15994
15995 * lib/crc.c: Likewise.
15996
15997 * include/grub/lib/crc.h: Likewise.
15998
15999 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
16000
16001 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
16002 (hexdump): Move this function to ...
16003
16004 * lib/hexdump.c: ... here.
16005
16006 * include/grub/hexdump.h: Renamed to ...
16007
16008 * include/grub/lib/hexdump.h: ... this.
16009
16010 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
16011
16012 * util/grub-editenv.c: Likewise.
16013
16014 * include/envblk.h: Renamed to ...
16015
16016 * include/lib/envblk.h: ... this.
16017
16018 * util/envblk.c: Renamed to ...
16019
16020 * lib/envblk.c: ... this.
16021
16022 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
16023 lib/hexdump.c.
16024 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
16025 (pkglib_MODULES): Add crc.mod.
16026 (hexdump_mod_SOURCES): Add lib/hexdump.c.
16027 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
16028 (crc_mod_SOURCES): New macro.
16029 (crc_mod_CFLAGS): Likewise.
16030 (crc_mod_LDFLAGS): Likewise.
16031
16032 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
16033
16034 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16035
16036 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16037
16038 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16039
16040 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16041
16042 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
16043
16044 * commands/help.c: Include <grub/term.h>.
16045 (TERM_WIDTH): Removed. Updated all users.
16046
16047 2008-07-27 Pavel Roskin <proski@gnu.org>
16048
16049 * util/getroot.c (find_root_device): Rephrase a comment to avoid
16050 spurious warnings about a comment within a comment.
16051
16052 2008-07-25 Robert Millan <rmh@aybabtu.com>
16053
16054 * util/getroot.c (find_root_device): Skip devices that match
16055 /dev/dm-[0-9]. This lets the real device be found for any type of
16056 abstraction (LVM, EVMS, RAID..).
16057 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
16058 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
16059 device is found first, find_root_device() will now skip it.
16060
16061 2008-07-24 Pavel Roskin <proski@gnu.org>
16062
16063 * include/grub/types.h: Use __builtin_bswap32() and
16064 __builtin_bswap64() with gcc 4.3 and newer.
16065
16066 2008-07-24 Christian Franke <franke@computer.org>
16067
16068 * util/i386/pc/grub-install.in: If `--debug' is specified,
16069 pass `--verbose' to grub-setup.
16070 Abort script if make_system_path_relative_to_its_root() fails.
16071
16072 2008-07-24 Bean <bean123ch@gmail.com>
16073
16074 * configure.ac: Fixed a bug caused by the previous cygwin patch,
16075 variable `target_platform' should be `platform'.
16076
16077 2008-07-24 Bean <bean123ch@gmail.com>
16078
16079 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
16080 (grub_png_init_fixed_block): New function.
16081 (grub_png_decode_image_data): Handle fixed huffman code compression.
16082
16083 2008-07-24 Bean <bean123ch@gmail.com>
16084
16085 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
16086 (grub_pe2elf_SOURCES): New macro.
16087 (CLEANFILES): Add grub-pe2elf.
16088
16089 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
16090 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
16091 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
16092 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
16093 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
16094 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
16095 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
16096 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
16097 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
16098 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
16099 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
16100 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
16101 (GRUB_PE32_DT_FUNCTION): Likewise.
16102 (GRUB_PE32_REL_I386_DIR32): Likewise.
16103 (GRUB_PE32_REL_I386_REL32): Likewise.
16104 (grub_pe32_symbol): New structure.
16105 (grub_pe32_reloc): Likewise.
16106
16107 * util/grub-pe2elf.c: New file.
16108
16109 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
16110 start symbol in non pc platform.
16111
16112 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
16113
16114 The following patches are from Christian Franke.
16115
16116 * include/grub/dl.h: Remove .previous, gas supports this only
16117 for ELF format.
16118
16119 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
16120 Remove .type, gas supports this only for ELF format.
16121
16122 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
16123 nullbytes in symbol table. This fixes an infinite loop if table is
16124 zero filled.
16125
16126 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
16127 TARGET_IMG_LDFLAGS and EXEEXT.
16128
16129 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
16130 TARGET_IMG_LDFLAGS_AC.
16131 (grub_CHECK_STACK_ARG_PROBE): New function.
16132
16133 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
16134
16135 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
16136
16137 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
16138 to set TARGET_IMG_LD* accordingly.
16139 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
16140 Add call to grub_CHECK_STACK_ARG_PROBE.
16141 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
16142
16143 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
16144
16145 * genmk.rb: Add EXEEXT to CLEANFILES.
16146
16147 2008-07-23 Robert Millan <rmh@aybabtu.com>
16148
16149 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
16150 define the codes for arrows and lines used for the menu).
16151 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
16152 as well.
16153
16154 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
16155 fonts, because the latter are too slow.
16156
16157 2008-07-21 Bean <bean123ch@gmail.com>
16158
16159 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
16160 a20. Run keyboard test last, as it will cause macbook to halt.
16161
16162 2008-07-18 Pavel Roskin <proski@gnu.org>
16163
16164 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
16165 load foreign architecture modules correctly anyway. Keep
16166 support for loading host architecture modules, whether we
16167 compile them or not.
16168
16169 2008-07-17 Pavel Roskin <proski@gnu.org>
16170
16171 * configure.ac: Use -m32 or -m64 regardless of whether we had to
16172 change target_cpu. The compiler default can mismatch target_cpu
16173 in any case.
16174
16175 * disk/efi/efidisk.c: Fix format warnings on x86_64.
16176 * kern/efi/efi.c: Likewise.
16177
16178 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
16179 target compiler is functional.
16180 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
16181 are set up.
16182
16183 * configure.ac: Default to efi platform for x86_64-apple. Allow
16184 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
16185 adjustments from the rest, only do them if target is not
16186 explicitly given. Merge other adjustments with the final sanity
16187 check. Remove an extraneous check for supported CPU. Be
16188 specific which CPU and which platform is not supported.
16189
16190 * configure.ac: Default to pc platform for x86_64.
16191
16192 2008-07-17 Robert Millan <rmh@aybabtu.com>
16193
16194 Partial LinuxBIOS -> Coreboot rename.
16195
16196 * conf/i386-linuxbios.rmk: Renamed to ...
16197 * conf/i386-coreboot.rmk: ... this.
16198 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
16199 * configure.ac: Accept "coreboot" as input platform (but maintain
16200 compatibility with "linuxbios").
16201 * include/grub/i386/linuxbios: Renamed to ...
16202 * include/grub/i386/coreboot: ... this.
16203
16204 2008-07-17 Bean <bean123ch@gmail.com>
16205
16206 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
16207 (appleldr_mod_SOURCE): New variable.
16208 (appleldr_mod_CFLAGS): Likewise.
16209 (appleldr_mod_LDFLAGS): Likewise.
16210 (pci_mod_SOURCES): Likewise.
16211 (pci_mod_CFLAGS): Likewise.
16212 (pci_mod_LDFLAGS): Likewise.
16213 (lspci_mod_SOURCES): Likewise.
16214 (lspci_mod_CFLAGS): Likewise.
16215 (lspci_mod_LDFLAGS): Likewise.
16216
16217 * conf/x86_64-efi.rmk: New file.
16218
16219 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
16220 macro.
16221 (grub_efidisk_write): Likewise.
16222
16223 * include/efi/api.h (efi_call_0): New macro.
16224 (efi_call_1): Likewise.
16225 (efi_call_2): Likewise.
16226 (efi_call_3): Likewise.
16227 (efi_call_4): Likewise.
16228 (efi_call_5): Likewise.
16229 (efi_call_6): Likewise.
16230
16231 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
16232 grub_rescue_cmd_chainloader.
16233
16234 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
16235 (grub_pe32_optional_header): Change some fields based on i386 or
16236 x86_64 platform.
16237 (GRUB_PE32_PE32_MAGIC): Likewise.
16238
16239 * include/grub/efi/uga_draw.h: New file.
16240
16241 * include/grub/elf.h (STN_ABS): New constant.
16242 (R_X86_64_NONE): Relocation constant for x86_64.
16243 (R_X86_64_64): Likewise.
16244 (R_X86_64_PC32): Likewise.
16245 (R_X86_64_GOT32): Likewise.
16246 (R_X86_64_PLT32): Likewise.
16247 (R_X86_64_COPY): Likewise.
16248 (R_X86_64_GLOB_DAT): Likewise.
16249 (R_X86_64_JUMP_SLOT): Likewise.
16250 (R_X86_64_RELATIVE): Likewise.
16251 (R_X86_64_GOTPCREL): Likewise.
16252 (R_X86_64_32): Likewise.
16253 (R_X86_64_32S): Likewise.
16254 (R_X86_64_16): Likewise.
16255 (R_X86_64_PC16): Likewise.
16256 (R_X86_64_8): Likewise.
16257 (R_X86_64_PC8): Likewise.
16258
16259 * include/grub/i386/efi/pci.h: New file.
16260
16261 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
16262 Change it value based on platform.
16263 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
16264 (GRUB_E820_RAM): Likewise.
16265 (GRUB_E820_RESERVED): Likewise.
16266 (GRUB_E820_ACPI): Likewise.
16267 (GRUB_E820_NVS): Likewise.
16268 (GRUB_E820_EXEC_CODE): Likewise.
16269 (GRUB_E820_MAX_ENTRY): Likewise.
16270 (grub_e820_mmap): New structure.
16271 (linux_kernel_header): Change the efi field according to different
16272 kernel version, also field from linux_kernel_header.
16273
16274 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
16275
16276 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
16277 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
16278 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
16279 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
16280 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
16281 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
16282 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
16283 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
16284 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
16285 (GRUB_PCI_ADDR_IO_MASK): Likewise.
16286
16287 * include/grub/x86_64/efi/kernel.h: New file.
16288
16289 * include/grub/x86_64/efi/loader.h: Likewise.
16290
16291 * include/grub/x86_64/efi/machine.h: Likewise.
16292
16293 * include/grub/x86_64/efi/pci.h: Likewise.
16294
16295 * include/grub/x86_64/efi/time.h: Likewise.
16296
16297 * include/grub/x86_64/linux.h: Likewise.
16298
16299 * include/grub/x86_64/setjmp.h: Likewise.
16300
16301 * include/grub/x86_64/time.h: Likewise.
16302
16303 * include/grub/x86_64/types.h: Likewise.
16304
16305 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
16306 GRUB_TARGET_SIZEOF_VOID_P.
16307
16308 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
16309 (grub_efi_locate_handle): Likewise.
16310 (grub_efi_open_protocol): Likewise.
16311 (grub_efi_set_text_mode): Likewise.
16312 (grub_efi_stall): Likewise.
16313 (grub_exit): Likewise.
16314 (grub_reboot): Likewise.
16315 (grub_halt): Likewise.
16316 (grub_efi_exit_boot_services): Likewise.
16317 (grub_get_rtc): Likewise.
16318
16319 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
16320 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
16321 (grub_efi_allocate_pages): Wrap efi calls.
16322 (grub_efi_free_pages): Wrap efi calls.
16323 (grub_efi_get_memory_map): Wrap efi calls.
16324
16325 * kern/x86_64/dl.c: New file.
16326
16327 * kern/x86_64/efi/callwrap.S: Likewise.
16328
16329 * kern/x86_64/efi/startup.S: Likewise.
16330
16331 * loader/efi/appleloader.c: Likewise.
16332
16333 * loader/efi/chainloader.c (cmdline): New variable.
16334 (grub_chainloader_unload): Wrap efi calls.
16335 (grub_chainloader_boot): Likewise.
16336 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
16337 command line.
16338
16339 * loader/efi/chainloader_normal.c (chainloader_command):
16340 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
16341 command line.
16342
16343 * loader/i386/efi/linux.c (allocate_pages): Change allocation
16344 method.
16345 (grub_e820_add_region): New function.
16346 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
16347 booting.
16348 (grub_find_video_card): New function.
16349 (grub_linux_setup_video): New function.
16350 (grub_rescue_cmd_linux): Probe for video information.
16351
16352 * normal/x86_64/setjmp.S: New file.
16353
16354 * term/efi/console.c (map_char): New function.
16355 (grub_console_putchar): Map unicode char.
16356 (grub_console_checkkey): Wrap efi calls.
16357 (grub_console_getkey): Likewise.
16358 (grub_console_getwh): Likewise.
16359 (grub_console_gotoxy): Likewise.
16360 (grub_console_cls): Likewise.
16361 (grub_console_setcolorstate): Likewise.
16362 (grub_console_setcursor): Likewise.
16363
16364 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
16365
16366 2008-07-16 Pavel Roskin <proski@gnu.org>
16367
16368 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
16369 format strings.
16370
16371 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
16372 pointer, not an integer. This fixes a warning and prevents
16373 precision loss on 64-bit systems.
16374 (relocate_addresses): Remove unneeded cast.
16375
16376 2008-07-15 Pavel Roskin <proski@gnu.org>
16377
16378 * kern/i386/ieee1275/init.c: Include grub/cache.h.
16379
16380 * term/ieee1275/ofconsole.c: Disable code unused on i386.
16381
16382 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
16383 Fix comparison between signed and unsigned.
16384
16385 * include/grub/i386/ieee1275/console.h: Declare
16386 grub_console_init() and grub_console_fini().
16387
16388 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
16389 It's empty and unused.
16390
16391 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
16392 beginning to avoid warnings with some compilers.
16393
16394 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
16395 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
16396
16397 2008-07-14 Pavel Roskin <proski@gnu.org>
16398
16399 * kern/env.c (grub_register_variable_hook): Don't copy empty
16400 string, it leaks memory. Pass "" to grub_env_set(), it should
16401 handle constant strings.
16402
16403 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
16404 * commands/cmp.c (grub_cmd_cmp): Likewise.
16405 * kern/dl.c (grub_dl_flush_cache): Likewise.
16406 (grub_dl_load_core): Likewise.
16407 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
16408 (grub_elf64_load_phdrs): Likewise.
16409
16410 2008-07-13 Pavel Roskin <proski@gnu.org>
16411
16412 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
16413 between signed and unsigned.
16414 (LzmaEnc_Finish): Fix warning about an unused parameter.
16415
16416 2008-07-13 Bean <bean123ch@gmail.com>
16417
16418 * Makefile.in (enable_lzo): New rule.
16419
16420 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
16421
16422 * configure.ac (ENABLE_LZO): New option --enable-lzo.
16423
16424 * boot/i386/pc/lnxboot.S: #include <config.h>.
16425
16426 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
16427 its value according to the compression algorithm used, lzo or lzma.
16428
16429 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
16430 compression algorithm according to configure macro.
16431
16432 * kern/i386/pc/startup.S (codestart): Likewise.
16433
16434 * kern/i386/pc/lzma_decode.S: New file.
16435
16436 * include/grub/lib/LzFind.h: Likewise.
16437
16438 * include/grub/lib/LzHash.h: Likewise.
16439
16440 * include/grub/lib/LzmaDec.h: Likewise.
16441
16442 * include/grub/lib/LzmaEnc.h: Likewise.
16443
16444 * include/grub/lib/LzmaTypes.h: Likewise.
16445
16446 * lib/LzFind.c: Likewise.
16447
16448 * lib/LzmaDec.c: Likewise.
16449
16450 * lib/LzmaEnc.c: Likewise.
16451
16452 2008-07-13 Bean <bean123ch@gmail.com>
16453
16454 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
16455 (grub_ext4_extent_header): New structure.
16456 (grub_ext4_extent): Likewise.
16457 (grub_ext4_extent_idx): Likewise.
16458 (grub_ext4_find_leaf): New function.
16459 (grub_ext2_read_block): Handle extents.
16460
16461 2008-07-12 Robert Millan <rmh@aybabtu.com>
16462
16463 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
16464
16465 2008-07-11 Robert Millan <rmh@aybabtu.com>
16466
16467 * util/grub.d/40_custom.in: New file. Example on how to add custom
16468 entries to /etc/grub.d.
16469 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
16470 40_custom (implicitly, by merging all the grub.d rules).
16471
16472 2008-07-11 Pavel Roskin <proski@gnu.org>
16473
16474 * commands/read.c (grub_getline): Fix invalid memory access.
16475 Don't add newline to the variable value.
16476
16477 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
16478 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
16479 (serial_hw_get_port): Check validity of the port number.
16480 (grub_cmd_serial): Check return value of serial_hw_get_port().
16481
16482 2008-07-07 Pavel Roskin <proski@gnu.org>
16483
16484 * boot/i386/pc/diskboot.S (notification_string): Replace
16485 "Loading kernel" with just "loading". This is shorter, less
16486 confusing and saves a few bytes for possible future changes.
16487
16488 2008-07-05 Pavel Roskin <proski@gnu.org>
16489
16490 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
16491 size for ATAPI devices, they are undefined. Output sector
16492 number in decimal form.
16493
16494 * disk/ata.c: Use named constants for status bits.
16495
16496 2008-07-04 Pavel Roskin <proski@gnu.org>
16497
16498 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
16499 grub_addr_t before casting it to the void pointer to fix a
16500 warning. Non-addressable regions are discarded earlier.
16501 (grub_arch_modules_addr): Cast _end to grub_addr_t.
16502 * kern/i386/linuxbios/table.c: Include grub/misc.h.
16503 (check_signature): Don't shadow table_header.
16504 (grub_linuxbios_table_iterate): Cast numeric constants to
16505 grub_linuxbios_table_header_t.
16506 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
16507 grub_stop().
16508
16509 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
16510 prevent warnings.
16511
16512 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
16513 pointer, which can cause warnings. Support 64-bit addresses.
16514
16515 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
16516 of sizeof(long). This fixes PowerPC image generation on x86_64.
16517
16518 2008-07-04 Robert Millan <rmh@aybabtu.com>
16519
16520 This fixes a performance issue when pc & gpt partmap iterators
16521 didn't abort iteration even after our hook found what it was
16522 looking for (often causing expensive probes of non-existent drives).
16523
16524 Some callers relied on previous buggy behaviour, since they would
16525 raise an error when their own hooks caused early abortion of its
16526 iteration.
16527
16528 * kern/device.c (grub_device_open): Improve error message.
16529 * disk/lvm.c (grub_lvm_open): Likewise.
16530 * disk/raid.c (grub_raid_open): Likewise.
16531
16532 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
16533 when hook requests it, independently of grub_errno.
16534 (pc_partition_map_probe): Do not fail when find_func() caused
16535 early abortion of pc_partition_map_iterate().
16536
16537 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
16538 when hook requests it, independently of grub_errno.
16539 (gpt_partition_map_probe): Do not fail when find_func() caused
16540 early abortion of gpt_partition_map_iterate().
16541
16542 * kern/partition.c (grub_partition_iterate): Abort parent iteration
16543 when hook requests it, independently of grub_errno. Do not fail when
16544 part_map_iterate_hook() caused early abortion of p->iterate().
16545
16546 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
16547 when grub_partition_iterate() returned with non-zero.
16548
16549 2008-07-03 Pavel Roskin <proski@gnu.org>
16550
16551 * disk/ata.c (grub_ata_pio_write): Check status before writing,
16552 like we do in grub_ata_pio_read().
16553 (grub_ata_readwrite): Always write individual sectors. Fix the
16554 sector count for the remainder.
16555 (grub_ata_write): Enable writing to ATA devices. Correctly
16556 report error for ATAPI devices.
16557
16558 2008-07-02 Pavel Roskin <proski@gnu.org>
16559
16560 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
16561 warning.
16562
16563 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
16564 for every read sector, we already increment it for the whole
16565 batch. This fixes reading more than 256 sectors at once.
16566
16567 * util/grub-editenv.c (cmd_info): Cast argument to long
16568 explicitly. ptrdiff_t reduces to int on i386.
16569
16570 * util/grub-editenv.c (main): Be specific which parameter is
16571 missing.
16572
16573 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
16574 (memdisk): Make memdisk_orig_addr a pointer.
16575
16576 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
16577 for file offsets, use grub_off_t instead. Fix printf format
16578 warnings.
16579
16580 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
16581 there. Real unexpected warnings should not drown in the noise
16582 about known problems.
16583
16584 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
16585 grub_disk_addr_t for memory addresses.
16586
16587 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
16588 explicitly to fix a warning.
16589
16590 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
16591
16592 * Makefile.in (MODULE_LDFLAGS): New variable.
16593 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
16594 the linker accepts --build-id=none.
16595 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
16596 MODULE_LDFLAGS.
16597 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
16598
16599 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
16600 those in Linux XFS code. Provide a way to access 64-bit parent
16601 inode.
16602 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
16603 the end of struct grub_xfs_dir_header.
16604
16605 2008-07-02 Bean <bean123ch@gmail.com>
16606
16607 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
16608 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
16609 and GRUB_IEEE1275_FLAG_NO_ANSI.
16610
16611 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
16612 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
16613 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
16614
16615 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
16616 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
16617
16618 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
16619 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
16620
16621 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
16622 esc sequence on non ANSI terminal.
16623 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
16624
16625 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
16626 beginning of file.
16627
16628 2008-07-02 Bean <bean123ch@gmail.com>
16629
16630 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
16631 (grub_editenv_SOURCES): New variable.
16632 (pkglib_MODULES): Add loadenv.mod.
16633 (loadenv_mod_SOURCES): New variable.
16634 (loadenv_mod_CFLAGS): Likewise.
16635 (loadenv_mod_LDFLAGS): Likewise.
16636
16637 * include/grub/envblk.h: New file.
16638
16639 * util/envblk.c: New file.
16640
16641 * util/grub-editenv.c: New file.
16642
16643 * commands/loadenv.c: New file.
16644
16645 2008-07-01 Pavel Roskin <proski@gnu.org>
16646
16647 * include/multiboot2.h (struct multiboot_tag_module): Use char,
16648 not unsigned char. This fixes warnings and is consistent with
16649 other tags.
16650
16651 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
16652
16653 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
16654
16655 * term/tparm.c (analyze): Always set *popcount.
16656
16657 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
16658 cast to fix a warning.
16659
16660 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
16661 cast to suppress a warning.
16662
16663 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
16664 grub_fshelp_read_file() expects.
16665
16666 * fs/fat.c: Fix UUID calculation on big-endian systems. We
16667 write uuid as a 32-bit value in CPU byte order, so declare and
16668 use it as such.
16669
16670 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
16671 long if the format specifier expects it.
16672 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
16673 * partmap/pc.c (pc_partition_map_iterate): Likewise.
16674 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
16675 long to fix a warning.
16676 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
16677 grub_dprintf() arguments to fix warnings.
16678
16679 2008-06-30 Pavel Roskin <proski@gnu.org>
16680
16681 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
16682 install_bsd_part immediately before core.img is embedded or
16683 modified on disk. This fixes core.img verification if core.img
16684 cannot be embedded.
16685
16686 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
16687 core_path to calculate the blocklist.
16688 Patch from Javier Martín <lordhabbit@gmail.com>
16689
16690 2008-06-29 Robert Millan <rmh@aybabtu.com>
16691
16692 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
16693 block to disk block.
16694 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
16695 Patch from Niels Böhm <bitbucket@arcor.de>
16696
16697 2008-06-29 Robert Millan <rmh@aybabtu.com>
16698
16699 * util/update-grub_lib.in (font_path): Search for fonts in
16700 /boot/grub first, which is more likely to be readable (we aren't
16701 deciding where fonts live, just looking for them).
16702
16703 2008-06-26 Pavel Roskin <proski@gnu.org>
16704
16705 * util/biosdisk.c (read_device_map): Don't leave dead map
16706 entries for devices failing stat() check.
16707
16708 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
16709 core_path_dev for the core.img path on the target device.
16710
16711 2008-06-26 Robert Millan <rmh@aybabtu.com>
16712
16713 * disk/fs_uuid.c: New file.
16714 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
16715 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
16716 (fs_uuid_mod_LDFLAGS): New variables.
16717 * include/grub/disk.h (grub_disk_dev_id): Add
16718 `GRUB_DISK_DEVICE_UUID_ID'.
16719 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
16720 implement iterate().
16721
16722 2008-06-26 Robert Millan <rmh@aybabtu.com>
16723
16724 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
16725 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
16726 Linux image includes no initrd.
16727
16728 2008-06-21 Javier Martín <lordhabbit@gmail.com>
16729
16730 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
16731 call to resolve the core image location that effectively appended the
16732 name twice.
16733
16734 2008-06-21 Robert Millan <rmh@aybabtu.com>
16735
16736 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
16737 call from here ...
16738
16739 * util/grub.d/10_hurd.in: ... to here ...
16740 * util/grub.d/10_linux.in: ... and here.
16741
16742 2008-06-19 Robert Millan <rmh@aybabtu.com>
16743
16744 * kern/main.c (grub_main): Export `prefix' variable immediately
16745 after it has been set by grub_machine_set_prefix().
16746
16747 2008-06-19 Robert Millan <rmh@aybabtu.com>
16748
16749 * commands/search.c (search_label, search_fs_uuid, search_file): Print
16750 search result when not saving to variable, not the other way around.
16751 When saving to variable, abort iteration as soon as a match is found.
16752
16753 2008-06-19 Robert Millan <rmh@aybabtu.com>
16754
16755 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
16756 check for partition that provides /boot/grub. Its logic is flawed,
16757 as it prevents prepare_grub_to_access_device() from being called
16758 multiple times.
16759
16760 2008-06-19 Robert Millan <rmh@aybabtu.com>
16761
16762 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
16763 "insmod" command directly when abstraction modules are needed,
16764 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
16765 since it had already been processed).
16766
16767 2008-06-19 Pavel Roskin <proski@gnu.org>
16768
16769 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
16770 changed. This is needed in case GRUB_LIBDIR changes.
16771 * conf/i386-ieee1275.rmk: Likewise.
16772 * conf/i386-linuxbios.rmk: Likewise.
16773 * conf/i386-pc.rmk: Likewise.
16774 * conf/powerpc-ieee1275.rmk: Likewise.
16775
16776 2008-06-18 Pavel Roskin <proski@gnu.org>
16777
16778 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
16779 kernel_elf_symlist.c to symlist.c for consistency with other
16780 architectures. Update all users.
16781 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16782
16783 2008-06-18 Robert Millan <rmh@aybabtu.com>
16784
16785 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
16786 it in prefix.
16787
16788 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
16789 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
16790 a RAID device, run setup() for all members independently on whether
16791 LVM abstraction is being used.
16792 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
16793 If grub-mkimage has set `*install_dos_part == -2', don't override this
16794 value.
16795 Perform *install_dos_part adjustments independently on whether
16796 we're embedding or not.
16797 Clarify error message when image is too big for embedding.
16798 Remove duplicate *install_dos_part stanza.
16799
16800 2008-06-17 Robert Millan <rmh@aybabtu.com>
16801
16802 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
16803 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
16804 variables.
16805 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
16806 values in grub_ofconsole_normal_color and
16807 grub_ofconsole_highlight_color (they're not directly related to
16808 background and foreground).
16809 (grub_ofconsole_setcolorstate): Extract background and foreground
16810 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
16811
16812 2008-06-17 Robert Millan <rmh@aybabtu.com>
16813
16814 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
16815 /boot/grub for the check in last commit, not /boot (they could be
16816 different partitions).
16817
16818 2008-06-16 Robert Millan <rmh@aybabtu.com>
16819
16820 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
16821 asked to setup access for the same partition that provides /boot,
16822 don't bother using UUIDs since our root already has the value we
16823 want.
16824
16825 2008-06-16 Robert Millan <rmh@aybabtu.com>
16826
16827 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
16828 I2O devices.
16829 Patch from Sven Mueller <sven@debian.org>.
16830
16831 2008-06-16 Robert Millan <rmh@aybabtu.com>
16832
16833 * util/update-grub.in: Check for $EUID instead of $UID.
16834 Reported by Vincent Zweije.
16835
16836 2008-06-16 Bean <bean123ch@gmail.com>
16837
16838 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
16839 (grub_ext2_read_block): Likewise.
16840 (grub_ext2_read_inode): Likewise.
16841 (grub_ext2_mount): Likewise.
16842 (grub_ext2_close): Likewise.
16843 (grub_ext3_get_journal): Removed.
16844
16845 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
16846 (grub_reiserfs_read_symlink): Likewise.
16847 (grub_reiserfs_mount): Likewise.
16848 (grub_reiserfs_open): Likewise.
16849 (grub_reiserfs_read): Likewise.
16850 (grub_reiserfs_close): Likewise.
16851 (grub_reiserfs_get_journal): Removed.
16852
16853 * fs/fshelp.c (grub_fshelp_read): Removed.
16854 (grub_fshelp_map_block): Likewise.
16855
16856 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
16857 (grub_fshelp_journal): Likewise.
16858 (grub_fshelp_read): Likewise.
16859 (grub_fshelp_map_block): Likewise.
16860
16861 2008-06-16 Pavel Roskin <proski@gnu.org>
16862
16863 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
16864 floating point anymore.
16865 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
16866
16867 2008-06-15 Pavel Roskin <proski@gnu.org>
16868
16869 * commands/ls.c (grub_ls_list_files): Use integer calculations
16870 for human readable format, avoid floating point use.
16871 * kern/misc.c (grub_ftoa): Remove.
16872 (grub_vsprintf): Remove floating point support.
16873
16874 2008-06-15 Robert Millan <rmh@aybabtu.com>
16875
16876 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
16877 devices.
16878 Reported by Max Vozeler.
16879
16880 2008-06-15 Robert Millan <rmh@aybabtu.com>
16881
16882 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
16883 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
16884 skipped later.
16885 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
16886 the beginning of the prefix.
16887
16888 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
16889 It is assumed that if we have a memdisk, grub-mkimage has set
16890 grub_prefix to include the "(memdisk)" drive in it.
16891
16892 2008-06-15 Robert Millan <rmh@aybabtu.com>
16893
16894 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
16895 Initialize keyboard controller after registering the terminal, so that
16896 grub_printf() can be called from grub_keyboard_controller_init().
16897
16898 2008-06-15 Robert Millan <rmh@aybabtu.com>
16899
16900 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
16901 extent-btree which is written as big endian on disk.
16902 Reported by Alain Greppin <al@chilibi.org>.
16903
16904 2008-06-14 Robert Millan <rmh@aybabtu.com>
16905
16906 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
16907 * util/i386/pc/grub-install.in (modules): Likewise.
16908
16909 2008-06-13 Pavel Roskin <proski@gnu.org>
16910
16911 * commands/ls.c (grub_ls_list_files): Fix format warnings.
16912
16913 2008-06-13 Bean <bean123ch@gmail.com>
16914
16915 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
16916
16917 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
16918
16919 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
16920 to indicate sparse block.
16921
16922 2008-06-12 Pavel Roskin <proski@gnu.org>
16923
16924 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
16925 number, grub_fshelp_read() does it for us.
16926
16927 * fs/fshelp.c (grub_fshelp_read): New function. Implement
16928 linear disk read with journal translation.
16929 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
16930 * include/grub/fshelp.h: Declare grub_fshelp_read().
16931
16932 2008-06-09 Pavel Roskin <proski@gnu.org>
16933
16934 * fs/minix.c (grub_minix_mount): Handle error reading
16935 superblock.
16936
16937 2008-06-08 Robert Millan <rmh@aybabtu.com>
16938
16939 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
16940 don't append the RAID prefix afterwards.
16941 Reported by Clint Adams.
16942
16943 2008-06-08 Robert Millan <rmh@aybabtu.com>
16944
16945 Based on description from Pavel:
16946 * kern/disk.c (grub_disk_check_range): Rename to ...
16947 (grub_disk_adjust_range): ... this. Add a comment explaining the
16948 tasks performed by this function.
16949
16950 2008-06-08 Robert Millan <rmh@aybabtu.com>
16951
16952 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
16953 `num_serial' (for consistency with other variables).
16954 (struct grub_ntfs_data): Add `uuid' member.
16955 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
16956 (grub_ntfs_uuid): New function.
16957 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
16958
16959 2008-06-07 Pavel Roskin <proski@gnu.org>
16960
16961 * util/biosdisk.c (open_device): Revert last change to the
16962 function, it broke installation. The sector needs to be
16963 different dependent on which device is opened.
16964
16965 2008-06-06 Robert Millan <rmh@aybabtu.com>
16966
16967 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
16968 rest of GRUB, and breakage doesn't happen if its value were modified.
16969
16970 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
16971 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
16972 a constant (same value).
16973 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
16974 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
16975
16976 2008-06-06 Robert Millan <rmh@aybabtu.com>
16977
16978 * util/biosdisk.c (open_device): Do not modify sector offset when
16979 accessing a partition. kern/disk.c already handles this for us.
16980
16981 2008-06-06 Robert Millan <rmh@aybabtu.com>
16982
16983 * util/grub-emu.c (grub_machine_init): Move code in this function from
16984 here ...
16985 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
16986 segfault in case grub_printf() is called).
16987
16988 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
16989 grub_probe. Update all users not to explicitly add it again.
16990 (grub_device): New variable; contains corresponding device for grubdir.
16991 (fs_module, partmap_module, devabstraction_module): Pass
16992 `--device ${grub_device}' to grub_probe to avoid traversing /dev
16993 every time.
16994
16995 2008-06-05 Robert Millan <rmh@aybabtu.com>
16996
16997 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
16998 is found, print it (same layout as with labels).
16999
17000 2008-06-04 Robert Millan <rmh@aybabtu.com>
17001
17002 * util/biosdisk.c (get_drive): Rename to ...
17003 (find_grub_drive): ... this. Update all users.
17004
17005 (get_os_disk): Rename to ...
17006 (convert_system_partition_to_system_disk): ... this. Update all users.
17007
17008 (find_drive): Rename to ...
17009 (find_system_device): ... this. Update all users.
17010
17011 2008-06-04 Robert Millan <rmh@aybabtu.com>
17012
17013 * util/biosdisk.c (get_os_disk): Handle IDA devices.
17014 * util/grub-mkdevicemap.c (get_mmc_disk_name)
17015 (make_device_map): Likewise.
17016
17017 2008-06-01 Robert Millan <rmh@aybabtu.com>
17018
17019 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
17020 before dereferencing it.
17021
17022 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
17023 union with fat12/fat16-specific ones. Add some new fields, including
17024 `num_serial' for both versions.
17025 (struct grub_fat_data): Add `uuid' member.
17026 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
17027 names. Initialize `data->uuid' using `num_serial'.
17028 (grub_fat_uuid): New function.
17029 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
17030
17031 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
17032 (grub_reiserfs_uuid): New function.
17033 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
17034 member.
17035
17036 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
17037 (grub_xfs_uuid): New function.
17038 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
17039
17040 2008-06-01 Robert Millan <rmh@aybabtu.com>
17041
17042 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
17043 code that is backward compatible with pre-uuid search command.
17044
17045 2008-05-31 Robert Millan <rmh@aybabtu.com>
17046
17047 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
17048 floppies after everything else, to ensure floppy drive isn't accessed
17049 unnecessarily (patch from Bean).
17050
17051 2008-05-31 Robert Millan <rmh@aybabtu.com>
17052
17053 * commands/search.c (search_label, search_fs_uuid, search_file): Do
17054 not print device names when we were asked to set a variable.
17055
17056 2008-05-31 Robert Millan <rmh@aybabtu.com>
17057
17058 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
17059 using "cursor-on" and "cursor-off" commands (understood at least by
17060 the Open Firmware flavour on OLPC).
17061
17062 2008-05-31 Michael Gorven <michael@gorven.za.net>
17063
17064 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
17065 on and off sequences.
17066
17067 2008-05-31 Robert Millan <rmh@aybabtu.com>
17068
17069 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
17070 * util/update-grub.in: Likewise.
17071
17072 2008-05-30 Pavel Roskin <proski@gnu.org>
17073
17074 * util/biosdisk.c (linux_find_partition): Simplify logic and
17075 make the code more universal. Keep special processing for
17076 devfs, but use a simple rule for all other devices. If the
17077 device ends with a number, append 'p' and the partition number.
17078 Otherwise, append only the partition number.
17079
17080 2008-05-30 Robert Millan <rmh@aybabtu.com>
17081
17082 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
17083 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
17084 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
17085 the `root' parameter to Linux.
17086
17087 2008-05-30 Robert Millan <rmh@aybabtu.com>
17088
17089 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
17090 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
17091 --fs_uuid with --fs-uuid.
17092 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
17093 all filesystems support them).
17094
17095 2008-05-30 Robert Millan <rmh@aybabtu.com>
17096
17097 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
17098 grub_printf() flags, since we're printing in units of 2 bytes.
17099
17100 2008-05-30 Robert Millan <rmh@aybabtu.com>
17101
17102 * util/grub.d/00_header.in: Remove obsolete comment referencing
17103 convert_system_path_to_grub_path().
17104 * util/update-grub.in: Likewise.
17105 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
17106 (convert_system_path_to_grub_path): Add a warning message explaining
17107 that this function is deprecated. Rely on is_path_readable_by_grub()
17108 for the readability checks.
17109 (font_path): Use is_path_readable_by_grub() for the readability
17110 check rather than convert_system_path_to_grub_path().
17111
17112 2008-05-30 Robert Millan <rmh@aybabtu.com>
17113
17114 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
17115 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
17116 converting it first.
17117 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
17118 grub.cfg for access to font file, and afterwards call it again to set
17119 the root device.
17120
17121 2008-05-30 Robert Millan <rmh@aybabtu.com>
17122
17123 * commands/search.c (options): Add --fs_uuid option.
17124 (search_fs_uuid): New function.
17125 (grub_cmd_search): Fix --set argument passing.
17126 Use search_fs_uuid() when requested via --fs_uuid.
17127 (grub_search_init): Update help message.
17128 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
17129 and redeclare it as an array of 16-bit words.
17130 (grub_ext2_uuid): New function.
17131 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
17132 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
17133 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
17134 (GRUB_DEVICE_BOOT_UUID): New variables.
17135 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
17136 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
17137 whenever possible.
17138 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
17139 just assume `root' variable has the right value.
17140 * util/grub.d/10_linux.in: Likewise.
17141 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
17142 via PRINT_FS_UUID.
17143 (main): Recognise `-t fs_uuid' argument.
17144
17145 2008-05-30 Robert Millan <rmh@aybabtu.com>
17146
17147 * util/biosdisk.c (map): Redefine structure to hold information
17148 about GRUB drive name.
17149 (get_drive): Reimplement without assuming (and verifying) BIOS-like
17150 drive names.
17151 (call_hook): Remove.
17152 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
17153 member. Assume drive has partitions.
17154 (grub_util_biosdisk_open): Access device names via `.device' struct
17155 member.
17156 (open_device): Likewise.
17157 (find_drive): Likewise.
17158 (read_device_map): Adjust map[] usage to match the new struct
17159 definition. Don't check for duplicates (still possible, but not cheap
17160 anymore).
17161 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
17162 (make_device_name): Remove assumption of BIOS-like drive names.
17163
17164 2008-05-30 Pavel Roskin <proski@gnu.org>
17165
17166 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
17167 compiling execute.c doesn't need grub_script.tab.h anymore.
17168 (normal/command.c_DEPENDENCIES): Likewise.
17169 (normal/function.c_DEPENDENCIES): Likewise.
17170 * conf/i386-ieee1275.rmk: Likewise.
17171 * conf/i386-linuxbios.rmk: Likewise.
17172 * conf/i386-pc.rmk: Likewise.
17173 * conf/powerpc-ieee1275.rmk: Likewise.
17174 * conf/sparc64-ieee1275.rmk: Likewise.
17175
17176 2008-05-29 Pavel Roskin <proski@gnu.org>
17177
17178 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
17179 when scanning metadata for volume group name.
17180
17181 * include/grub/script.h: Don't include grub_script.tab.h. It's
17182 a generated file, which may only be included from the files with
17183 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
17184 use union YYSTYPE, as the later allows forward declaration.
17185 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
17186
17187 2008-05-29 Robert Millan <rmh@aybabtu.com>
17188
17189 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
17190 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
17191 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
17192 (grub_console_checkkey): Add grub_dprintf() call to report unknown
17193 scan codes.
17194
17195 2008-05-29 Robert Millan <rmh@aybabtu.com>
17196
17197 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
17198 control key combinations.
17199
17200 2008-05-29 Robert Millan <rmh@aybabtu.com>
17201
17202 * util/powerpc/ieee1275/grub-install.in: Move from here ...
17203 * util/ieee1275/grub-install.in: ... to here.
17204 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
17205 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
17206 (grub_install_SOURCES): Likewise.
17207
17208 2008-05-29 Robert Millan <rmh@aybabtu.com>
17209
17210 * fs/affs.c: Update copyright year.
17211 * fs/ext2.c: Likewise.
17212 * fs/fshelp.c: Likewise.
17213 * fs/hfsplus.c: Likewise.
17214 * fs/ntfs.c: Likewise.
17215 * fs/xfs.c: Likewise.
17216 * include/grub/fshelp.h: Likewise.
17217 * util/grub-mkdevicemap.c: Likewise.
17218
17219 2008-05-28 Robert Millan <rmh@aybabtu.com>
17220
17221 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
17222 might need to be fatfs to support some firmware implementations
17223 (e.g. OFW or EFI).
17224
17225 2008-05-28 Robert Millan <rmh@aybabtu.com>
17226
17227 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
17228 devices.
17229 * util/grub-mkdevicemap.c (get_mmc_disk_name)
17230 (make_device_map): Likewise.
17231
17232 2008-05-20 Bean <bean123ch@gmail.com>
17233
17234 * fs/fshelp.c (grub_fshelp_map_block): New function.
17235 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
17236 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
17237
17238 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
17239 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
17240 (grub_fshelp_journal): New structure.
17241 (grub_fshelp_map_block): New function prototype.
17242 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
17243 (grub_fshelp_map_block): Likewise.
17244
17245 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
17246 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
17247 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
17248 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
17249 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
17250 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
17251 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
17252 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
17253 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
17254 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
17255 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
17256 (grub_ext2_sblock): New members for journal support.
17257 (grub_ext3_journal_header): New structure.
17258 (grub_ext3_journal_revoke_header): Likewise.
17259 (grub_ext3_journal_block_tag): Likewise.
17260 (grub_ext3_journal_sblock): Likewise.
17261 (grub_fshelp_node): New members logfile and journal.
17262 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
17263 grub_fshelp_map_block to get real block number.
17264 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
17265 number.
17266 (grub_ext2_read_inode): Likewise.
17267 (grub_ext3_get_journal): New function.
17268 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
17269 (grub_ext2_close): Release memory used by journal.
17270
17271 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
17272 (REISERFS_MAGIC_DESC_BLOCK): New macro.
17273 (grub_reiserfs_transaction_header): Renamed to
17274 grub_reiserfs_description_block, replace field data with real_blocks.
17275 (grub_reiserfs_commit_block): New structure.
17276 (grub_reiserfs_data): New member journal.
17277 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
17278 number.
17279 (grub_reiserfs_read_symlink): Likewise.
17280 (grub_reiserfs_iterate_dir): Likewise.
17281 (grub_reiserfs_open): Likewise.
17282 (grub_reiserfs_read): Likewise.
17283 (grub_reiserfs_get_journal): New function.
17284 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
17285 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
17286 using grub_reiserfs_get_journal.
17287 (grub_reiserfs_close): Release memory used by journal.
17288
17289 * fs/affs.c (grub_affs_read_block): Change block type to
17290 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
17291
17292 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
17293
17294 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
17295
17296 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
17297
17298 * fs/udf.c (grub_udf_read_block): Change block type to
17299 grub_disk_addr_t. Use type cast to avoid warning.
17300
17301 * fs/xfs.c (grub_xfs_read_block): Likewise.
17302
17303 2008-05-16 Christian Franke <franke@computer.org>
17304
17305 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
17306 to ensure that break with ESC will always work.
17307 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
17308 Remove ESC from keyboard queue.
17309
17310 2008-05-16 Christian Franke <franke@computer.org>
17311
17312 * util/biosdisk.c: [__CYGWIN__] Add includes.
17313 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
17314 (get_os_disk): Move variable declarations to OS specific
17315 parts to avoid warning.
17316 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
17317 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
17318 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
17319 Cygwin.
17320 * util/getroot.c: [__CYGWIN__] Add includes.
17321 (strip_extra_slashes): Fix "/" case.
17322 [__CYGWIN__] (get_win32_path): New function.
17323 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
17324 [__CYGWIN__] (find_root_device): Disable.
17325 [__CYGWIN__] (get_bootsec_serial): New function.
17326 [__CYGWIN__] (find_cygwin_root_device): Likewise.
17327 [__linux__] (grub_guess_root_device): Add early returns to simplify
17328 structure.
17329 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
17330 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
17331 check for Linux only.
17332
17333 2008-05-15 Bean <bean123ch@gmail.com>
17334
17335 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
17336 keyboard hang problem in apple's intel mac.
17337
17338 2008-05-09 Robert Millan <rmh@aybabtu.com>
17339
17340 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
17341 devices.
17342 * util/grub-mkdevicemap.c (get_virtio_disk_name)
17343 (make_device_map): Likewise.
17344 Reported by Aurelien Jarno <aurel32@debian.org>
17345
17346 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
17347
17348 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
17349 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
17350 (make_device_map): Output entries for xvd type disks.
17351
17352 2008-05-07 Robert Millan <rmh@aybabtu.com>
17353
17354 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
17355 devices.
17356 * util/grub-mkdevicemap.c (get_cciss_disk_name)
17357 (make_device_map): Likewise.
17358 Reported by Roland Dreier <rdreier@cisco.com>
17359
17360 2008-05-07 Robert Millan <rmh@aybabtu.com>
17361
17362 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
17363 grub_strstr() call. Correct a few mistakes in failure path handling.
17364
17365 2008-05-06 Robert Millan <rmh@aybabtu.com>
17366
17367 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
17368 Do not print a trailing slash (therefore, the root directory is an
17369 empty string).
17370 (convert_system_path_to_grub_path): Do not remove trailing slash
17371 from make_system_path_relative_to_its_root() output.
17372
17373 * util/i386/pc/grub-install.in: Add trailing slash to output from
17374 make_system_path_relative_to_its_root().
17375
17376 2008-05-06 Robert Millan <rmh@aybabtu.com>
17377
17378 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
17379 ensures that output lines aren't intermangled with those sent to
17380 stderr (via grub_util_info()).
17381 * util/grub-probe.c (grub_refresh): Likewise.
17382 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
17383
17384 2008-05-05 Christian Franke <franke@computer.org>
17385
17386 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
17387 Add Cygwin device names.
17388 (get_ide_disk_name) [__CYGWIN__]: Likewise.
17389 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
17390 (check_device): Return error instead of success on empty name.
17391 (make_device_map): Move label inside linux specific code to
17392 prevent compiler warning.
17393
17394 2008-04-30 Robert Millan <rmh@aybabtu.com>
17395
17396 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
17397 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
17398 first boot option.
17399 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
17400
17401 2008-04-29 Robert Millan <rmh@aybabtu.com>
17402
17403 * docs/grub.cfg: New file (example GRUB configuration).
17404
17405 2008-04-26 Robert Millan <rmh@aybabtu.com>
17406
17407 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
17408 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
17409 and `disk/ieee1275/nand.c'.
17410
17411 2008-04-25 Bean <bean123ch@gmail.com>
17412
17413 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
17414 i386-linuxbios.
17415
17416 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
17417 change the buffer size to 4096 for cdrom device.
17418
17419 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
17420 and nand.mod.
17421 (_linux_mod_SOURCES): New variable.
17422 (_linux_mod_CFLAGS): Likewise.
17423 (_linux_mod_LDFLAGS): Likewise.
17424 (linux_mod_SOURCES): Likewise.
17425 (linux_mod_CFLAGS): Likewise.
17426 (linux_mod_LDFLAGS): Likewise.
17427 (nand_mod_SOURCES): Likewise.
17428 (nand_mod_CFLAGS): Likewise.
17429 (nand_mod_LDFLAGS): Likewise.
17430
17431 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
17432 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
17433 type property. (nand device in olpc don't have this property)
17434
17435 * include/grub/disk.h (grub_disk_dev_id): New macro
17436 GRUB_DISK_DEVICE_NAND_ID.
17437
17438 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
17439 function prototype.
17440 (grub_rescue_cmd_initrd): Likewise.
17441
17442 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
17443 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
17444 ofw_cif_handler and ofw_idt, adjust padding number.
17445
17446 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
17447 GRUB_MACHINE_IEEE1275 is defined.
17448
17449 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
17450 Use NESTED_FUNC_ATTR attribute on the hook parameter.
17451
17452 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
17453 on nested function heap_init.
17454 (grub_upper_mem): New variable for i386-ieee1275.
17455 (grub_get_extended_memory): New function for i386-ieee1275.
17456 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
17457
17458 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
17459 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
17460 property.
17461
17462 * loader/i386/ieee1275/linux.c: New file.
17463
17464 * loader/i386/ieee1275/linux_normal.c: New file.
17465
17466 * disk/ieee1275/nand.c: New file.
17467
17468 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
17469
17470 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
17471 value.
17472 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
17473
17474 2008-04-18 Robert Millan <rmh@aybabtu.com>
17475
17476 Restructures early code path on ieee1275 to unify grub_main() as
17477 the first C function that is executed in every platform.
17478
17479 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
17480 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
17481 cmain().
17482 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
17483 * kern/ieee1275/cmain.c (cmain): Rename to ...
17484 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
17485 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
17486 at the beginning.
17487
17488 2008-04-18 Robert Millan <rmh@aybabtu.com>
17489
17490 * util/update-grub.in: Fix syntax error when setting
17491 `GRUB_PRELOAD_MODULES'.
17492 Reported by Stephane Chazelas <stephane@artesyncp.com>
17493
17494 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
17495
17496 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
17497 section into account, newer toolchains generate unique build ids
17498 * configure.ac: remove the test for --build-id=none acceptance,
17499 we want build ids to be preserved
17500 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
17501 far from other sections don't cause the raw binary images grow
17502 size
17503
17504 2008-04-15 Robert Millan <rmh@aybabtu.com>
17505
17506 * disk/lvm.c: Update copyright year.
17507 * kern/misc.c: Likewise.
17508
17509 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
17510
17511 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
17512 there is no memory left for physical volume name.
17513
17514 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
17515
17516 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
17517 volume name mapping to support bigger than 9 character names properly.
17518
17519 2008-04-13 Robert Millan <rmh@aybabtu.com>
17520
17521 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
17522 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
17523
17524 2008-04-13 Christian Franke <franke@computer.org>
17525
17526 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
17527 to create a floppy emulation boot CD when non emulation mode
17528 does not work.
17529 Enable Joliet CD filesystem extension.
17530
17531 2008-04-13 Robert Millan <rmh@aybabtu.com>
17532
17533 * kern/misc.c (grub_strncat): Fix off-by-one error.
17534 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
17535
17536 * kern/env.c (grub_env_context_close): Clear current context, not
17537 previous one.
17538 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
17539
17540 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
17541
17542 2008-04-13 Robert Millan <rmh@aybabtu.com>
17543
17544 Improve robustness when handling LVM.
17545
17546 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
17547 (and leave `*p' unmodified).
17548 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
17549 through it.
17550 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
17551 iterating through it.
17552 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
17553 through it.
17554 (grub_lvm_scan_device): Check the return value (and fail gracefully
17555 when due) on each grub_lvm_getvalue() or grub_strstr() call.
17556 Don't assume `vg->pvs != NULL' when iterating through it.
17557
17558 2008-04-13 Robert Millan <rmh@aybabtu.com>
17559
17560 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
17561 * genmk.rb (partmap): New variable.
17562 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
17563 (#{partmap}): New target rule.
17564 * genpartmaplist.sh: New file.
17565 * Makefile.in (pkglib_DATA): Add partmap.lst.
17566 (partmap.lst): New target rule.
17567 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
17568 modules (including all partition maps), instead of preloading them.
17569
17570 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
17571
17572 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
17573 `linux-boot-prober' (if installed) to detect other operating
17574 systems which are installed on the computer and add them to
17575 the boot menu.
17576 * conf/common.rmk: Build and install 30_os-prober.
17577
17578 2008-04-12 Robert Millan <rmh@aybabtu.com>
17579
17580 * kern/powerpc/ieee1275/init.c: Move from here ...
17581 * kern/ieee1275/init.c: ... to here. Update all users.
17582
17583 * kern/powerpc/ieee1275/cmain.c: Move from here ...
17584 * kern/ieee1275/cmain.c: ... to here. Update all users.
17585
17586 * kern/powerpc/ieee1275/openfw.c: Move from here ...
17587 * kern/ieee1275/openfw.c: ... to here. Update all users.
17588
17589 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
17590 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
17591
17592 2008-04-10 Pavel Roskin <proski@gnu.org>
17593
17594 * configure.ac: Always use "_cv_" in cache variables for
17595 compatibility with Autoconf 2.62.
17596
17597 2008-04-07 Robert Millan <rmh@aybabtu.com>
17598
17599 Revert grub/machine/init.h addition by Pavel (since it breaks on
17600 i386-ieee1275 and others):
17601 * util/i386/pc/misc.c: Remove grub/machine/init.h.
17602 * util/powerpc/ieee1275/misc.c: Likewise.
17603
17604 2008-04-07 Robert Millan <rmh@aybabtu.com>
17605
17606 * util/grub-probe.c (probe): Improve error message.
17607
17608 2008-04-07 Robert Millan <rmh@aybabtu.com>
17609
17610 * util/biosdisk.c (read_device_map): Skip devices that don't exist
17611 (this prevents the presence of a bogus entry from ruining the whole
17612 thing).
17613
17614 2008-04-06 Pavel Roskin <proski@gnu.org>
17615
17616 * util/biosdisk.c: Include grub/util/biosdisk.h.
17617 * util/grub-fstest.c (execute_command): Make static.
17618 * util/grub-mkdevicemap.c (check_device): Likewise.
17619 * util/i386/pc/misc.c: Include grub/machine/init.h.
17620 * util/powerpc/ieee1275/misc.c: Likewise.
17621 * util/lvm.c: Include grub/util/lvm.h.
17622 * util/misc.c: Include grub/kernel.h, grub/misc.h and
17623 grub/cache.h.
17624 * util/raid.c: Include grub/util/raid.h.
17625 (grub_util_getdiskname): Make static.
17626
17627 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
17628 grub_hostfs_fini(), as they are called from grub_init_all() and
17629 grub_fini_all() respectively. This fixes an infinite loop in
17630 grub-fstest due to double registration of hostfs.
17631 Reported by Christian Franke <Christian.Franke@t-online.de>
17632
17633 2008-04-05 Pavel Roskin <proski@gnu.org>
17634
17635 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
17636 all 8 functions. Otherwise, probe function 0 only.
17637
17638 2008-04-04 Pavel Roskin <proski@gnu.org>
17639
17640 * commands/lspci.c (grub_lspci_iter): Print the bus number
17641 correctly.
17642
17643 * commands/lspci.c (grub_pci_classes): Fix typos.
17644 (grub_lspci_iter): Don't print func twice. Print vendor ID
17645 before device ID, as it's normally done.
17646
17647 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
17648 Fix signedness warnings.
17649 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
17650 Likewise.
17651 * util/ieee1275/get_disk_name.c: Include config.h so that
17652 _GNU_SOURCE is defined and getline() is declared. Mark an
17653 unused argument as such. Fix a signedness warning.
17654
17655 2008-04-02 Pavel Roskin <proski@gnu.org>
17656
17657 * genkernsyms.sh.in: Use more robust assignments for CC and
17658 srcdir. Quote srcdir.
17659 * gensymlist.sh.in: Likewise. Assert at the compile time that
17660 the symbol table is not empty.
17661
17662 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
17663 * fs/cpio.c (grub_cpio_read): Likewise.
17664
17665 2008-04-01 Pavel Roskin <proski@gnu.org>
17666
17667 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
17668 * disk/host.c (grub_host_open): Likewise.
17669 * disk/loopback.c (grub_loopback_open): Likewise.
17670 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
17671 disk->id as in disk/host.c, not a multi-character constant.
17672
17673 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
17674 later is obsolete, potentially dangerous and sets a bad example.
17675 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
17676 * util/misc.c (grub_util_get_image_size): Likewise.
17677
17678 * disk/loopback.c (options): Improve help for "--partitions".
17679
17680 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
17681 options to align them with the short options, e.g. "echo -e".
17682
17683 2008-03-31 Bean <bean123ch@gmail.com>
17684
17685 * video/reader/png.c (grub_png_data): New member is_16bit and
17686 image_data.
17687 (grub_png_decode_image_header): Detect 16 bit png image.
17688 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
17689 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
17690 (grub_video_reader_png): Release memory occupied by image_data.
17691
17692 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
17693 4096 bytes.
17694 (grub_nfs_mount): Skip the test for sector per cluster.
17695
17696 * include/grub/ntfs.h (MAX_SPC): Removed.
17697
17698 2008-03-31 Bean <bean123ch@gmail.com>
17699
17700 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
17701 (grub_probe_SOURCES): Add fs/afs.c.
17702 (grub_fstest_SOURCES): Likewise.
17703 (afs_mod_SOURCES): New variable.
17704 (afs_mod_CFLAGS): Likewise.
17705 (afs_mod_LDFLAGS): Likewise.
17706
17707 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
17708 (grub_emu_SOURCES): Likewise.
17709
17710 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17711
17712 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17713
17714 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17715
17716 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17717
17718 * fs/afs.c: New file.
17719
17720 2008-03-30 Pavel Roskin <proski@gnu.org>
17721
17722 * disk/host.c: Include grub/misc.h to fix a warning.
17723 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
17724 warnings about implicit declarations.
17725
17726 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
17727 variable.
17728 * include/grub/i386/loader.h: Change declaration of
17729 grub_linux_boot() to match what grub_loader_set() expects.
17730 * util/getroot.c (grub_guess_root_device): Return const char* to
17731 fix a warning.
17732 * util/grub-probe.c (probe): Fix a warning about uninitialized
17733 abstraction_name variable.
17734 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
17735 second argument as unused to fix a warning.
17736
17737 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
17738 missing grub_error() call.
17739
17740 * util/update-grub_lib.in: Define datarootdir, since Autoconf
17741 2.60 and newer uses it to define datadir.
17742
17743 * commands/sleep.c: Fix warning about implicit declaration.
17744 * disk/memdisk.c: Likewise.
17745 * loader/aout.c: Likewise.
17746 * loader/i386/bsd_normal.c: Likewise.
17747 * util/grub-probe.c: Likewise.
17748
17749 * commands/i386/cpuid.c (has_longmode): Make static.
17750 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
17751 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
17752
17753 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
17754 GDT. This is more robust, as %ds can change.
17755 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
17756 calling real_to_prot().
17757 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
17758
17759 2008-03-28 Pavel Roskin <proski@gnu.org>
17760
17761 * kern/i386/pc/startup.S: Assert that uncompressed functions
17762 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
17763 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
17764 code, as they push parts of the code (error handlers) beyond
17765 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
17766 code as correctness and size.
17767
17768 2008-03-28 Pavel Roskin <proski@gnu.org>
17769
17770 * kern/i386/pc/startup.S
17771 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
17772 data block address to the real mode, keep offset minimal. This
17773 works around a bug in AWARD BIOS on old Athlon systems, which
17774 makes CD detection hang.
17775
17776 2008-03-26 Pavel Roskin <proski@gnu.org>
17777
17778 * normal/color.c (grub_parse_color_name_pair): Make `name' a
17779 const.
17780 * include/grub/normal.h: Add grub_parse_color_name_pair()
17781 declaration.
17782
17783 2008-03-24 Bean <bean123ch@gmail.com>
17784
17785 * disk/i386/pc/biosdisk.c (cd_start): Removed.
17786 (cd_count): Removed.
17787 (cd_drive): New variable.
17788 (grub_biosdisk_get_drive): Don't check for (cdN) device.
17789 (grub_biosdisk_call_hook): Likewise.
17790 (grub_biosdisk_iterate): Change cdrom detection method.
17791 (grub_biosdisk_open): Replace cd_start with cd_drive.
17792 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
17793 detect cdrom device.
17794
17795 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
17796 Removed.
17797 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
17798 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
17799 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
17800 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
17801 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
17802 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
17803 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
17804 (grub_biosdisk_cdrp): New structure.
17805 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
17806
17807 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
17808
17809 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
17810 device.
17811
17812 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
17813 New function.
17814
17815 2008-03-20 Robert Millan <rmh@aybabtu.com>
17816
17817 Remove 2 TiB limit in ata.mod.
17818 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
17819 (grub_ata_dumpinfo): Print sector count with 0x%llx.
17820 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
17821 grub_uint64_t instead of grub_uint32_t.
17822
17823 2008-03-05 Bean <bean123ch@gmail.com>
17824
17825 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
17826 (grub_multiboot): Set boot device.
17827
17828 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
17829
17830 2008-03-02 Bean <bean123ch@gmail.com>
17831
17832 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
17833 symlink_buffer.
17834
17835 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
17836
17837 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
17838 texinfo.tex.
17839
17840 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
17841 modified.
17842
17843 * docs/fdl.texi: New file.
17844
17845 * docs/mdate-sh: New file. Copied from gnulib.
17846 * docs/texinfo.tex: Likewise.
17847
17848 * config.guess: Updated from gnulib.
17849 * install-sh: Likewise.
17850
17851 2008-02-28 Robert Millan <rmh@aybabtu.com>
17852
17853 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
17854 (aout_mod_SOURCES): New variable.
17855 (aout_mod_CFLAGS): Likewise.
17856 (aout_mod_LDFLAGS): Likewise.
17857
17858 * conf/i386-ieee1275.rmk: Likewise.
17859
17860 2008-02-28 Robert Millan <rmh@aybabtu.com>
17861
17862 * util/update-grub.in: Reorganise terminal validity check. Accept
17863 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
17864 Based on suggestion by Franklin PIAT.
17865
17866 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
17867
17868 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
17869 function.
17870 * util/getroot.c (grub_util_check_block_device): New function that
17871 returns the given argument if it is a block device and returns NULL else.
17872 * util/grub-probe.c (argument_is_device): New variable.
17873 (probe): Promote device_name from a variable to an argument. Receive
17874 device_name from grub_util_check_block_device() if path is NULL and from
17875 grub_guess_root_device() else. Do not free() device_name anymore.
17876 (options): Introduce new parameter '-d, --device'.
17877 (main): Add description of the new parameter to the help screen.
17878 Rename path variable to argument. Set argument_is_device if the '-d'
17879 option is given. Pass argument to probe() depending on
17880 argument_is_device.
17881
17882 2008-02-24 Bean <bean123ch@gmail.com>
17883
17884 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
17885 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
17886 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
17887 (GRUB_ISO9660_VOLDESC_PART): Likewise.
17888 (GRUB_ISO9660_VOLDESC_END): Likewise.
17889 (grub_iso9660_primary_voldesc): New member escape.
17890 (grub_iso9660_data): New member joliet.
17891 (grub_iso9660_convert_string): New function.
17892 (grub_iso9660_mount): Detect joliet extension.
17893 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
17894 (grub_iso9660_iso9660_label): Likewise.
17895
17896 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
17897 (grub_setup_SOURCES): Add fs/udf.c.
17898 (grub_fstest_SOURCES): Likewise.
17899 (udf_mod_SOURCES): New variable.
17900 (udf_mod_CFLAGS): Likewise.
17901 (udf_mod_LDFLAGS): Likewise.
17902
17903 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
17904 (grub_emu_SOURCES): Likewise.
17905
17906 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17907
17908 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17909
17910 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17911
17912 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17913
17914 * fs/udf.c: New file.
17915
17916 2008-02-24 Robert Millan <rmh@aybabtu.com>
17917
17918 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
17919 (normal/lexer.c_DEPENDENCIES): New variables.
17920 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
17921 (normal/lexer.c_DEPENDENCIES): Likewise.
17922 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
17923 (normal/lexer.c_DEPENDENCIES): Likewise.
17924 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
17925 (normal/lexer.c_DEPENDENCIES): Likewise.
17926 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
17927 (normal/lexer.c_DEPENDENCIES): Likewise.
17928 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
17929 (normal/lexer.c_DEPENDENCIES): Likewise.
17930
17931 2008-02-23 Robert Millan <rmh@aybabtu.com>
17932
17933 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
17934 since they were intended to be in hex. This didn't break previously
17935 because of a bug in gpt_partition_map_iterate() (see below).
17936
17937 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
17938 when checking the validity of GPT header.
17939 Remove `partno', since it always provides the same information as `i'.
17940
17941 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
17942
17943 * include/grub/efi/time.h: Fix a wrong comment.
17944
17945 2008-02-19 Pavel Roskin <proski@gnu.org>
17946
17947 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
17948 message.
17949
17950 2008-02-19 Bean <bean123ch@gmail.com>
17951
17952 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
17953 (aout_mod_SOURCES): New variable.
17954 (aout_mod_CFLAGS): Likewise.
17955 (aout_mod_LDFLAGS): Likewise.
17956 (_bsd_mod_SOURCES): New variable.
17957 (_bsd_mod_CFLAGS): Likewise.
17958 (_bsd_mod_LDFLAGS): Likewise.
17959 (bsd_mod_SOURCES): New variable.
17960 (bsd_mod_CFLAGS): Likewise.
17961 (bsd_mod_LDFLAGS): Likewise.
17962
17963 * include/grub/aout.h: New file.
17964
17965 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
17966
17967 * include/grub/i386/bsd.h: New file.
17968
17969 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
17970 to make it public.
17971
17972 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
17973 function is called, so that it's possible to change it inside the hook.
17974 (grub_elf64_load): Likewise.
17975 (grub_elf_file): Don't close the file if elf header is not found.
17976 (grub_elf_close): Close the file if grub_elf_file fails (The new
17977 grub_elf_file won't close it).
17978 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
17979 (grub_elf64_size): Likewise.
17980
17981 * kern/i386/loader.S (grub_unix_real_boot): New function.
17982
17983 * loader/aout.c: New file.
17984
17985 * loader/i386/bsd.c: New file.
17986
17987 * loader/i386/bsd_normal.c: New file.
17988
17989 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
17990
17991 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
17992 can test other formats.
17993
17994 2008-02-19 Robert Millan <rmh@aybabtu.com>
17995
17996 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
17997 (grub_gpt_partition_type_empty): Redefine with macro from
17998 `<grub/gpt_partition.h>'.
17999 (gpt_partition_map_iterate): Adjust partition type comparison.
18000
18001 Export `entry' as partmap-specific `part.data' struct.
18002 (grub_gpt_header, grub_gpt_partentry): Move from here ...
18003
18004 * include/grub/gpt_partition.h (grub_gpt_header)
18005 (grub_gpt_partentry): ... to here (new file).
18006
18007 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
18008
18009 (grub_gpt_partition_type_bios_boot): New const variable, defined
18010 with macro from `<grub/gpt_partition.h>'.
18011
18012 (setup): Replace `first_start' with `embed_region', which keeps
18013 track of the embed region (and is partmap-agnostic).
18014
18015 Replace find_first_partition_start() with find_usable_region(),
18016 which finds a usable region for embedding using partmap-specific
18017 knowledge (supports PC/MSDOS and GPT).
18018
18019 Fix all assumptions that the embed region start at sector 1, using
18020 `embed_region.start' from now on. Similarly, use `embed_region.end'
18021 rather than `first_start' to calculate available size.
18022
18023 In grub_util_info() message, replace "into after the MBR" with an
18024 indication of the specific sector our embed region starts at.
18025
18026 2008-02-19 Robert Millan <rmh@aybabtu.com>
18027
18028 * DISTLIST: Replace `commands/ieee1275/halt.c' and
18029 `commands/ieee1275/reboot.c' with `commands/halt.c' and
18030 `commands/reboot.c'.
18031 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
18032 (halt_mod_SOURCES): Likewise.
18033 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
18034 (halt_mod_SOURCES): Likewise.
18035
18036 2008-02-17 Christian Franke <franke@computer.org>
18037
18038 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
18039
18040 2008-02-17 Robert Millan <rmh@aybabtu.com>
18041
18042 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
18043 set `first_start' to 0 for non-PC/MSDOS partition maps.
18044
18045 2008-02-16 Robert Millan <rmh@aybabtu.com>
18046
18047 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
18048 do not assume partition map is PC/MSDOS before performing checks that
18049 are specific to that layout.
18050
18051 2008-02-13 Robert Millan <rmh@aybabtu.com>
18052
18053 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
18054 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
18055 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
18056
18057 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
18058
18059 * configure.ac: Only a cosmetic change on the handling of
18060 -fno-stack-protector.
18061
18062 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
18063
18064 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
18065 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
18066 reboot.c.
18067 (grub_install_SOURCES): Add halt.mod and reboot.mod.
18068 (halt_mod_SOURCES): New variable.
18069 (halt_mod_CFLAGS): Likewise.
18070 (halt_mod_LDFLAGS): Likewise.
18071 (reboot_mod_SOURCES): Likewise.
18072 (reboot_mod_CFLAGS): Likewise.
18073 (reboot_mod_LDFLAGS): Likewise.
18074
18075 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
18076 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
18077 reboot.c.
18078 (halt_mod_SOURCES): Likewise.
18079 (reboot_mod_SOURCES): Likewise.
18080
18081 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
18082 commands/i386/pc/reboot.c by commands/reboot.c.
18083 (reboot_mod_SOURCES): Likewise.
18084
18085 * commands/i386/pc/reboot.c: merge this file ...
18086
18087 * commands/ieee1275/reboot.c: ... and this file ...
18088
18089 * commands/reboot.c: ... to this file.
18090 Add some precompiler directive to include the correct header for
18091 each machine.
18092
18093 * commands/ieee1275/halt.c: move this file ...
18094
18095 * commands/halt.c: ... to here.
18096 Add some precompiler directive to include the correct header for
18097 each machine.
18098
18099 * include/grub/efi/efi.h (grub_reboot): New function declaration.
18100 (grub_halt): Likewise.
18101
18102 * kern/efi/efi.c (grub_reboot): New function.
18103 (grub_halt): Likewise.
18104
18105 2008-02-12 Robert Millan <rmh@aybabtu.com>
18106
18107 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
18108 /dev (like it is done for /dev/mapper). This doesn't provide support
18109 for EVMS, but at least it is now easy to identify the problem when it
18110 arises.
18111
18112 2008-02-11 Robert Millan <rmh@aybabtu.com>
18113
18114 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
18115 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
18116 comparing it with -1, not 0.
18117
18118 2008-02-10 Robert Millan <rmh@aybabtu.com>
18119
18120 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
18121 `disk/lvm.c'.
18122 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18123 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18124
18125 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
18126 `disk/lvm.c' to the end of the list.
18127 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18128 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18129
18130 2008-02-10 Robert Millan <rmh@aybabtu.com>
18131
18132 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
18133 grub_print_error() instead. This will let user know why we're entering
18134 rescue mode.
18135 Based on suggestions from Sam Morris.
18136
18137 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
18138
18139 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
18140 on remaining N args, instead of "--" arg N times.
18141
18142 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
18143
18144 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
18145 (fill_with_default_glyph): Changed to use unknown_glyph for fill
18146 pattern for unknown glyphs.
18147
18148 2008-02-09 Robert Millan <rmh@aybabtu.com>
18149
18150 * configure.ac: Probe for `help2man'.
18151 * Makefile.in (builddir): New variable.
18152 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
18153 or otherwise add a few flags/options to it.
18154 (install-local): For every executable utility or script that is
18155 installed, invoke $(HELP2MAN) to install a manpage based on --help
18156 output.
18157
18158 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
18159 that it doesn't prevent --help from working in build tree.
18160
18161 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
18162 with `bug-grub@gnu.org'.
18163 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
18164 * util/update-grub.in (usage): New function.
18165 Implement proper argument check, with support for --help and --version
18166 (as well as existing -y).
18167
18168 2008-02-09 Christian Franke <franke@computer.org>
18169
18170 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
18171 avoid overwriting previous output.
18172 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
18173
18174 2008-02-09 Robert Millan <rmh@aybabtu.com>
18175
18176 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
18177 drawing the menu.
18178
18179 2008-02-09 Robert Millan <rmh@aybabtu.com>
18180
18181 * commands/sleep.c: New file.
18182 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
18183 (sleep_mod_SOURCES): New variable.
18184 (sleep_mod_CFLAGS): Likewise.
18185 (sleep_mod_LDFLAGS): Likewise.
18186
18187 2008-02-09 Robert Millan <rmh@aybabtu.com>
18188
18189 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
18190 situations in which we can deduce the RAID size and the superblock
18191 doesn't match it.
18192
18193 2008-02-09 Robert Millan <rmh@aybabtu.com>
18194
18195 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
18196 and return a grub_diskmemberlist_t composed of LVM physical volumes.
18197 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
18198
18199 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
18200 and return a grub_diskmemberlist_t composed of physical array members.
18201 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
18202
18203 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
18204 prototype.
18205 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
18206 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
18207 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
18208
18209 * util/grub-probe.c (probe): Move partmap probing code from here ...
18210 (probe_partmap): ... to here.
18211 (probe): Use probe_partmap() once for the disk we're probing, and
18212 additionally, when such disk contains a memberlist() struct member,
18213 once for each disk that is contained in the structure returned by
18214 memberlist().
18215
18216 2008-02-09 Robert Millan <rmh@aybabtu.com>
18217
18218 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
18219 environment variable to 'all' in order to obtain debug output from
18220 non-util/ code.
18221 * util/i386/pc/grub-setup.c (main): Likewise.
18222
18223 2008-02-08 Robert Millan <rmh@aybabtu.com>
18224
18225 * disk/raid.c (grub_raid_scan_device): Check for
18226 `array->device[sb.this_disk.number]' rather than for
18227 `array->device[sb.this_disk.number]->name', since the latter is not
18228 guaranteed to be accessible.
18229
18230 2008-02-08 Robert Millan <rmh@aybabtu.com>
18231
18232 * disk/raid.c: Update copyright.
18233 * fs/cpio.c: Likewise.
18234 * include/grub/raid.h: Likewise.
18235 * loader/i386/pc/multiboot.c: Likewise.
18236 * util/hostfs.c: Likewise.
18237
18238 2008-02-08 Robert Millan <rmh@aybabtu.com>
18239
18240 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
18241 to a grub_disk_t array.
18242 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
18243 `device[x]'.
18244 (grub_raid_scan_device): Replace `device[x].name' accesses with
18245 `device[x]->name'. Simplify initialization of `array->device[x]'.
18246
18247 2008-02-08 Robert Millan <rmh@aybabtu.com>
18248
18249 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
18250 grub_dprintf() calls.
18251 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
18252 error message.
18253
18254 2008-02-07 Christian Franke <franke@computer.org>
18255
18256 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
18257 instead of fseek and ftell to support large files.
18258 (grub_hostfs_read): Likewise.
18259
18260 2008-02-07 Robert Millan <rmh@aybabtu.com>
18261
18262 Patch from Jeroen Dekkers.
18263 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
18264 failure, since successfully reading all array members might not be
18265 required.
18266
18267 2008-02-06 Robert Millan <rmh@aybabtu.com>
18268
18269 * util/grub-probe.c (probe): Simplify partmap probing (with the
18270 assumption that the first word up to the underscore equals to
18271 the module name).
18272
18273 2008-02-06 Christian Franke <franke@computer.org>
18274
18275 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
18276 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
18277 last block of a cpio or tar stream.
18278 Check for "TRAILER!!!" instead of any empty data
18279 block to detect last block of a cpio stream.
18280 (grub_cpio_dir): Fix constness of variable np.
18281 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
18282 cpio or tar trailer is detected. This fixes a crash
18283 on open of a non existing file.
18284
18285 2008-02-05 Bean <bean123ch@gmail.com>
18286
18287 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
18288 address of entry.
18289 (grub_multiboot_load_elf64): Likewise.
18290 (grub_multiboot): Initialize mbi structure.
18291
18292 * util/grub-fstest.c: Don't include unused header file script.h.
18293
18294 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
18295 of file.
18296 (grub_fstest_SOURCES): Likewise.
18297
18298 2008-02-05 Robert Millan <rmh@aybabtu.com>
18299
18300 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
18301 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
18302 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
18303 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
18304
18305 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
18306 (translation_table): Replace hardcoded values with macros
18307 provided by `<grub/term.h>'.
18308
18309 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
18310 (keyboard_map): Correct/add a few values, with macros provided
18311 by `<grub/term.h>'.
18312 (keyboard_map_shift): Zero values that don't differ from their
18313 `keyboard_map' equivalents.
18314 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
18315 Discard the second scan code that is always sent by Caps lock.
18316 Only use `keyboard_map_shift' when it provides a non-zero value,
18317 otherwise fallback to `keyboard_map'.
18318
18319 2008-02-04 Bean <bean123ch@gmail.com>
18320
18321 * Makefile.in (enable_grub_fstest): New variable.
18322
18323 * conf/common.rmk (grub_fstest_init.lst): New rule.
18324 (grub_fstest_init.h): Likewise.
18325 (grub_fstest_init.c): Likewise.
18326 (util/grub-fstest.c_DEPENDENCIES): New variable.
18327 (grub_fstest_SOURCES): Likewise.
18328
18329 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
18330
18331 * util/grub-fstest.c: New file.
18332
18333 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18334
18335 Make grub-setup handle a separate root device.
18336
18337 * util/i386/pc/grub-setup.c (setup): Always open the root device,
18338 so that the root device can be compared with the destination
18339 device.
18340 When embedding the core image, if the root and destination devices
18341 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
18342 0xFF.
18343 When not embedding, set ROOT_DRIVE to 0xFF.
18344
18345 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18346
18347 Add support for having a grub directory in a different drive. This
18348 is still only the data handling part.
18349
18350 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
18351 (codestart): Save %dh in GRUB_ROOT_DRIVE.
18352 (grub_root_drive): New variable.
18353
18354 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
18355 instead of GRUB_BOOT_DRIVE to construct a device name. Set
18356 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
18357 as it was.
18358
18359 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
18360
18361 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
18362 macro.
18363 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
18364
18365 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
18366 is bogus, because PXE booting does not specify any drive
18367 correctly.
18368
18369 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
18370 am not sure if this is really correct.
18371
18372 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
18373 is always identical to the boot drive when booting from a CD.
18374
18375 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
18376 longer.
18377 (root_drive): New variable.
18378 (real_start): Unconditionally set %dh to ROOT_DRIVE.
18379 (setup_sectors): Push %dx right after popping it, because %dh will
18380 be modified later.
18381 (copy_buffer): Restore %dx.
18382
18383 2008-02-03 Robert Millan <rmh@aybabtu.com>
18384
18385 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
18386 use `cdboot.img' for cdrom images.
18387
18388 2008-02-03 Robert Millan <rmh@aybabtu.com>
18389
18390 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
18391 only setup gfxterm when `font' command has succeeded.
18392
18393 2008-02-03 Robert Millan <rmh@aybabtu.com>
18394
18395 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
18396 (grub_rescue_cmd_multiboot_loader)
18397 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
18398
18399 2008-02-03 Pavel Roskin <proski@gnu.org>
18400
18401 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
18402 %edx and %esi from stack only after grub_gate_a20() is called.
18403 grub_gate_a20() clobbers %edx.
18404
18405 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18406
18407 * configure.ac (AC_INIT): Bumped to 1.96.
18408
18409 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
18410 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
18411 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
18412 video/readers/png.c.
18413
18414 2008-02-03 Bean <bean123ch@gmail.com>
18415
18416 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
18417 (cdboot_img_SOURCES): New variable.
18418 (cdboot_img_ASFLAGS): New variable.
18419 (cdboot_img_LDFLAGS): New variable.
18420
18421 * boot/i386/pc/cdboot.S: New file.
18422
18423 * disk/i386/pc/biosdisk.c (cd_start): New variable.
18424 (cd_count): Likewise.
18425 (grub_biosdisk_get_drive): Add support for cd device.
18426 (grub_biosdisk_call_hook): Likewise.
18427 (grub_biosdisk_iterate): Likewise.
18428 (grub_biosdisk_open): Likewise.
18429 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
18430 (grub_biosdisk_rw): Support reading from cd device.
18431 (GRUB_MOD_INIT): Iterate cd devices.
18432
18433 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
18434 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
18435 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
18436
18437 * kern/i386/pc/init.c (make_install_device): Check for cd device.
18438
18439 2008-02-02 Robert Millan <rmh@aybabtu.com>
18440
18441 * commands/read.c: New file.
18442 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
18443 (read_mod_SOURCES): New variable.
18444 (read_mod_CFLAGS): Likewise.
18445 (read_mod_LDFLAGS): Likewise.
18446
18447 2008-02-02 Robert Millan <rmh@aybabtu.com>
18448
18449 * normal/main.c (grub_normal_execute): Check for `menu->size' when
18450 determining whether menu has to be displayed.
18451
18452 2008-02-02 Marco Gerards <marco@gnu.org>
18453
18454 * bus/pci.c: New file.
18455
18456 * include/grub/pci.h: Likewise.
18457
18458 * include/grub/i386/pc/pci.h: Likewise.
18459
18460 * commands/lspci.c: Likewise.
18461
18462 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
18463 `lspci.mod'.
18464 (pci_mod_SOURCES): New variable.
18465 (pci_mod_CFLAGS): Likewise.
18466 (pci_mod_LDFLAGS): Likewise.
18467 (lspci_mod_SOURCES): Likewise.
18468 (lspci_mod_CFLAGS): Likewise.
18469 (lspci_mod_LDFLAGS): Likewise.
18470
18471 2008-02-02 Bean <bean123ch@gmail.com>
18472
18473 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
18474 (grub_ufs_get_file_block): Fix indirect block calculation problem.
18475
18476 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
18477 (grub_xfs_btree_node): New structure.
18478 (grub_xfs_btree_root): New structure.
18479 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
18480 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
18481 (GRUB_XFS_EXTENT_BLOCK): Likewise.
18482 (GRUB_XFS_EXTENT_SIZE): Likewise.
18483 (grub_xfs_read_block): Support btree format type.
18484 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
18485 Use directory block as basic unit.
18486
18487 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
18488
18489 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
18490 __attribute__ ((__regparm__ (1))).
18491
18492 2008-02-01 Robert Millan <rmh@aybabtu.com>
18493
18494 Correct a mistake in previous commit.
18495
18496 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
18497 top.
18498 (normal/command.c_DEPENDENCIES): New variable.
18499
18500 2008-02-01 Robert Millan <rmh@aybabtu.com>
18501
18502 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
18503 top.
18504 (normal/command.c_DEPENDENCIES): New variable.
18505 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
18506 * conf/i386-ieee1275.rmk: Likewise.
18507 * conf/i386-linuxbios.rmk: Likewise.
18508 * conf/i386-pc.rmk: Likewise.
18509 * conf/sparc64-ieee1275.rmk: Likewise.
18510 * conf/powerpc-ieee1275.rmk: Likewise.
18511 (grub_emu_SOURCES): Add `fs/fshelp.c'.
18512
18513 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
18514
18515 2008-02-01 Robert Millan <rmh@aybabtu.com>
18516
18517 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
18518 call at beginning of function.
18519
18520 2008-01-31 Pavel Roskin <proski@gnu.org>
18521
18522 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
18523 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
18524 (grub_mkrescue_SOURCES): Likewise.
18525 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
18526
18527 2008-01-30 Robert Millan <rmh@aybabtu.com>
18528
18529 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
18530 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
18531 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
18532 (grub_probe_SOURCES): ... to here.
18533
18534 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
18535 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
18536 * conf/i386-ieee1275.rmk: Likewise.
18537 * conf/i386-linuxbios.rmk: Likewise.
18538 * conf/powerpc-ieee1275.rmk: Likewise.
18539
18540 2008-01-30 Tristan Gingold <gingold@free.fr>
18541
18542 * kern/rescue.c: Silently accept empty lines.
18543
18544 2008-01-29 Bean <bean123ch@gmail.com>
18545
18546 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
18547 (real_code_2): Code cleanup and change comment style.
18548 (move_memory): Avoid using 32-bit address mode.
18549
18550 2008-01-29 Bean <bean123ch@gmail.com>
18551
18552 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
18553 (png_mod_SOURCES): New variable.
18554 (png_mod_CFLAGS): Likewise.
18555 (png_mod_LDFLAGS): Likewise.
18556
18557 * video/readers/png.c: New file.
18558
18559 2008-01-28 Robert Millan <rmh@aybabtu.com>
18560
18561 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
18562 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
18563 `ifndef GRUB_MOD_GAP' hack.
18564 * util/elf/grub-mkimage.c (add_segments): Likewise.
18565
18566 2008-01-27 Robert Millan <rmh@aybabtu.com>
18567
18568 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
18569 `GRUB_MOD_GAP' for platforms in which it's not defined.
18570 * util/elf/grub-mkimage.c (add_segments): Likewise.
18571
18572 2008-01-27 Robert Millan <rmh@aybabtu.com>
18573
18574 Get grub-emu to build again (including parallel builds).
18575
18576 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
18577 Split into ...
18578 (util/grub-emu.c_DEPENDENCIES): ... this, ...
18579 (normal/execute.c_DEPENDENCIES): ... this, ...
18580 (grub-emu_DEPENDENCIES): ... and this.
18581
18582 * conf/i386-efi.rmk: Likewise.
18583 * conf/i386-linuxbios.rmk: Likewise.
18584 * conf/i386-ieee1275.rmk: Likewise.
18585 * conf/powerpc-ieee1275.rmk: Likewise.
18586 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
18587
18588 2008-01-27 Robert Millan <rmh@aybabtu.com>
18589
18590 * NEWS: Add a few items.
18591
18592 2008-01-27 Robert Millan <rmh@aybabtu.com>
18593
18594 Fix parallel builds with grub-emu. Based on earlier commit for
18595 grub-probe and grub-setup.
18596
18597 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18598 (util/grub-emu.c_DEPENDENCIES): ... this.
18599 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18600 (util/grub-emu.c_DEPENDENCIES): ... this.
18601 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18602 (util/grub-emu.c_DEPENDENCIES): ... this.
18603 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18604 (util/grub-emu.c_DEPENDENCIES): ... this.
18605 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18606 (util/grub-emu.c_DEPENDENCIES): ... this.
18607
18608 2008-01-27 Pavel Roskin <proski@gnu.org>
18609
18610 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
18611 to create a gap between _end and the modules added to the image
18612 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
18613 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
18614 * util/elf/grub-mkimage.c (add_segments): Likewise.
18615
18616 2008-01-26 Pavel Roskin <proski@gnu.org>
18617
18618 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
18619 just return an error.
18620
18621 2008-01-26 Bean <bean123ch@gmail.com>
18622
18623 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
18624 (grub_reiserfs_get_item): Save offset of the next item.
18625 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
18626
18627 2008-01-25 Robert Millan <rmh@aybabtu.com>
18628
18629 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
18630 make all filesystem sources appear together (possibly fixing omissions
18631 while at it).
18632 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18633 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18634 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18635 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18636
18637 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
18638 add `kern/file.c'.
18639 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
18640 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
18641 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
18642 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
18643
18644 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
18645 (probe): Add a sanity check to make sure of our ability to read
18646 requested files when probing for filesystem type.
18647
18648 * genmk.rb: Update copyright year (2007).
18649
18650 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
18651 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
18652 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
18653 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
18654 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
18655 : Remove function prototypes.
18656
18657 2008-01-25 Robert Millan <rmh@aybabtu.com>
18658
18659 Revert my previous commits (based on wrong assumption of how grub_errno
18660 works).
18661
18662 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
18663 * kern/file.c (grub_file_open): Likewise.
18664
18665 2008-01-24 Pavel Roskin <proski@gnu.org>
18666
18667 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
18668 that hang if GRUB tries to setup colors.
18669 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
18670 colors for firmwares that don't support it.
18671 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
18672 Recognize Open Hack'Ware, set flags to work around its
18673 limitations.
18674
18675 2008-01-24 Robert Millan <rmh@aybabtu.com>
18676
18677 * kern/file.c (grub_file_open): Do not account previous failures of
18678 unrelated functions when grub_errno is checked for.
18679 Reported by Oleg Strikov.
18680
18681 2008-01-24 Bean <bean123ch@gmail.com>
18682
18683 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
18684 (grub_ufs_sblock): New member volume name.
18685 (grub_ufs_find_file): Fix string copy bug.
18686 (grub_ufs_label): Implement this function properly.
18687
18688 * fs/hfs.c (grub_hfs_cnid_type): New enum.
18689 (grub_hfs_iterate_records): Use the correct file number for extents
18690 and catalog file. Fix problem in next index calculation.
18691 (grub_hfs_find_node): Replace recursive function call with loop.
18692 (grub_hfs_iterate_dir): Replace recursive function call with loop.
18693
18694 2008-01-23 Robert Millan <rmh@aybabtu.com>
18695
18696 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
18697 `<grub/symbol.h>' and `<grub/multiboot.h>'.
18698 (grub_multiboot2_real_boot): New function prototype.
18699
18700 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
18701 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
18702
18703 * kern/i386/ieee1275/init.c (grub_os_area_addr)
18704 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
18705
18706 2008-01-23 Robert Millan <rmh@aybabtu.com>
18707
18708 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
18709 #ifdef'ed out grub_printf().
18710
18711 2008-01-23 Robert Millan <rmh@aybabtu.com>
18712
18713 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
18714 grub_dprintf calls, since they make "debug=all" mode unusable.
18715 (grub_console_checkkey): Likewise.
18716
18717 2008-01-23 Robert Millan <rmh@aybabtu.com>
18718
18719 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
18720 `term/i386/pc/at_keyboard.c'.
18721 (pkglib_MODULES): Add `serial.mod'.
18722 (serial_mod_SOURCES): New variable.
18723 (serial_mod_CFLAGS): Likewise.
18724 (serial_mod_LDFLAGS): Likewise.
18725
18726 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
18727 `<grub/powerpc/ieee1275/console.h>'.
18728 (grub_keyboard_controller_init): New function prototype.
18729 (grub_console_checkkey): Likewise.
18730 (grub_console_getkey): Likewise.
18731
18732 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
18733 keyboard on i386.
18734
18735 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
18736 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
18737
18738 2008-01-23 Robert Millan <rmh@aybabtu.com>
18739
18740 * kern/i386/pc/init.c (make_install_device): When memdisk image is
18741 present, "(memdisk)/boot/grub" becomes the default prefix.
18742
18743 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
18744 a memdisk tarball with all the modules. Add --overlay=DIR option that
18745 allows users to overlay additional files into the image.
18746
18747 2008-01-23 Robert Millan <rmh@aybabtu.com>
18748
18749 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
18750 and `machine/memory.h'.
18751 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
18752 (_multiboot_mod_SOURCES): New variable.
18753 (_multiboot_mod_CFLAGS): Likewise.
18754 (_multiboot_mod_LDFLAGS): Likewise.
18755 (multiboot_mod_SOURCES): Likewise.
18756 (multiboot_mod_CFLAGS): Likewise.
18757 (multiboot_mod_LDFLAGS): Likewise.
18758
18759 * include/grub/i386/ieee1275/loader.h: New file.
18760
18761 * include/grub/i386/ieee1275/machine.h: Likewise.
18762
18763 * include/grub/i386/ieee1275/memory.h: Likewise.
18764
18765 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
18766 variable declaration.
18767 (grub_os_area_size): Likewise.
18768
18769 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
18770 (grub_lower_mem, grub_upper_mem): New variables.
18771 (grub_stop_floppy): New function (just to make
18772 grub_multiboot2_real_boot() happy).
18773
18774 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
18775 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
18776 (grub_stop): New function.
18777 Include `"../realmode.S"' and `"../loader.S"'.
18778
18779 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
18780 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
18781
18782 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
18783 rely on grub_multiboot2_real_boot() for final boot.
18784
18785 2008-01-22 Robert Millan <rmh@aybabtu.com>
18786
18787 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
18788 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
18789 device that doesn't look like an SD card.
18790 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
18791 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
18792 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
18793 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
18794 found.
18795
18796 2008-01-22 Robert Millan <rmh@aybabtu.com>
18797
18798 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
18799 avoid claiming over our own code.
18800
18801 2008-01-22 Bean <bean123ch@gmail.com>
18802
18803 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
18804 (jpeg_mod_SOURCES): New variable.
18805 (jpeg_mod_CFLAGS): Likewise.
18806 (jpeg_mod_LDFLAGS): Likewise.
18807
18808 * video/readers/jpeg.c : New file.
18809
18810 2008-01-22 Bean <bean123ch@gmail.com>
18811
18812 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
18813 there are no more items.
18814
18815 2008-01-21 Robert Millan <rmh@aybabtu.com>
18816
18817 * kern/mm.c (grub_mm_init_region): Improve debug message.
18818
18819 2008-01-21 Robert Millan <rmh@aybabtu.com>
18820
18821 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
18822 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
18823 address.
18824 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
18825 a C macro.
18826 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
18827 Indicates start of upper memory.
18828 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
18829 (generate_image): Abort when image size is big enough to corrupt
18830 upper memory.
18831
18832 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
18833 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
18834 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
18835 instead of hardcoding 0xA0000.
18836 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
18837 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
18838 instead of hardcoding 0xA0000.
18839
18840 2008-01-21 Robert Millan <rmh@aybabtu.com>
18841
18842 * disk/memdisk.c (memdisk_size): New variable.
18843 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
18844 `memdisk_size'.
18845 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
18846 image to dynamic memory.
18847 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
18848 `memdisk_size'. Free memdisk block.
18849
18850 2008-01-21 Robert Millan <rmh@aybabtu.com>
18851
18852 Fix detection of very small filesystems (like tar).
18853
18854 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
18855 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
18856 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
18857 a problem with this disk).
18858
18859 2008-01-21 Robert Millan <rmh@aybabtu.com>
18860
18861 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
18862 on grub_biosdisk_rw_standard() error.
18863
18864 2008-01-21 Robert Millan <rmh@aybabtu.com>
18865
18866 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
18867 recent changes.
18868 * kern/elf.c: Likewise.
18869 * kern/ieee1275/ieee1275.c: Likewise.
18870 * kern/powerpc/ieee1275/openfw.c: Likewise.
18871 * term/ieee1275/ofconsole.c: Likewise.
18872
18873 2008-01-21 Robert Millan <rmh@aybabtu.com>
18874
18875 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
18876
18877 * include/grub/kernel.h (grub_arch_memdisk_addr)
18878 (grub_arch_memdisk_size): Moved from here ...
18879
18880 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
18881 (grub_arch_memdisk_size): ... to here.
18882
18883 2008-01-21 Robert Millan <rmh@aybabtu.com>
18884
18885 Mostly based on bugfix from Bean.
18886
18887 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
18888 attribute with hook() parameter.
18889 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
18890 declaration.
18891 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
18892 attribute with hook() parameter.
18893 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
18894 declaration.
18895
18896 2008-01-21 Robert Millan <rmh@aybabtu.com>
18897
18898 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
18899 (pkglib_MODULES): Add `memdisk.mod'.
18900 (memdisk_mod_SOURCES): New variable.
18901 (memdisk_mod_CFLAGS): Likewise.
18902 (memdisk_mod_LDFLAGS): Likewise.
18903
18904 * disk/memdisk.c: New file.
18905
18906 * include/grub/disk.h (grub_disk_dev_id): Add
18907 `GRUB_DISK_DEVICE_MEMDISK_ID'.
18908
18909 * include/grub/i386/pc/kernel.h
18910 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
18911 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
18912 (grub_kernel_image_size): New variable declaration.
18913 (grub_total_module_size): Likewise.
18914 (grub_memdisk_image_size): Likewise.
18915
18916 * include/grub/i386/pc/memory.h
18917 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
18918
18919 * include/grub/kernel.h: Include `<grub/symbol.h>'.
18920 (grub_arch_memdisk_addr): New variable declaration.
18921 (grub_arch_memdisk_size): Likewise.
18922
18923 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
18924 (grub_arch_memdisk_size): Likewise.
18925
18926 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
18927 (codestart): Replace hardcoded `0x100000' with
18928 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
18929
18930 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
18931 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
18932 not NULL, append the contents of the file it refers to, at the end of
18933 the compressed kernel image. Initialize `grub_memdisk_image_size'
18934 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
18935 (options): Add "memdisk"|'m' option.
18936 (main): Parse --memdisk|-m option, and pass user-provided path as
18937 parameter to generate_image().
18938
18939 2008-01-20 Robert Millan <rmh@aybabtu.com>
18940
18941 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
18942 grub_dprintf() calls from here ...
18943 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
18944
18945 2008-01-20 Robert Millan <rmh@aybabtu.com>
18946
18947 Fix detection of "real mode" when /options/real-mode? doesn't exist.
18948
18949 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
18950 declaration.
18951 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
18952 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
18953 `GRUB_IEEE1275_FLAG_REAL_MODE'.
18954 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
18955 property).
18956 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
18957 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
18958
18959 2008-01-19 Robert Millan <rmh@aybabtu.com>
18960
18961 Get rid of confusing function (superseded by
18962 `grub_ieee1275_get_integer_property')
18963 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
18964 prototype.
18965 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
18966 function.
18967 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
18968 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
18969 in native endianness from grub_ieee1275_get_integer_property().
18970
18971 2008-01-19 Robert Millan <rmh@aybabtu.com>
18972
18973 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
18974 command after "shut-down", since implementations differ on which
18975 the command for halt is.
18976
18977 2008-01-19 Robert Millan <rmh@aybabtu.com>
18978
18979 * include/grub/i386/linuxbios/console.h: Add header protection.
18980 (grub_keyboard_controller_init): New function prototype.
18981 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
18982 (KEYBOARD_COMMAND_READ): Likewise.
18983 (KEYBOARD_COMMAND_WRITE): Likewise.
18984 (KEYBOARD_SCANCODE_SET1): Likewise.
18985 (grub_keyboard_controller_write): New function.
18986 (grub_keyboard_controller_read): Likewise.
18987 (grub_keyboard_controller_init): Likewise.
18988
18989 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
18990 (grub_console_init): On coreboot/LinuxBIOS, call
18991 grub_keyboard_controller_init().
18992
18993 2008-01-19 Robert Millan <rmh@aybabtu.com>
18994
18995 PowerPC changes provided by Pavel Roskin.
18996
18997 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
18998 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
18999 don't rely on cmain() doing it.
19000 * kern/i386/ieee1275/startup.S (_start): Store %eax in
19001 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
19002
19003 2008-01-16 Robert Millan <rmh@aybabtu.com>
19004
19005 * include/grub/i386/linuxbios/memory.h
19006 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
19007 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
19008 receive `table_header' as argument. Instead, probe for it in the
19009 known memory ranges where it can be present.
19010 (grub_available_iterate): Do not pass a fixed `table_header' address
19011 to grub_linuxbios_table_iterate().
19012
19013 2008-01-15 Robert Millan <rmh@aybabtu.com>
19014
19015 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
19016 * conf/i386-ieee1275.rmk: New file.
19017 * include/grub/i386/ieee1275/console.h: Likewise.
19018 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
19019 * include/grub/i386/ieee1275/kernel.h: Likewise.
19020 * include/grub/i386/ieee1275/time.h: Likewise.
19021 * kern/i386/ieee1275/init.c: Likewise.
19022 * kern/i386/ieee1275/startup.S: Likewise.
19023
19024 2008-01-15 Robert Millan <rmh@aybabtu.com>
19025
19026 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
19027 when pointers are 32-bit (but still do set it to one when they are
19028 64-bit).
19029
19030 2008-01-15 Robert Millan <rmh@aybabtu.com>
19031
19032 * include/grub/ieee1275/ieee1275.h
19033 (grub_ieee1275_get_integer_property): New function prototype.
19034
19035 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
19036 (grub_ieee1275_get_integer_property): New function. Wraps around
19037 grub_ieee1275_get_property() to handle endianness.
19038
19039 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
19040 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
19041 where appropriate.
19042 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
19043 (grub_map): Likewise.
19044 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
19045
19046 2008-01-15 Bean <bean123ch@gmail.com>
19047
19048 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
19049 (grub_script_execute_cmdline): Reset grub_errno.
19050
19051 * normal/main.c (read_config_file): Reset grub_errno.
19052
19053 * normal/parse.y (script_init): New.
19054 (script): Move function and menuentry here.
19055 (delimiter): New.
19056 (command): Add delimiter at the end of command.
19057 (commands): Adjust to match the new command.
19058 (commandblock): Remove grub_script_lexer_record_start.
19059 (menuentry): Add grub_script_lexer_record_start, use the new commands.
19060 (if): Use the new commands.
19061
19062 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
19063
19064 2008-01-15 Robert Millan <rmh@aybabtu.com>
19065
19066 * normal/menu.c (run_menu): Move timeout message from here ...
19067 (print_timeout): ... to here.
19068 (run_menu): Use print_timeout() once during initial draw to print
19069 the whole message, and again in every clock tick to update only
19070 the number of seconds.
19071
19072 2008-01-15 Robert Millan <rmh@aybabtu.com>
19073
19074 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
19075 actual size of `available' from grub_ieee1275_get_property(), and
19076 restrict parsing to that bound.
19077
19078 2008-01-15 Christian Franke <franke@computer.org>
19079
19080 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
19081 (argp_program_version): Remove variable.
19082 (argp_program_bug_address): Likewise.
19083 (options): Convert from struct argp_option to struct option.
19084 (struct arguments): Remove.
19085 (parse_opt): Remove.
19086 (usage): New function.
19087 (main): Replace struct args members by simple variables.
19088 Replace argp_parse() by getopt_long().
19089 Add switch to evaluate options.
19090 Add missing "(...)" around root_dev in prefix string.
19091
19092 2008-01-14 Robert Millan <rmh@aybabtu.com>
19093
19094 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
19095 for grub_ieee1275_exit(), in order to improve portability.
19096
19097 2008-01-14 Robert Millan <rmh@aybabtu.com>
19098
19099 * util/grub.d/10_linux.in (prefix): Define.
19100 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
19101
19102 2008-01-13 Pavel Roskin <proski@gnu.org>
19103
19104 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
19105 grub_errno if no errors have been detected.
19106
19107 2008-01-12 Robert Millan <rmh@aybabtu.com>
19108
19109 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
19110 (grub_util_get_dev_abstraction): New function prototype.
19111
19112 * util/getroot.c: Include `<grub/util/getroot.h>'
19113 (grub_util_get_grub_dev): Move detection of abstraction type to ...
19114 (grub_util_get_dev_abstraction): ... here (new function).
19115
19116 * util/grub-probe.c: Convert PRINT_* to an enum. Add
19117 `PRINT_ABSTRACTION'.
19118 (probe): Probe for abstraction type when requested.
19119 (main): Understand `--target=abstraction'.
19120
19121 * util/i386/efi/grub-install.in: Add abstraction module to core
19122 image when it is found to be necessary.
19123 * util/i386/pc/grub-install.in: Likewise.
19124 * util/powerpc/ieee1275/grub-install.in: Likewise.
19125
19126 * util/update-grub_lib.in (font_path): Return system path without
19127 converting to GRUB path.
19128 * util/update-grub.in: Convert system path returned by font_path()
19129 to a GRUB path. Use `grub-probe -t abstraction' to determine what
19130 abstraction module is needed for loading fonts (if any). Export
19131 that as `GRUB_PRELOAD_MODULES'.
19132 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
19133 insmod commands).
19134
19135 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
19136
19137 Remove some unused code from reiserfs.
19138
19139 * fs/reiserfs.c (struct grub_reiserfs_key)
19140 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
19141 (struct grub_reiserfs_node_body): Removed.
19142 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
19143 Likewise.
19144 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
19145 Likewise.
19146 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
19147 Likewise.
19148 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
19149 Likewise.
19150 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
19151 Likewise.
19152 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
19153 Likewise.
19154 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
19155 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
19156 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
19157
19158 2008-01-10 Robert Millan <rmh@aybabtu.com>
19159
19160 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
19161 Determines if a file is garbage left by packaging systems, etc.
19162 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
19163 for processing /etc/grub.d scripts.
19164 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
19165 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
19166 as a condition for processing Linux images.
19167
19168 2008-01-10 Pavel Roskin <proski@gnu.org>
19169
19170 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
19171 to compile reiserfs.c on PowerPC.
19172
19173 2008-01-10 Robert Millan <rmh@aybabtu.com>
19174
19175 * kern/device.c (grub_device_iterate): Do not abort device iteration
19176 when one of the devices cannot be opened.
19177 * kern/disk.c (grub_disk_open): Do not account previous failures of
19178 unrelated functions when grub_errno is checked for.
19179
19180 2008-01-08 Robert Millan <rmh@aybabtu.com>
19181
19182 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
19183 `! grub_linux_is_bzimage', change order of address comparison to make
19184 it more intuitive, and improve "too big zImage" error message.
19185
19186 2008-01-08 Robert Millan <rmh@aybabtu.com>
19187
19188 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
19189 `$(update-grub_DATA)'.
19190 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
19191 targets.
19192
19193 2008-01-07 Robert Millan <rmh@aybabtu.com>
19194
19195 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
19196 which instruction is modified by grub-setup during installation
19197 (since it wasn't obvious by only looking at this file).
19198
19199 2008-01-07 Robert Millan <rmh@aybabtu.com>
19200
19201 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
19202 listing actual TODO items.
19203
19204 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
19205
19206 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
19207 correctly.
19208 (grub_reiserfs_get_key_offset): Likewise.
19209 (grub_reiserfs_set_key_offset): Likewise.
19210 (grub_reiserfs_set_key_type): Likewise.
19211 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
19212
19213 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
19214 better to remove the bitfield version completely.
19215
19216 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
19217
19218 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
19219 allocated from the heap, due to the fshelp implementation.
19220 (grub_reiserfs_dir): Free NODE, due to the same reason.
19221
19222 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
19223
19224 Mostly from Vincent Pelletier:
19225
19226 * fs/reiserfs.c: New file.
19227
19228 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
19229 (reiserfs_mod_SOURCES): New variable.
19230 (reiserfs_mod_CFLAGS): Likewise.
19231 (reiserfs_mod_LDFLAGS): Likewise.
19232
19233 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
19234 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
19235 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
19236 normal/color.c.
19237
19238 2008-01-06 Robert Millan <rmh@aybabtu.com>
19239
19240 * normal/color.c: Remove `<grub/env.h>'.
19241
19242 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
19243
19244 * include/grub/normal.h: Include <grub/env.h>.
19245
19246 2008-01-05 Robert Millan <rmh@aybabtu.com>
19247
19248 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
19249 usage example with `(hd0,1)'.
19250 Reported by Samuel Thibault.
19251
19252 2008-01-05 Robert Millan <rmh@aybabtu.com>
19253
19254 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
19255 (grub_linux_boot_zimage): Rename to ...
19256 (grub_linux_boot): ... this.
19257 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
19258 (grub_linux_boot_zimage): Conditionalize zImage copy.
19259
19260 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
19261 (grub_linux_boot_bzimage): Remove prototype.
19262 (grub_linux_boot_zimage): Rename to ...
19263 (grub_linux_boot): ... this.
19264
19265 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
19266 (grub_linux_boot): Remove function.
19267
19268 2008-01-05 Robert Millan <rmh@aybabtu.com>
19269
19270 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
19271 (grub_env_write_color_highlight): Likewise.
19272 (grub_wait_after_message): Likewise.
19273
19274 * normal/color.c: New file.
19275
19276 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19277 (normal_mod_DEPENDENCIES): Likewise.
19278
19279 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19280 (normal_mod_DEPENDENCIES): Likewise.
19281
19282 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19283 (normal_mod_DEPENDENCIES): Likewise.
19284
19285 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19286 (normal_mod_DEPENDENCIES): Likewise.
19287
19288 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
19289 for waiting after a message is printed.
19290 * normal/main.c (read_config_file): Likewise.
19291 (grub_normal_init): Register grub_env_write_color_normal() and
19292 grub_env_write_color_highlight() hooks. Mark `color_normal' and
19293 `color_highlight' variables as global.
19294
19295 * normal/menu.c (grub_wait_after_message): New function.
19296 (grub_color_menu_normal): New variable. Replaces ...
19297 (GRUB_COLOR_MENU_NORMAL): ... this macro.
19298 (grub_color_menu_highlight): New variable. Replaces ...
19299 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
19300 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
19301 `GRUB_TERM_COLOR_STANDARD'.
19302 (print_message): Use `grub_setcolorstate' to reload colors. Rename
19303 `normal_code' and `highlight_code' to `old_color_normal' and
19304 `old_color_highlight', respectively.
19305 (grub_menu_init_page): Update colors when drawing the menu, based on
19306 `menu_color_normal' and `menu_color_highlight' variables.
19307 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
19308 a message is printed.
19309
19310 2008-01-05 Robert Millan <rmh@aybabtu.com>
19311
19312 * kern/env.c (grub_env_context_open): Propagate hooks for global
19313 variables to new context.
19314
19315 * kern/main.c (grub_set_root_dev): Export `root' variable.
19316
19317 2008-01-05 Robert Millan <rmh@aybabtu.com>
19318
19319 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
19320 discs unconditionally, since udev and others have options to provide
19321 them.
19322
19323 2008-01-05 Robert Millan <rmh@aybabtu.com>
19324
19325 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
19326
19327 2008-01-04 Christian Franke <franke@computer.org>
19328
19329 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
19330 of eisa_mmap.
19331
19332 2008-01-03 Pavel Roskin <proski@gnu.org>
19333
19334 * kern/i386/linuxbios/init.c: Put "void" to all function
19335 declarations with no arguments.
19336 * kern/powerpc/ieee1275/init.c: Likewise.
19337 * term/i386/pc/at_keyboard.c: Likewise.
19338 * term/i386/pc/vga_text.c: Likewise.
19339 * util/grub-mkdevicemap.c: Likewise.
19340
19341 2008-01-02 Robert Millan <rmh@aybabtu.com>
19342
19343 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
19344 message when loaded image is out of bounds.
19345 (grub_multiboot_load_elf64): Likewise.
19346
19347 2008-01-02 Pavel Roskin <proski@gnu.org>
19348
19349 * util/grub.d/10_linux.in: Try version without ".old" when
19350 looking for initrd. It's better to use initrd from the newer
19351 kernel of the same version than no initrd at all.
19352
19353 2008-01-01 Robert Millan <rmh@aybabtu.com>
19354
19355 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
19356
19357 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
19358
19359 * include/grub/video.h: Added grub_video_unmap_color and
19360 grub_video_get_active_render_target.
19361 (grub_video_adapter): Added unmap_color and get_active_render_target.
19362
19363 * video/video.c: Added grub_video_unmap_color and
19364 grub_video_get_active_render_target.
19365 (grub_video_get_info): Changed method to accept NULL pointer as an
19366 argument to allow detection of active video adapter.
19367
19368 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
19369 grub_video_vbe_unmap_color_int.
19370 Added grub_video_vbe_unmap_color and
19371 grub_video_vbe_get_active_render_target.
19372 (grub_video_vbe_adapter): Added unmap_color and
19373 get_active_render_target.
19374
19375 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
19376 with grub_video_vbe_unmap_color_int.
19377
19378 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
19379 (DEFAULT_NORMAL_COLOR): Likewise.
19380 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
19381 (DEFAULT_FG_COLOR): Removed.
19382 (DEFAULT_BG_COLOR): Likewise.
19383 (DEFAULT_CURSOR_COLOR): Changed value.
19384 (grub_virtual_screen): Added standard_color_setting,
19385 normal_color_setting, highlight_color_setting and term_color.
19386 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
19387 (bitmap_width): Added.
19388 (bitmap_height): Likewise.
19389 (bitmap): Likewise.
19390 (set_term_color): Likewise.
19391 (grub_virtual_screen_setup): Changed to use new terminal coloring
19392 settings.
19393 (grub_gfxterm_init): Added init for bitmap.
19394 (grub_gfxterm_fini): Added destroy for bitmap.
19395 (redraw_screen_rect): Updated to use background bitmap and new
19396 terminal coloring.
19397 (scroll_up): Added optimization for case when there is no bitmap.
19398 (grub_gfxterm_cls): Fixed to use correct background color.
19399 (grub_virtual_screen_setcolorstate): Changed to use new terminal
19400 coloring.
19401 (grub_virtual_screen_setcolor): Likewise.
19402 (grub_virtual_screen_getcolor): Added.
19403 (grub_gfxterm_background_image_cmd): Likewise.
19404 (grub_video_term): Added setcolor and getcolor.
19405 (MOD_INIT): Added registration of background_image command.
19406 (MOD_TERM): Added unregistration for background_image command.
19407
19408 2007-12-30 Pavel Roskin <proski@gnu.org>
19409
19410 * loader/multiboot_loader.c: Fix multiboot command
19411 unregistration. Fix all typos in the word "multiboot".
19412
19413 2007-12-29 Pavel Roskin <proski@gnu.org>
19414
19415 * util/grub.d/10_linux.in: Refactor search for initrd. Add
19416 support for initrd names used in Fedora.
19417
19418 2007-12-26 Bean <bean123ch@gmail.com>
19419
19420 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
19421 (cpio_mod_SOURCES): New variable.
19422 (cpio_mod_CFLAGS): Likewise.
19423 (cpio_mod_LDFLAGS): Likewise.
19424
19425 * fs/cpio.c: New file.
19426
19427 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
19428
19429 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19430
19431 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19432
19433 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19434
19435 2007-12-25 Robert Millan <rmh@aybabtu.com>
19436
19437 * include/grub/term.h (struct grub_term): Add `getcolor' function.
19438 (grub_getcolor): New function.
19439
19440 * kern/term.c (grub_getcolor): New function.
19441 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
19442 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
19443 (print_entry): Set normal and highlight colors to
19444 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
19445 respectively, before printing and restore them to old
19446 values afterwards.
19447 (grub_menu_init_page): Likewise. Fill an additional colored space
19448 that would otherwise be left blank.
19449
19450 * term/efi/console.c (grub_console_getcolor): New function.
19451 (struct grub_console_term.getcolor): New variable.
19452 * term/i386/pc/console.c (grub_console_getcolor): New function.
19453 (struct grub_console_term.getcolor): New variable.
19454 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
19455 (struct grub_console_term.getcolor): New variable.
19456
19457 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
19458 (struct grub_console_term.setcolor): Remove variable.
19459 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
19460 (struct grub_console_term.setcolor): Remove variable.
19461 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
19462 (struct grub_console_term.setcolor): Remove variable.
19463 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
19464 (struct grub_console_term.setcolor): Remove variable.
19465
19466 2007-12-25 Robert Millan <rmh@aybabtu.com>
19467
19468 * configure.ac: Search for possible unifont.hex locations, and
19469 define UNIFONT_HEX if found.
19470
19471 * Makefile.in (UNIFONT_HEX): Define variable.
19472 (DATA): Rename to ...
19473 (PKGLIB): ... this. Update all users.
19474 (PKGDATA): New variable.
19475 (pkgdata_IMAGES): Rename to ...
19476 (pkglib_IMAGES): ... this. Update all users.
19477 (pkgdata_MODULES): Rename to ...
19478 (pkglib_MODULES): ... this. Update all users.
19479 (pkgdata_PROGRAMS): Rename to ...
19480 (pkglib_PROGRAMS): ... this. Update all users.
19481 (pkgdata_DATA): Rename to ...
19482 (pkglib_DATA): ... this. Update all users.
19483 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
19484 (unicode.pff, ascii.pff): New rules.
19485 (all-local): Add `$(PKGDATA)' dependency.
19486 (install-local): Process `$(PKGDATA)'.
19487
19488 * util/update-grub_lib.in (font_path): Search for *.pff files in
19489 a few more locations, including `${pkgdata}'.
19490
19491 2007-12-23 Robert Millan <rmh@aybabtu.com>
19492
19493 Patch from Bean <bean123ch@gmail.com>:
19494 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
19495 `size'.
19496
19497 2007-12-21 Bean <bean123ch@gmail.com>
19498
19499 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
19500 (ntfscomp_mod_SOURCES): New variable.
19501 (ntfscomp_mod_CFLAGS): Likewise.
19502 (ntfscomp_mod_LDFLAGS): Likewise.
19503
19504 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
19505 (grub_probe_SOURCES): Likewise.
19506 (grub_emu_SOURCES): Likewise.
19507
19508 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19509 (grub_emu_SOURCES): Likewise.
19510
19511 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19512 (grub_emu_SOURCES): Likewise.
19513
19514 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19515 (grub_emu_SOURCES): Likewise.
19516
19517 * fs/ntfs.c (grub_ntfscomp_func): New variable.
19518 (read_run_list): Renamed to grub_ntfs_read_run_list.
19519 (decomp_nextvcn): Moved to ntfscomp.c.
19520 (decomp_getch): Likewise.
19521 (decomp_get16): Likewise.
19522 (decomp_block): Likewise.
19523 (read_block): Likewise.
19524 (read_data): Partially moved to ntfscomp.c.
19525 (fixup): Change unsigned to grub_uint16_t.
19526 (read_mft): Change unsigned long to grub_uint32_t.
19527 (read_attr): Likewise.
19528 (read_data): Likewise.
19529 (read_run_data): Likewise.
19530 (read_run_list): Likewise.
19531 (read_mft): Likewise.
19532
19533 * fs/ntfscomp.c: New file.
19534
19535 * include/grub/ntfs.h: New file.
19536
19537 2007-12-16 Robert Millan <rmh@aybabtu.com>
19538
19539 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
19540 IDE disk check, since Linux is known to support 20 IDE disks.
19541 Reported by Colin Watson.
19542
19543 2007-12-15 Bean <bean123ch@gmail.com>
19544
19545 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
19546 (lnxboot_img_SOURCES): New variable.
19547 (lnxboot_img_ASFLAGS): Likewise.
19548 (lnxboot_img_LDFLAGS): Likewise.
19549
19550 * boot/i386/pc/lnxboot.S: New file.
19551
19552 2007-11-24 Pavel Roskin <proski@gnu.org>
19553
19554 * configure.ac: Test if '--build-id=none' is supported by the
19555 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
19556 objcopy to generate incorrect binary files (binutils
19557 2.17.50.0.18-1 as shipped by Fedora 8).
19558 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
19559 linking, so that build ID doesn't break the test.
19560
19561 2007-11-24 Pavel Roskin <proski@gnu.org>
19562
19563 * include/grub/i386/time.h: use "void" in the argument list
19564 of grub_cpu_idle().
19565 * include/grub/powerpc/time.h: Likewise.
19566 * include/grub/sparc64/time.h: Likewise.
19567
19568 2007-11-18 Christian Franke <franke@computer.org>
19569
19570 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
19571 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
19572 This fixes the problem that function keys did not work in grub-emu.
19573
19574 2007-11-18 Christian Franke <franke@computer.org>
19575
19576 * disk/host.c (grub_host_open): Remove attribute unused from
19577 name parameter. Add check for "host". This fixes the problem
19578 that grub-emu does not find partitions.
19579
19580 2007-11-18 Christian Franke <franke@computer.org>
19581
19582 * util/hostfs.c (is_dir): New function.
19583 (grub_hostfs_dir): Handle missing dirent.d_type case.
19584 (grub_hostfs_read): Add missing fseek().
19585 (grub_hostfs_label): Clear label pointer. This fixes a crash
19586 of grub-emu on "ls (host)".
19587
19588 2007-11-18 Christian Franke <franke@computer.org>
19589
19590 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
19591 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
19592 to 64 bit boundary by default.
19593
19594 2007-11-18 Bean <bean123ch@gmail.com>
19595
19596 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
19597 (hexdump_mod_SOURCES): New variable.
19598 (hexdump_mod_CFLAGS): Likewise.
19599 (hexdump_mod_LDFLAGS): Likewise.
19600
19601 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19602
19603 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19604
19605 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19606
19607 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19608
19609 * include/grub/hexdump.h: New file.
19610
19611 * commands/hexdump.c: New file.
19612
19613 2007-11-10 Robert Millan <rmh@aybabtu.com>
19614
19615 * commands/i386/pc/play.c (beep_off): Switch order of arguments
19616 in grub_outb() calls.
19617 (beep_on): Likewise.
19618
19619 2007-11-10 Christian Franke <franke@computer.org>
19620
19621 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
19622 (grub_menu_run): Likewise.
19623
19624 2007-11-10 Robert Millan <rmh@aybabtu.com>
19625
19626 * include/grub/i386/efi/machine.h: New file.
19627 * include/grub/i386/linuxbios/machine.h: Likewise.
19628 * include/grub/i386/pc/machine.h: Likewise.
19629 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19630 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19631
19632 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
19633 (serial_hw_io_addr): New variable.
19634 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
19635 instead of `(unsigned short *) 0x400'.
19636
19637 2007-11-10 Bean <bean123ch@gmail.com>
19638
19639 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
19640
19641 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
19642
19643 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
19644 (vga_mod_SOURCES): Added.
19645 (vga_mod_CFLAGS): Likewise.
19646 (vga_mod_LDFLAGS): Likewise.
19647
19648 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
19649 grub_outb() calls.
19650 (set_map_mask): Likewise.
19651 (set_read_map): Likewise.
19652 (set_read_address): Likewise.
19653 (vga_font): Removed variable.
19654 (get_vga_glyph): Removed function.
19655 (invalidate_char): Likewise.
19656 (write_char): Changed to use grub_font_get_glyph() for font
19657 information.
19658 (grub_vga_putchar): Likewise.
19659 (grub_vga_getcharwidth): Likewise.
19660
19661 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
19662
19663 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
19664 flags.
19665 (pxeboot_img_LDFLAGS): Likewise.
19666 (diskboot_img_LDFLAGS): Likewise.
19667 (kernel_img_LDFLAGS): Likewise.
19668
19669 2007-11-06 Robert Millan <rmh@aybabtu.com>
19670
19671 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
19672 in grub_outb() calls.
19673 (serial_hw_init): Likewise.
19674
19675 2007-11-05 Robert Millan <rmh@aybabtu.com>
19676
19677 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
19678 spaces. Skip non-regular files.
19679
19680 2007-11-05 Robert Millan <rmh@aybabtu.com>
19681
19682 * kern/disk.c (grub_disk_firmware_fini)
19683 (grub_disk_firmware_is_tainted): New variables.
19684
19685 * include/grub/disk.h (grub_disk_firmware_fini)
19686 (grub_disk_firmware_is_tainted): Likewise.
19687
19688 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
19689 (grub_disk_biosdisk_fini): ... to here.
19690 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
19691 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
19692 is set. Register grub_disk_biosdisk_fini() in
19693 `grub_disk_firmware_fini'.
19694
19695 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
19696 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
19697 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
19698 to finish existing firmware disk interface.
19699
19700 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
19701 (ata_mod_SOURCES): New variable.
19702 (ata_mod_CFLAGS): Likewise.
19703 (ata_mod_LDFLAGS): Likewise.
19704
19705 2007-11-05 Robert Millan <rmh@aybabtu.com>
19706
19707 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
19708 (grub_ata_wait): Reimplement using grub_millisleep().
19709
19710 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
19711 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
19712
19713 2007-11-03 Marco Gerards <marco@gnu.org>
19714
19715 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
19716 (CRTC_ADDR_PORT): New macro.
19717 (CRTC_DATA_PORT): Likewise.
19718 (CRTC_CURSOR): Likewise.
19719 (CRTC_CURSOR_ADDR_HIGH): Likewise.
19720 (CRTC_CURSOR_ADDR_LOW): Likewise.
19721 (update_cursor): New function.
19722 (grub_console_real_putchar): Call `update_cursor'.
19723 (grub_console_gotoxy): Likewise.
19724 (grub_console_cls): Set the default color when clearing the
19725 screen.
19726 (grub_console_setcursor): Implemented.
19727
19728 2007-11-03 Marco Gerards <marco@gnu.org>
19729
19730 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
19731 become activate.
19732 (grub_ata_pio_write): Likewise.
19733
19734 (grub_atapi_identify): Wait after issuing an ATA command.
19735 (grub_atapi_packet): Likewise.
19736 (grub_ata_identify): Likewise.
19737 (grub_ata_readwrite): Likewise.
19738
19739 2007-11-03 Marco Gerards <marco@gnu.org>
19740
19741 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
19742 (grub_ata_pio_write): Likewise.
19743 (grub_ata_readwrite): Use `grub_error', instead of
19744 returning `grub_errno'.
19745
19746 2007-11-03 Marco Gerards <marco@gnu.org>
19747
19748 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
19749 grub_ata_pio_write once for every single sector, instead of for
19750 multiple sectors.
19751
19752 2007-10-31 Robert Millan <rmh@aybabtu.com>
19753
19754 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
19755
19756 * conf/i386-linuxbios.rmk: New file.
19757
19758 * kern/i386/pc/hardware.c: Likewise.
19759 * term/i386/pc/at_keyboard.c: Likewise.
19760 * term/i386/pc/vga_text.c: Likewise.
19761
19762 * include/grub/i386/linuxbios/boot.h: Likewise.
19763 * include/grub/i386/linuxbios/console.h: Likewise.
19764 * include/grub/i386/linuxbios/init.h: Likewise.
19765 * include/grub/i386/linuxbios/kernel.h: Likewise.
19766 * include/grub/i386/linuxbios/loader.h: Likewise.
19767 * include/grub/i386/linuxbios/memory.h: Likewise.
19768 * include/grub/i386/linuxbios/serial.h: Likewise.
19769 * include/grub/i386/linuxbios/time.h: Likewise.
19770
19771 * kern/i386/linuxbios/init.c: Likewise.
19772 * kern/i386/linuxbios/startup.S: Likewise.
19773 * kern/i386/linuxbios/table.c: Likewise.
19774
19775 2007-10-31 Marco Gerards <marco@gnu.org>
19776
19777 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
19778 (ata_mod_SOURCES): New variable.
19779 (ata_mod_CFLAGS): Likewise.
19780 (ata_mod_LDFLAGS): Likewise.
19781
19782 * disk/ata.c: New file.
19783
19784 * include/grub/disk.h (grub_disk_dev_id): Add
19785 `GRUB_DISK_DEV_ATA_ID'.
19786
19787 2007-10-31 Robert Millan <rmh@aybabtu.com>
19788
19789 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
19790 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
19791
19792 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
19793 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
19794
19795 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
19796 `<grub/types.h>'.
19797
19798 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
19799
19800 2007-10-27 Robert Millan <rmh@aybabtu.com>
19801
19802 * include/grub/types.h (ULONG_MAX): Define macro.
19803
19804 2007-10-22 Robert Millan <rmh@aybabtu.com>
19805
19806 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
19807 `"../realmode.S"'.
19808 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
19809
19810 2007-10-22 Robert Millan <rmh@aybabtu.com>
19811
19812 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
19813 (pkgdata_MODULES): Add `biosdisk.mod'.
19814 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
19815 variables.
19816
19817 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
19818 (grub_biosdisk_init): Replace with ...
19819 (GRUB_MOD_INIT(biosdisk)): ... this.
19820 (grub_biosdisk_fini): Replace with ...
19821 (GRUB_MOD_FINI(biosdisk)): ... this.
19822
19823 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
19824 (grub_machine_init): Remove call to grub_biosdisk_init().
19825 (grub_machine_fini): Remove call to grub_machine_fini().
19826
19827 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
19828
19829 2007-10-22 Robert Millan <rmh@aybabtu.com>
19830
19831 * include/grub/time.h: New file.
19832 * include/grub/i386/time.h: Likewise.
19833 * include/grub/powerpc/time.h: Likewise.
19834 * include/grub/sparc64/time.h: Likewise.
19835
19836 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
19837 instances to ...
19838 (KERNEL_MACHINE_TIME_HEADER): ... this.
19839 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
19840 instances to ...
19841 (KERNEL_MACHINE_TIME_HEADER): ... this.
19842 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
19843 instances to ...
19844 (KERNEL_MACHINE_TIME_HEADER): ... this.
19845
19846 * kern/i386/efi/init.c: Include `<grub/time.h>'.
19847 (grub_millisleep): New function.
19848 * kern/i386/pc/init.c: Include `<grub/time.h>'.
19849 (grub_millisleep): New function.
19850 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
19851 Remove `grub/machine/time.h' include.
19852 (grub_millisleep): New function.
19853 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
19854 Remove `grub/machine/time.h' include.
19855 (grub_millisleep): New function.
19856
19857 * include/grub/misc.h (grub_div_roundup): New function.
19858
19859 * kern/misc.c: Include `<grub/time.h>'.
19860 (grub_millisleep_generic): New function.
19861
19862 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
19863 Add `time.h'.
19864 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
19865 Add `time.h'.
19866 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
19867 `machine/time.h'. Add `time.h'.
19868 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
19869
19870 2007-10-21 Robert Millan <rmh@aybabtu.com>
19871
19872 * include/grub/misc.h (grub_max): New function.
19873
19874 2007-10-21 Robert Millan <rmh@aybabtu.com>
19875
19876 * util/misc.c (grub_util_info): Call fflush() before returning.
19877
19878 2007-10-20 Robert Millan <rmh@aybabtu.com>
19879
19880 * genmk.rb (Image): Copy `extra_flags' from here ...
19881 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
19882
19883 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
19884 to `argc' and `args' arguments.
19885
19886 2007-10-17 Robert Millan <rmh@aybabtu.com>
19887
19888 * kern/i386/loader.S: New file.
19889
19890 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
19891 * kern/i386/loader.S (grub_linux_prot_size)... to here.
19892 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
19893 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
19894 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
19895 * kern/i386/loader.S (grub_linux_real_addr)... to here.
19896 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
19897 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
19898 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
19899 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
19900 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
19901 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
19902 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
19903 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
19904
19905 * kern/i386/realmode.S: New file.
19906
19907 * kern/i386/pc/startup.S (protstack): Moved from here ...
19908 * kern/i386/realmode.S (protstack)... to here.
19909 * kern/i386/pc/startup.S (gdt): Moved from here ...
19910 * kern/i386/realmode.S (gdt)... to here.
19911 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
19912 * kern/i386/realmode.S (prot_to_real)... to here.
19913
19914 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
19915 `kern/i386/realmode.S'.
19916
19917 2007-10-17 Robert Millan <rmh@aybabtu.com>
19918
19919 * include/grub/i386/loader.h: New file.
19920
19921 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
19922 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
19923 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
19924 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
19925 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
19926 * include/grub/i386/loader.h (grub_linux_prot_size)
19927 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
19928 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
19929 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
19930 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
19931
19932 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
19933
19934 2007-10-15 Robert Millan <rmh@aybabtu.com>
19935
19936 * normal/misc.c (grub_normal_print_device_info): Do not probe for
19937 filesystem when dev->disk is unset.
19938 Do probe for filesystem even when dev->disk->has_partitions is set.
19939 In case a filesystem is found, always report it.
19940 In case it isn't, if dev->disk->has_partitions is set, report that
19941 a partition table was found instead of reporting that no filesystem
19942 could be identified.
19943
19944 2007-10-12 Robert Millan <rmh@aybabtu.com>
19945
19946 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
19947 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
19948
19949 * include/grub/types.h (grub_host_to_target16): New macro.
19950 (grub_host_to_target32): Likewise.
19951 (grub_host_to_target64): Likewise.
19952 (grub_target_to_host16): Likewise.
19953 (grub_target_to_host32): Likewise.
19954 (grub_target_to_host64): Likewise.
19955
19956 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
19957 Renamed from to ...
19958 (GRUB_MOD_ALIGN): ...this. Update all users.
19959
19960 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
19961 grub_host_to_target32.
19962 Replace grub_be_to_cpu32 with grub_target_to_host32.
19963 (load_modules): Likewise.
19964 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
19965 Replace grub_be_to_cpu32 with grub_target_to_host32.
19966 Replace grub_cpu_to_be16 with grub_host_to_target16.
19967 Replace grub_cpu_to_be32 grub_host_to_target32.
19968
19969 2007-10-12 Robert Millan <rmh@aybabtu.com>
19970
19971 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
19972 * util/elf/grub-mkimage.c: ... here.
19973
19974 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
19975 `util/powerpc/ieee1275/grub-mkimage.c'.
19976
19977 2007-10-07 Robert Millan <rmh@aybabtu.com>
19978
19979 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
19980 and make it easier to figure out.
19981 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
19982 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
19983 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
19984 leave us with less than HEAP_MIN_SIZE total heap.
19985 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
19986
19987 2007-10-03 Robert Millan <rmh@aybabtu.com>
19988
19989 * include/grub/i386/io.h: New file.
19990 * commands/i386/pc/play.c (inb): Removed.
19991 (outb): Removed.
19992 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
19993 with grub_outb().
19994 * term/i386/pc/serial.c (inb): Removed.
19995 (outb): Removed.
19996 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
19997 with grub_outb().
19998 * term/i386/pc/vga.c (inb): Removed.
19999 (outb): Removed.
20000 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20001 with grub_outb().
20002
20003 2007-10-02 Robert Millan <rmh@aybabtu.com>
20004
20005 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
20006 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20007 Reported by Marcin Kurek.
20008
20009 2007-09-07 Robert Millan <rmh@aybabtu.com>
20010
20011 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
20012 SmartFirmware version updates (as released by Sven Luther), and avoid
20013 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
20014 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
20015 known broken.
20016
20017 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20018
20019 From Hitoshi Ozeki:
20020 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
20021 when merging two regions.
20022
20023 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20024
20025 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
20026 * normal/completion.c (grub_normal_do_completion): Likewise.
20027 Reported by Hitoshi Ozeki.
20028
20029 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20030
20031 Do not use devices at boot in chainloading.
20032
20033 * loader/i386/pc/chainloader.c (boot_drive): New variable.
20034 (boot_part_addr): Likewise.
20035 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
20036 with BOOT_DRIVE and BOOT_PART_ADDR.
20037 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
20038 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
20039
20040 2007-08-29 Robert Millan <rmh@aybabtu.com>
20041
20042 Patch from Simon Peter <dn.tlp@gmx.net>:
20043 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
20044 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
20045 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
20046 util/i386/pc/grub-setup.c_DEPENDENCIES.
20047 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
20048 util/grub-probe.c_DEPENDENCIES.
20049 * conf/powerpc-ieee1275.rmk: Likewise.
20050
20051 2007-08-28 Robert Millan <rmh@aybabtu.com>
20052
20053 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
20054 to tell grub-mkdevicemap how to name devices.
20055 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
20056 feature).
20057
20058 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
20059 util/i386/get_disk_name.c.
20060 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
20061 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
20062 util/ieee1275/get_disk_name.c.
20063
20064 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
20065
20066 * DISTLIST: Add util/i386/get_disk_name.c and
20067 util/ieee1275/get_disk_name.c.
20068
20069 * util/grub-mkdevicemap.c: Replace device naming logic with
20070 grub_util_get_disk_name() calls.
20071
20072 2007-08-20 Robert Millan <rmh@aybabtu.com>
20073
20074 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
20075 (so that it works for both plural and singular quantities).
20076
20077 2007-08-05 Robert Millan <rmh@aybabtu.com>
20078
20079 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
20080 so that [xz] isn't taken into account when determining order.
20081
20082 2007-08-02 Marco Gerards <marco@gnu.org>
20083
20084 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
20085 `include/multiboot2.h', `include/grub/elfload.h',
20086 `include/multiboot.h', `include/grub/multiboot.h',
20087 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
20088 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
20089 `kern/elf.c', `loader/multiboot_loader.c',
20090 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
20091 `loader/i386/pc/multiboot2.c',
20092 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
20093 `util/i386/pc/grub-mkrescue.in'. Remove
20094 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
20095 `include/grub/i386/pc/util/biosdisk.h' and
20096 `include/grub/powerpc/ieee1275/multiboot.h'.
20097
20098 2007-08-02 Bean <bean123ch@gmail.com>
20099
20100 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
20101 (ntfs_mod_SOURCES): New variable.
20102 (ntfs_mod_CFLAGS): Likewise.
20103 (ntfs_mod_LDFLAGS): Likewise.
20104
20105 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
20106 (grub_probe_SOURCES): Likewise.
20107 (grub_emu_SOURCES): Likewise.
20108
20109 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
20110 (grub_emu_SOURCES): Likewise.
20111
20112 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
20113 (grub_emu_SOURCES): Likewise.
20114
20115 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
20116
20117 * fs/ntfs.c: New file.
20118
20119 2007-08-02 Bean <bean123ch@gmail.com>
20120
20121 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
20122
20123 * file.h (grub_file): Likewise.
20124
20125 * fshelp.h (grub_fshelp_read_file): Likewise.
20126
20127 * util/i386/pc/grub-setup.c (setup): Likewise.
20128 (save_first_sector): Likewise.
20129 (save_blocklists): Likewise.
20130
20131 * fs/affs.c (grub_affs_read_file): Likewise.
20132
20133 * fs/ext2.c (grub_ext2_read_file): Likewise.
20134
20135 * fs/fat.c (grub_fat_read_data): Likewise.
20136
20137 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
20138
20139 * fs/hfs.c (grub_hfs_read_file): Likewise.
20140
20141 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
20142
20143 * fs/jfs.c (grub_jfs_read_file): Likewise.
20144
20145 * fs/minix.c (grub_minix_read_file): Likewise.
20146
20147 * fs/sfs.c (grub_sfs_read_file): Likewise.
20148
20149 * fs/ufs.c (grub_ufs_read_file): Likewise.
20150
20151 * fs/xfs.c (grub_xfs_read_file): Likewise.
20152
20153 * command/blocklist.c (read_blocklist): Likewise.
20154 (print_blocklist): Likewise.
20155
20156 2007-08-02 Marco Gerards <marco@gnu.org>
20157
20158 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
20159 `util/hostfs.c'.
20160
20161 * disk/host.c: New file.
20162
20163 * util/hostfs.c: Likewise.
20164
20165 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
20166 return `GRUB_ERR_BAD_FS'.
20167 * fs/sfs.c (grub_sfs_mount): Likewise.
20168 * fs/xfs.c (grub_xfs_mount): Likewise.
20169
20170 * include/grub/disk.h (enum grub_disk_dev_id): Add
20171 `GRUB_DISK_DEVICE_HOST_ID'.
20172
20173 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
20174
20175 2007-07-24 Jerone Young <jerone@gmail.com>
20176
20177 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
20178 modules for compilation.
20179 * conf/powerpc-ieee1275.rmk: Likewise.
20180
20181 * include/multiboot.h: Move multiboot definitions to one file. Rename
20182 many definitions to not get grub specific.
20183 * include/multiboot2.h: Create header with multiboot 2 definitions.
20184 * include/grub/multiboot.h: Header for grub specific function
20185 prototypes and definitions.
20186 * include/grub/multiboot2.h: Likewise.
20187 * include/grub/multiboot_loader.h: Likewise.
20188 * include/grub/i386/pc/multiboot.h: Removed.
20189 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
20190
20191 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
20192 and 2 to allow for one multiboot and module commands.
20193 * loader/multiboot2.c: Add multiboot2 functionality.
20194 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
20195 and definition names.
20196 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
20197 2 functions.
20198 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
20199 ieee1275 specific multiboot2 code.
20200
20201 * kern/i386/pc/startup.S: Change headers and definition names for
20202 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
20203
20204 2007-07-22 Robert Millan <rmh@aybabtu.com>
20205
20206 * geninitheader.sh: Process file specified in first parameter rather
20207 than hardcoding grub_modules_init.lst.
20208 * geninit.sh: Likewise. Also, construct header name dynamically rather
20209 than hardcoding grub_modules_init.h.
20210
20211 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
20212 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
20213 grub_probe_init.[ch] and grub_setup_init.[ch].
20214
20215 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
20216 grub_modules_init.h with grub_emu_init.h.
20217 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
20218 grub_probe_init.[ch] files.
20219 * conf/i386-efi.rmk: Likewise.
20220 * conf/i386-pc.rmk: Likewise.
20221 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
20222 grub_setup_init.[ch] files.
20223
20224 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
20225 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
20226 to initialize modules rather than a list of hardcoded functions.
20227 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
20228 grub_init_all() to initialize modules rather than a list of hardcoded
20229 functions.
20230
20231 2007-07-22 Robert Millan <rmh@aybabtu.com>
20232
20233 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20234 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
20235
20236 2007-07-22 Robert Millan <rmh@aybabtu.com>
20237
20238 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
20239 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
20240 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
20241 flag when running on SmartFirmware.
20242 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
20243 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
20244 was set.
20245
20246 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
20247 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
20248 rather than decreasing it.
20249
20250 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
20251 there's not enough space to do it, fail in the same way as when it
20252 can't be done because there are no partitions.
20253
20254 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
20255 when nvsetenv failed.
20256
20257 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
20258
20259 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
20260 because this rule is automatically generated.
20261 (grub-mkrescue): Removed for the same reason as above.
20262
20263 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
20264
20265 Migrate to GNU General Public License Version 3.
20266
20267 * COPYING: Replaced with the plain text version of GPLv3.
20268
20269 * config.guess: Updated from gnulib.
20270 * config.sub: Likewise.
20271
20272 * geninit.sh: Output a GPLv3 copyright notice.
20273 * geninitheader.sh: Likewise.
20274 * genmodsrc.sh: Likewise.
20275 * gensymlist.sh.in: Likewise.
20276
20277 * boot/i386/pc/boot.S: Upgraded to GPLv3.
20278 * boot/i386/pc/diskboot.S: Likewise.
20279 * boot/i386/pc/pxeboot.S: Likewise.
20280 * commands/blocklist.c: Likewise.
20281 * commands/boot.c: Likewise.
20282 * commands/cat.c: Likewise.
20283 * commands/cmp.c: Likewise.
20284 * commands/configfile.c: Likewise.
20285 * commands/echo.c: Likewise.
20286 * commands/help.c: Likewise.
20287 * commands/ls.c: Likewise.
20288 * commands/search.c: Likewise.
20289 * commands/terminal.c: Likewise.
20290 * commands/test.c: Likewise.
20291 * commands/videotest.c: Likewise.
20292 * commands/i386/cpuid.c: Likewise.
20293 * commands/i386/pc/halt.c: Likewise.
20294 * commands/i386/pc/play.c: Likewise.
20295 * commands/i386/pc/reboot.c: Likewise.
20296 * commands/i386/pc/vbeinfo.c: Likewise.
20297 * commands/i386/pc/vbetest.c: Likewise.
20298 * commands/ieee1275/halt.c: Likewise.
20299 * commands/ieee1275/reboot.c: Likewise.
20300 * commands/ieee1275/suspend.c: Likewise.
20301 * disk/loopback.c: Likewise.
20302 * disk/lvm.c: Likewise.
20303 * disk/raid.c: Likewise.
20304 * disk/efi/efidisk.c: Likewise.
20305 * disk/i386/pc/biosdisk.c: Likewise.
20306 * disk/ieee1275/ofdisk.c: Likewise.
20307 * font/manager.c: Likewise.
20308 * fs/affs.c: Likewise.
20309 * fs/ext2.c: Likewise.
20310 * fs/fat.c: Likewise.
20311 * fs/fshelp.c: Likewise.
20312 * fs/hfs.c: Likewise.
20313 * fs/hfsplus.c: Likewise.
20314 * fs/iso9660.c: Likewise.
20315 * fs/jfs.c: Likewise.
20316 * fs/minix.c: Likewise.
20317 * fs/sfs.c: Likewise.
20318 * fs/ufs.c: Likewise.
20319 * fs/xfs.c: Likewise.
20320 * hello/hello.c: Likewise.
20321 * include/grub/acorn_filecore.h: Likewise.
20322 * include/grub/arg.h: Likewise.
20323 * include/grub/bitmap.h: Likewise.
20324 * include/grub/boot.h: Likewise.
20325 * include/grub/cache.h: Likewise.
20326 * include/grub/device.h: Likewise.
20327 * include/grub/disk.h: Likewise.
20328 * include/grub/dl.h: Likewise.
20329 * include/grub/elfload.h: Likewise.
20330 * include/grub/env.h: Likewise.
20331 * include/grub/err.h: Likewise.
20332 * include/grub/file.h: Likewise.
20333 * include/grub/font.h: Likewise.
20334 * include/grub/fs.h: Likewise.
20335 * include/grub/fshelp.h: Likewise.
20336 * include/grub/gzio.h: Likewise.
20337 * include/grub/hfs.h: Likewise.
20338 * include/grub/kernel.h: Likewise.
20339 * include/grub/loader.h: Likewise.
20340 * include/grub/lvm.h: Likewise.
20341 * include/grub/misc.h: Likewise.
20342 * include/grub/mm.h: Likewise.
20343 * include/grub/net.h: Likewise.
20344 * include/grub/normal.h: Likewise.
20345 * include/grub/parser.h: Likewise.
20346 * include/grub/partition.h: Likewise.
20347 * include/grub/pc_partition.h: Likewise.
20348 * include/grub/raid.h: Likewise.
20349 * include/grub/rescue.h: Likewise.
20350 * include/grub/script.h: Likewise.
20351 * include/grub/setjmp.h: Likewise.
20352 * include/grub/symbol.h: Likewise.
20353 * include/grub/term.h: Likewise.
20354 * include/grub/terminfo.h: Likewise.
20355 * include/grub/tparm.h: Likewise.
20356 * include/grub/types.h: Likewise.
20357 * include/grub/video.h: Likewise.
20358 * include/grub/efi/api.h: Likewise.
20359 * include/grub/efi/chainloader.h: Likewise.
20360 * include/grub/efi/console.h: Likewise.
20361 * include/grub/efi/console_control.h: Likewise.
20362 * include/grub/efi/disk.h: Likewise.
20363 * include/grub/efi/efi.h: Likewise.
20364 * include/grub/efi/pe32.h: Likewise.
20365 * include/grub/efi/time.h: Likewise.
20366 * include/grub/i386/linux.h: Likewise.
20367 * include/grub/i386/setjmp.h: Likewise.
20368 * include/grub/i386/types.h: Likewise.
20369 * include/grub/i386/efi/kernel.h: Likewise.
20370 * include/grub/i386/efi/loader.h: Likewise.
20371 * include/grub/i386/efi/time.h: Likewise.
20372 * include/grub/i386/pc/biosdisk.h: Likewise.
20373 * include/grub/i386/pc/boot.h: Likewise.
20374 * include/grub/i386/pc/chainloader.h: Likewise.
20375 * include/grub/i386/pc/console.h: Likewise.
20376 * include/grub/i386/pc/init.h: Likewise.
20377 * include/grub/i386/pc/kernel.h: Likewise.
20378 * include/grub/i386/pc/loader.h: Likewise.
20379 * include/grub/i386/pc/memory.h: Likewise.
20380 * include/grub/i386/pc/multiboot.h: Likewise.
20381 * include/grub/i386/pc/serial.h: Likewise.
20382 * include/grub/i386/pc/time.h: Likewise.
20383 * include/grub/i386/pc/vbe.h: Likewise.
20384 * include/grub/i386/pc/vbeblit.h: Likewise.
20385 * include/grub/i386/pc/vbefill.h: Likewise.
20386 * include/grub/i386/pc/vbeutil.h: Likewise.
20387 * include/grub/i386/pc/vga.h: Likewise.
20388 * include/grub/ieee1275/ieee1275.h: Likewise.
20389 * include/grub/ieee1275/ofdisk.h: Likewise.
20390 * include/grub/powerpc/libgcc.h: Likewise.
20391 * include/grub/powerpc/setjmp.h: Likewise.
20392 * include/grub/powerpc/types.h: Likewise.
20393 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
20394 * include/grub/powerpc/ieee1275/console.h: Likewise.
20395 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
20396 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20397 * include/grub/powerpc/ieee1275/loader.h: Likewise.
20398 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
20399 * include/grub/powerpc/ieee1275/time.h: Likewise.
20400 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
20401 * include/grub/sparc64/libgcc.h: Likewise.
20402 * include/grub/sparc64/setjmp.h: Likewise.
20403 * include/grub/sparc64/types.h: Likewise.
20404 * include/grub/sparc64/ieee1275/console.h: Likewise.
20405 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
20406 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20407 * include/grub/sparc64/ieee1275/time.h: Likewise.
20408 * include/grub/util/biosdisk.h: Likewise.
20409 * include/grub/util/getroot.h: Likewise.
20410 * include/grub/util/lvm.h: Likewise.
20411 * include/grub/util/misc.h: Likewise.
20412 * include/grub/util/raid.h: Likewise.
20413 * include/grub/util/resolve.h: Likewise.
20414 * io/gzio.c: Likewise.
20415 * kern/device.c: Likewise.
20416 * kern/disk.c: Likewise.
20417 * kern/dl.c: Likewise.
20418 * kern/elf.c: Likewise.
20419 * kern/env.c: Likewise.
20420 * kern/err.c: Likewise.
20421 * kern/file.c: Likewise.
20422 * kern/fs.c: Likewise.
20423 * kern/loader.c: Likewise.
20424 * kern/main.c: Likewise.
20425 * kern/misc.c: Likewise.
20426 * kern/mm.c: Likewise.
20427 * kern/parser.c: Likewise.
20428 * kern/partition.c: Likewise.
20429 * kern/rescue.c: Likewise.
20430 * kern/term.c: Likewise.
20431 * kern/efi/efi.c: Likewise.
20432 * kern/efi/init.c: Likewise.
20433 * kern/efi/mm.c: Likewise.
20434 * kern/i386/dl.c: Likewise.
20435 * kern/i386/efi/init.c: Likewise.
20436 * kern/i386/efi/startup.S: Likewise.
20437 * kern/i386/pc/init.c: Likewise.
20438 * kern/i386/pc/lzo1x.S: Likewise.
20439 * kern/i386/pc/startup.S: Likewise.
20440 * kern/ieee1275/ieee1275.c: Likewise.
20441 * kern/powerpc/cache.S: Likewise.
20442 * kern/powerpc/dl.c: Likewise.
20443 * kern/powerpc/ieee1275/cmain.c: Likewise.
20444 * kern/powerpc/ieee1275/crt0.S: Likewise.
20445 * kern/powerpc/ieee1275/init.c: Likewise.
20446 * kern/powerpc/ieee1275/openfw.c: Likewise.
20447 * kern/sparc64/cache.S: Likewise.
20448 * kern/sparc64/dl.c: Likewise.
20449 * kern/sparc64/ieee1275/init.c: Likewise.
20450 * kern/sparc64/ieee1275/openfw.c: Likewise.
20451 * loader/efi/chainloader.c: Likewise.
20452 * loader/efi/chainloader_normal.c: Likewise.
20453 * loader/i386/efi/linux.c: Likewise.
20454 * loader/i386/efi/linux_normal.c: Likewise.
20455 * loader/i386/pc/chainloader.c: Likewise.
20456 * loader/i386/pc/chainloader_normal.c: Likewise.
20457 * loader/i386/pc/linux.c: Likewise.
20458 * loader/i386/pc/linux_normal.c: Likewise.
20459 * loader/i386/pc/multiboot.c: Likewise.
20460 * loader/i386/pc/multiboot_normal.c: Likewise.
20461 * loader/powerpc/ieee1275/linux.c: Likewise.
20462 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20463 * normal/arg.c: Likewise.
20464 * normal/cmdline.c: Likewise.
20465 * normal/command.c: Likewise.
20466 * normal/completion.c: Likewise.
20467 * normal/execute.c: Likewise.
20468 * normal/function.c: Likewise.
20469 * normal/lexer.c: Likewise.
20470 * normal/main.c: Likewise.
20471 * normal/menu.c: Likewise.
20472 * normal/menu_entry.c: Likewise.
20473 * normal/misc.c: Likewise.
20474 * normal/parser.y: Likewise.
20475 * normal/script.c: Likewise.
20476 * normal/i386/setjmp.S: Likewise.
20477 * normal/powerpc/setjmp.S: Likewise.
20478 * normal/sparc64/setjmp.S: Likewise.
20479 * partmap/acorn.c: Likewise.
20480 * partmap/amiga.c: Likewise.
20481 * partmap/apple.c: Likewise.
20482 * partmap/gpt.c: Likewise.
20483 * partmap/pc.c: Likewise.
20484 * partmap/sun.c: Likewise.
20485 * term/gfxterm.c: Likewise.
20486 * term/terminfo.c: Likewise.
20487 * term/efi/console.c: Likewise.
20488 * term/i386/pc/console.c: Likewise.
20489 * term/i386/pc/serial.c: Likewise.
20490 * term/i386/pc/vesafb.c: Likewise.
20491 * term/i386/pc/vga.c: Likewise.
20492 * term/ieee1275/ofconsole.c: Likewise.
20493 * util/biosdisk.c: Likewise.
20494 * util/console.c: Likewise.
20495 * util/genmoddep.c: Likewise.
20496 * util/getroot.c: Likewise.
20497 * util/grub-emu.c: Likewise.
20498 * util/grub-mkdevicemap.c: Likewise.
20499 * util/grub-probe.c: Likewise.
20500 * util/lvm.c: Likewise.
20501 * util/misc.c: Likewise.
20502 * util/raid.c: Likewise.
20503 * util/resolve.c: Likewise.
20504 * util/update-grub.in: Likewise.
20505 * util/update-grub_lib.in: Likewise.
20506 * util/grub.d/00_header.in: Likewise.
20507 * util/grub.d/10_hurd.in: Likewise.
20508 * util/grub.d/10_linux.in: Likewise.
20509 * util/i386/efi/grub-install.in: Likewise.
20510 * util/i386/efi/grub-mkimage.c: Likewise.
20511 * util/i386/pc/grub-install.in: Likewise.
20512 * util/i386/pc/grub-mkimage.c: Likewise.
20513 * util/i386/pc/grub-mkrescue.in: Likewise.
20514 * util/i386/pc/grub-setup.c: Likewise.
20515 * util/i386/pc/misc.c: Likewise.
20516 * util/powerpc/ieee1275/grub-install.in: Likewise.
20517 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
20518 * util/powerpc/ieee1275/misc.c: Likewise.
20519 * video/bitmap.c: Likewise.
20520 * video/video.c: Likewise.
20521 * video/i386/pc/vbe.c: Likewise.
20522 * video/i386/pc/vbeblit.c: Likewise.
20523 * video/i386/pc/vbefill.c: Likewise.
20524 * video/i386/pc/vbeutil.c: Likewise.
20525 * video/readers/tga.c: Likewise.
20526
20527 2007-07-02 Robert Millan <rmh@aybabtu.com>
20528
20529 * conf/i386-efi.rmk: Replace obsolete reference to
20530 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
20531 with util/getroot.c.
20532 * conf/powerpc-ieee1275.rmk: Likewise.
20533 * conf/sparc64-ieee1275.rmk: Likewise.
20534
20535 * util/grub-emu.c (main): Fix unchecked pointer handling.
20536
20537 2007-07-02 Robert Millan <rmh@aybabtu.com>
20538
20539 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
20540 invocation to fail, in order to support partition-less media.
20541
20542 * util/i386/pc/grub-install.in: Likewise.
20543
20544 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
20545 which fs or partmap modules are needed (akin to its sister scripts).
20546
20547 Also use grub-probe to get rid of unportable /proc/mounts check.
20548
20549 Print the same informational message that the other scripts do, before
20550 exiting.
20551
20552 2007-06-23 Robert Millan <rmh@aybabtu.com>
20553
20554 * util/update-grub_lib.in (font_path): New function. Determine whether
20555 a font file can be found and, if so, echo the GRUB path to it.
20556
20557 * util/update-grub.in: Handle multiple terminals depending on user
20558 input, platform availability and font file presence. Propagate
20559 variables of our findings to /etc/grub.d/ children.
20560
20561 * util/grub.d/00_header.in: Handle multiple terminals, based on
20562 environment setup by update-grub.
20563
20564 2007-06-23 Robert Millan <rmh@aybabtu.com>
20565
20566 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
20567
20568 2007-06-21 Robert Millan <rmh@aybabtu.com>
20569
20570 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
20571 indicate end of data section in kernel image.
20572 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
20573 GRUB_KERNEL_MACHINE_DATA_END.
20574
20575 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
20576 space for it.
20577 * kern/i386/efi/startup.S: Likewise.
20578
20579 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
20580 during image generation. Implement --prefix option to override this
20581 patch.
20582 * util/i386/efi/grub-mkimage.c: Likewise.
20583
20584 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
20585 code to make path relative to its root into a separate function.
20586
20587 * util/i386/pc/grub-install.in: Use newly provided
20588 make_system_path_relative_to_its_root() to convert ${grubdir}, then
20589 pass the result to grub-install --prefix.
20590
20591 2007-06-13 Robert Millan <rmh@aybabtu.com>
20592
20593 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
20594 DEFAULT_DEVICE_MAP.
20595 * util/grub-emu.c: Use above definitions from misc.h instead of
20596 defining them.
20597 * util/grub-mkdevicemap.c: Likewise.
20598 * util/i386/pc/grub-setup.c: Likewise.
20599 * util/grub-probe.c: Likewise.
20600 (probe): Abort with grub_util_error() when either
20601 grub_guess_root_device or grub_util_get_grub_dev fails.
20602
20603 2007-06-12 Robert Millan <rmh@aybabtu.com>
20604
20605 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
20606 "pager" assignment.
20607 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
20608 "pcdata".
20609 * util/grub-probe.c (probe): Likewise for "drive_name".
20610
20611 2007-06-11 Robert Millan <rmh@aybabtu.com>
20612
20613 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
20614 not just the cdrom one.
20615
20616 2007-06-11 Robert Millan <rmh@aybabtu.com>
20617
20618 * util/i386/pc/grub-mkrescue.in: Add "set -e".
20619 Add --pkglibdir=DIR option to override pkglibdir.
20620 Mention --image-type=TYPE in help output.
20621 Fix --grub-mkimage (it was a no-op).
20622 Abort gracefully when no parameter is given.
20623
20624 2007-06-11 Robert Millan <rmh@aybabtu.com>
20625
20626 * util/i386/pc/grub-mkrescue.in: New file.
20627 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
20628 * Makefile.in: Handle bin_SCRIPTS.
20629
20630 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
20631
20632 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
20633 list of video modes.
20634
20635 2007-06-06 Robert Millan <rmh@aybabtu.com>
20636
20637 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
20638 file doesn't exist, or if it is in a filesystem grub can't read.
20639
20640 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
20641 not abort if GRUB_DRIVE could not be defined. Rearrange generated
20642 header comment to fit in 80 columns when the variables are resolved.
20643
20644 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
20645 could be identified by update-grub. Remove redundant check for
20646 unifont.pff existence (since convert_system_path_to_grub_path now
20647 handles that).
20648
20649 2007-06-04 Robert Millan <rmh@aybabtu.com>
20650
20651 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
20652
20653 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
20654
20655 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
20656
20657 2007-06-04 Robert Millan <rmh@aybabtu.com>
20658
20659 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
20660
20661 * include/grub/partition.h: Declare grub_apple_partition_map_init and
20662 grub_apple_partition_map_fini.
20663
20664 * util/biosdisk.c
20665 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
20666 to access >2 TiB disks).
20667
20668 Print disk->total_sectors with %llu instead of %lu, since this
20669 variable is always 64-bit (prevents wrong disk size from being displayed
20670 on either >2 TiB disk or big-endian CPU).
20671
20672 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
20673 into a generic case that supports all (sane) partition maps.
20674
20675 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
20676 breaks big-endian.
20677
20678 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
20679 and grub_apple_partition_map_fini() after that.
20680
20681 2007-06-01 Robert Millan <rmh@aybabtu.com>
20682
20683 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
20684
20685 * util/grub.d/00_header.in: Only enable gfxterm when
20686 convert_system_path_to_grub_path() succeeds.
20687
20688 2007-05-20 Robert Millan <rmh@aybabtu.com>
20689
20690 * util/update-grub_lib.in: New file.
20691 * DISTLIST: Add update-grub_lib.in.
20692 * conf/common.rmk: Generate update-grub_lib and install it in
20693 $(lib_DATA).
20694 * Makefile.in: Add install routine for $(lib_DATA).
20695
20696 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
20697 function provided by update-grub_lib to support arbitrary paths of
20698 unifont.pff.
20699 * util/update-grub.in: Use convert_system_path_to_grub_path() to
20700 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
20701
20702 2007-05-19 Robert Millan <rmh@aybabtu.com>
20703
20704 * commands/i386/cpuid.c: New module.
20705 * DISTLIST: Add it.
20706 * conf/i386-efi.rmk: Enable cpuid.mod.
20707 * conf/i386-pc.rmk: Likewise.
20708
20709 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
20710
20711 * kern/disk.c (grub_disk_read): Check return value of
20712 grub_realloc().
20713
20714 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
20715
20716 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
20717 arrays.
20718 * disk/raid.c (grub_raid_open): Likewise.
20719
20720 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
20721
20722 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
20723 stack instead of on the heap.
20724
20725 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
20726 before doing a read on it.
20727
20728 * configure.ac: Only use -fno-stack-protector for the target
20729 environment.
20730
20731 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
20732
20733 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
20734 __attribute_ ((unused)) to mode_type argument.
20735
20736 * util/getroot.c (grub_guess_root_device): Fix #endif.
20737
20738 * kern/misc.c (memcmp): Fix prototype.
20739
20740 * include/grub/partition.h [GRUB_UTIL]
20741 (grub_gpt_partition_map_init): Add prototype.
20742 (grub_gpt_partition_map_fini): Likewise.
20743
20744 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
20745 at the right place.
20746
20747 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
20748 (grub_fat_read_data): Likewise.
20749 (grub_fat_find_dir): Likewise.
20750
20751 * font/manager.c (find_glyph): Make table a const.
20752 (grub_font_get_glyph): Remove bitmap from if statement.
20753
20754 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
20755
20756 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
20757 code, first search for device in /dev/mapper, then in /dev.
20758 (grub_util_get_grub_dev): New function.
20759 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
20760 prototype.
20761 * util/grub-probe.c (probe): Remove check for RAID, call
20762 grub_util_get_grub_dev() instead of
20763 grub_util_biosdisk_get_grub_dev().
20764 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
20765 grub_util_biosdisk_get_grub_dev().
20766 * util/i386/pc/grub-setup.c (main): Likewise.
20767
20768 2007-05-16 Robert Millan <rmh@aybabtu.com>
20769
20770 * DISTLIST: Update for the latest changes.
20771 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
20772 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
20773 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
20774 grub/util/biosdisk.h.
20775 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
20776 grub/util/biosdisk.h.
20777
20778 2007-05-16 Robert Millan <rmh@aybabtu.com>
20779
20780 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
20781
20782 2007-05-16 Robert Millan <rmh@aybabtu.com>
20783
20784 * util/i386/efi/grub-install.in: New.
20785 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
20786 newly added grub-install.
20787 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
20788 include.
20789 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
20790 grub/util/biosdisk.h.
20791 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
20792 grub/util/biosdisk.h.
20793
20794 2007-05-16 Robert Millan <rmh@aybabtu.com>
20795
20796 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
20797 * include/grub/util/biosdisk.h: ... here.
20798 * util/i386/pc/biosdisk.c: Moved to ...
20799 * util/biosdisk.c: ... here.
20800 * util/i386/pc/getroot.c: Moved to ...
20801 * util/getroot.c: ... here.
20802 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
20803 * util/grub-mkdevicemap.c: ... here.
20804 * util/i386/pc/grub-probe.c: Moved to ...
20805 * util/grub-probe.c: ... here.
20806
20807 2007-05-15 Robert Millan <rmh@aybabtu.com>
20808
20809 * util/update-grub.in: Remove duplicated line in grub.cfg header
20810 message.
20811
20812 2007-05-13 Robert Millan <rmh@aybabtu.com>
20813
20814 * util/update-grub.in: Fix a few assumptions about the devices holding
20815 /, /boot and /boot/grub being the same.
20816 * util/grub.d/00_header.in: Likewise.
20817 * util/grub.d/10_hurd.in: Likewise.
20818 * util/grub.d/10_linux.in: Likewise.
20819
20820 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
20821 patterns. Use that to define the `.old' suffix as older than `'.
20822
20823 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
20824
20825 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
20826 the grub.cfg header message.
20827
20828 2007-05-11 Robert Millan <rmh@aybabtu.com>
20829
20830 * util/update-grub.in: Create device.map if it doesn't already exist,
20831 before attempting to run grub-probe.
20832 Check for grub-probe and grub-mkdevicemap with the same code
20833 grub-install is using.
20834 Remove test mode.
20835
20836 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
20837
20838 * Makefile.in: Add the datarootdir autoconf variable.
20839
20840 2007-05-09 Robert Millan <rmh@aybabtu.com>
20841
20842 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
20843 fail gracefully if dev->disk->partition == NULL.
20844
20845 2007-05-07 Robert Millan <rmh@aybabtu.com>
20846
20847 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
20848 determine partition map module.
20849 * util/i386/pc/grub-install.in: Use this feature to decide which
20850 partition module to load, instead of hardcoding pc and gpt.
20851
20852 2007-05-07 Robert Millan <rmh@aybabtu.com>
20853
20854 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
20855 source directory differs from build directory.
20856
20857 2007-05-05 Robert Millan <rmh@aybabtu.com>
20858
20859 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
20860 initialisation.
20861
20862 2007-05-05 Robert Millan <rmh@aybabtu.com>
20863
20864 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
20865
20866 2007-05-05 Robert Millan <rmh@aybabtu.com>
20867
20868 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
20869 command-line arguments via ${GRUB_CMDLINE_LINUX}.
20870
20871 2007-05-05 Robert Millan <rmh@aybabtu.com>
20872
20873 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
20874 (grub_probe_SOURCES): Likewise.
20875 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
20876 GPT and initialize dos_part and bsd_part accordingly.
20877 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
20878 install_bsd_part.
20879 (main): Activate gpt module for use during partition identification,
20880 and deactivate it afterwards.
20881 * util/i386/pc/grub-install.in: Add gpt module to core.img.
20882 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
20883 partition identification, and deactivate it afterwards.
20884
20885 2007-05-05 Robert Millan <rmh@aybabtu.com>
20886
20887 * term/i386/pc/console.c (grub_console_fini): Call
20888 grub_term_set_current() before grub_term_unregister().
20889
20890 2007-05-04 Robert Millan <rmh@aybabtu.com>
20891
20892 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
20893 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
20894 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
20895 and update-grub_DATA.
20896 * conf/common.rmk: Build and install update-grub components.
20897 * conf/common.mk: Regenerate.
20898 * util/update-grub.in: New. Core of update-grub.
20899 * util/grub.d/00_header.in: New. Generates grub.cfg header.
20900 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
20901 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
20902 * util/grub.d/README: New. Document grub.d directory layout.
20903
20904 2007-05-01 Robert Millan <rmh@aybabtu.com>
20905
20906 * util/grub-emu.c: Move initialization functions
20907 grub_util_biosdisk_init() and grub_init_all() before
20908 grub_util_biosdisk_get_grub_dev(), which relies on them.
20909
20910 2007-04-19 Robert Millan <rmh@aybabtu.com>
20911
20912 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
20913 it is used later.
20914
20915 2007-04-18 Jerone Young <jerone@gmail.com>
20916
20917 * kernel/elf.c: Add missing parenthesis for conditional statement
20918 stanza.
20919
20920 2007-04-10 Jerone Young <jerone@gmail.com>
20921
20922 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
20923 continue on and look for device node with real device name.
20924
20925 2007-04-10 Jerone Young <jerone@gmail.com>
20926
20927 * configure.ac: Add argument for autoconf to use transformation
20928 ability.
20929 * Makefile.in: Add autoconf package transformation code.
20930 * util/i386/pc/grub-install.in: Likewise.
20931 * util/powerpc/ieee1275/grub-install.in: Likewise.
20932
20933 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
20934
20935 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
20936 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
20937 (EXT2_REVISION): Likewise.
20938 (EXT2_INODE_SIZE): Likewise.
20939 (struct grub_ext2_block_group): Added a missing member
20940 "used_dirs".
20941 (grub_ext2_read_inode): Divide by the inode size in a superblock
20942 instead of 128 to obtain INODES_PER_BLOCK.
20943 Use the macro EXT2_INODE_SIZE instead of directly using
20944 SBLOCK->INODE_SIZE.
20945
20946 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
20947
20948 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
20949 superblock instead of the structure size to compute an
20950 offset. This fixes the problem that GRUB could not read a
20951 filesystem when inode size is different from 128-byte.
20952
20953 2007-03-05 Marco Gerards <marco@gnu.org>
20954
20955 * normal/main.c (read_config_file): When "menu" is not set, create
20956 an initial context.
20957
20958 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
20959
20960 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
20961 (HEAP_LIMIT): New macro.
20962 (grub_claim_heap): Claim memory up to `heaplimit'.
20963
20964 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
20965
20966 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
20967 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
20968 (_start): Likewise.
20969 (grub_arch_modules_addr): Return address after `_end'.
20970 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
20971 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
20972 (add_segments): Calculate `_end' from phdr size and location.
20973 (ALIGN_UP): Moved to ...
20974 * include/grub/misc.h: here.
20975 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
20976 New macro.
20977 (GRUB_IEEE1275_MODULE_BASE): Removed.
20978
20979 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
20980
20981 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
20982 loop boundary.
20983
20984 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
20985
20986 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
20987 All users updated.
20988 (grub_elf64_load_hook_t): Likewise.
20989 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
20990 debug output.
20991
20992 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
20993
20994 * kern/mm.c: Update copyright.
20995 (grub_mm_debug): Correct syntax error.
20996 (grub_mm_dump_free): New function.
20997 (grub_debug_free): Call `grub_free'.
20998 * include/grub/mm.h: Update copyright.
20999 (grub_mm_dump_free): Add declaration.
21000
21001 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
21002
21003 * include/grub/ieee1275/ieee1275.h: Update copyright.
21004 * kern/powerpc/ieee1275/init.c: Likewise.
21005 * kern/powerpc/ieee1275/openfw.c: Likewise.
21006
21007 * loader/powerpc/ieee1275/linux.c: Likewise.
21008 * include/grub/elfload.h: Likewise.
21009 * kern/elf.c: Likewise.
21010 (grub_elf32_load): Pass `base' and `size' parameters. Update all
21011 callers.
21012 (grub_elf64_load): Likewise.
21013 (grub_elf32_load_segment): Move to a nested function.
21014 (grub_elf64_load_segment): Likewise.
21015
21016 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
21017
21018 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
21019 prototype.
21020 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
21021 (grub_heap_len): Likewise.
21022 (HEAP_SIZE): New macro.
21023 (grub_claim_heap): New function.
21024 (grub_machine_init): Don't claim heap directly. Call
21025 `grub_claim_heap'.
21026 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
21027 (grub_available_iterate): New function.
21028
21029 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
21030
21031 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
21032 * configure.ac: Use it for testing the HOST and TARGET compilers.
21033
21034 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
21035
21036 * Makefile.in (enable_grub_emu): New variable.
21037 * configure.ac (--enable-grub-emu): New option.
21038 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
21039 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
21040 * conf/i386-pc.rmk: Likewise.
21041 * conf/powerpc-ieee1275.rmk: Likewise.
21042 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
21043
21044 2006-12-12 Marco Gerards <marco@gnu.org>
21045
21046 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
21047
21048 * kern/env.c (grub_env_unset): Don't free the member `value' when
21049 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
21050 pointer.
21051
21052 * normal/main.c (current_menu): Removed.
21053 (free_menu): Unset the `menu' environment variable.
21054 (grub_normal_menu_addentry): Make use of the environment variable
21055 `menu', instead of using the global `current_menu'. Allocate
21056 memory for the sourcecode of this entry.
21057 (read_config_file): New argument `nested', changed all callers.
21058 Only in the case of a new context, initialize a new menu. Set the
21059 `menu' environment variable.
21060 (grub_normal_execute): Don't set and unset the environment
21061 variable `menu' here anymore. Only free the menu when leaving the
21062 context.
21063
21064 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
21065 leak.
21066
21067 2006-12-11 Marco Gerards <marco@gnu.org>
21068
21069 * normal/menu_entry.c (run): Fix off by one bug so the last line
21070 is executed. Move the loader check to outside the loop.
21071
21072 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
21073
21074 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
21075
21076 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
21077
21078 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
21079 the number of sectors. Reported by Andrey Shuvikov
21080 <mr_hyro@yahoo.com>.
21081
21082 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
21083
21084 * kern/disk.c (grub_disk_read): When there is a read error, always
21085 try to read only the necessary data.
21086
21087 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
21088 disk/raid.c.
21089 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
21090 prototype.
21091 [GRUB_UTIL] (grub_raid_fini): Likewise.
21092 [GRUB_UTIL] (grub_lvm_init): Likewise.
21093 [GRUB_UTIL] (grub_lvm_fini): Likewise.
21094 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
21095 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
21096 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
21097 and grub_raid_fini().
21098
21099 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
21100
21101 * include/grub/types.h (__unused): Rename to UNUSED.
21102 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
21103 (grub_elf64_size): Likewise.
21104
21105 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
21106
21107 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
21108 grub_error_push and grub_error_pop in the error-handling path.
21109 (grub_elf32_load_segment): Only call grub_file_read with non-zero
21110 length.
21111
21112 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
21113
21114 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
21115 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21116 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21117 (kernel_elf_SOURCES): Likewise.
21118 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
21119 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
21120 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21121 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21122 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
21123 (elf_mod_SOURCES): New variable.
21124 (elf_mod_CFLAGS): Likewise.
21125 (elf_mod_LDFLAGS): Likewise.
21126 * include/grub/types.h (__unused): New macro.
21127 * include/grub/elfload.h: New file.
21128 * kern/elf.c: Likewise.
21129 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
21130 (ELF32_LOADMASK): New macro.
21131 (ELF64_LOADMASK): Likewise.
21132 (vmlinux): Removed.
21133 (grub_linux_load32): New function.
21134 (grub_linux_load64): Likewise.
21135 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
21136 Use grub_elf_t instead of grub_file_t.
21137
21138 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
21139
21140 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
21141 `catch_result' to struct set_color_args.
21142
21143 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
21144
21145 * normal/menu.c: Include grub/script.h.
21146 * normal/menu_entry.c: Likewise.
21147 * include/grub/normal.h: Do not include grub/script.h.
21148
21149 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
21150
21151 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
21152
21153 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
21154
21155 * kern/disk.c (grub_disk_open): Print debug messages when opening a
21156 disk.
21157 (grub_disk_close): Print debug messages when closing a disk.
21158 (grub_disk_read): Print debug messages when disk read fails.
21159 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
21160 filesystem type.
21161 * kern/partition.c: Include misc.h.
21162 (grub_partition_iterate): Print debug messages when detecting
21163 partition type.
21164
21165 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
21166
21167 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
21168 is negative.
21169 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
21170
21171 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
21172
21173 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
21174 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
21175
21176 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
21177
21178 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
21179 instead of sizeof(lv). Patch by Michael Guntsche.
21180
21181 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
21182
21183 * disk/lvm.c: Rename VGS to VG_LIST.
21184 (grub_lvm_iterate): Change VGS->LV to VG-LV.
21185 (grub_lvm_open): Likewise.
21186 Thanks to Michael Guntsche for finding this bug.
21187
21188 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21189
21190 * configure.ac (AC_INIT): Bumped to 1.95.
21191
21192 2006-10-14 Robert Millan <rmh@aybabtu.com>
21193
21194 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
21195 with "/dev/.static/dev/md".
21196
21197 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
21198
21199 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
21200 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
21201 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
21202 DRIVE_NAME are always freed.
21203
21204 * util/i386/pc/biosdisk.c (make_device_name): Add one into
21205 DOS_PART, as a DOS partition is counted from one instead of zero
21206 now. Reported by Robert Millan.
21207
21208 2006-10-14 Robert Millan <rmh@aybabtu.com>
21209
21210 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
21211 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
21212 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
21213 string returned by grub_guess_root_device.
21214 * util/i386/pc/grub-setup.c: Likewise.
21215 * util/i386/pc/grub-probefs.c: Likewise.
21216
21217 * util/i386/pc/grub-probefs.c: Rename to ...
21218 * util/i386/pc/grub-probe.c: ... this.
21219 * DISTLIST: Remove grub-probefs, add grub-probe.
21220 * conf/i386-efi.rmk: Likewise.
21221 * conf/i386-pc.rmk: Likewise.
21222 * util/i386/pc/grub-install.in: Likewise.
21223
21224 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
21225 choose which information we want to print.
21226
21227 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
21228
21229 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
21230 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
21231 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
21232 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
21233 video/readers/tga.c and video/i386/pc/vbeutil.c.
21234
21235 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
21236
21237 Added support for RAID and LVM.
21238
21239 * disk/lvm.c: New file.
21240 * disk/raid.c: Likewise.
21241 * include/grub/lvm.h: Likewise.
21242 * include/grub/raid.h: Likewise.
21243 * include/grub/util/lvm.h: Likewise.
21244 * include/grub/util/raid.h: Likewise.
21245 * util/lvm.c: Likewise.
21246 * util/raid.c: Likewise.
21247
21248 * include/grub/disk.h (grub_disk_dev_id): Add
21249 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
21250 (grub_disk_get_size): New prototype.
21251 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
21252 returns a partition.
21253 (grub_disk_get_size): New function.
21254
21255 * kern/i386/pc/init.c (make_install_device): Copy the prefix
21256 verbatim if grub_install_dos_part is -2.
21257
21258 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
21259 and LVM devices.
21260
21261 * util/i386/pc/grub-setup.c (setup): New argument
21262 MUST_EMBED. Force embedding of GRUB when the argument is
21263 true. Close FILE before returning.
21264 (main): Add support for RAID and LVM.
21265
21266 * conf/common.rmk: Add RAID and LVM modules.
21267 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
21268 util/lvm.c.
21269 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
21270
21271 * kern/misc.c (grub_strstr): New function.
21272 * include/grub/misc.h (grub_strstr): New prototype.
21273
21274 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
21275
21276 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
21277
21278 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
21279
21280 * kern/misc.c (grub_strtoull): Guess the base only if not
21281 specified.
21282
21283 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
21284
21285 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
21286 PowerMac support.
21287
21288 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
21289
21290 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
21291
21292 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
21293 Remove `flags' argument. All callers changed.
21294 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
21295 (IEEE1275_IHANDLE_INVALID): New variable.
21296 (IEEE1275_CELL_INVALID): New variable.
21297 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
21298 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
21299 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
21300 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
21301 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
21302 codes from Open Firmware. All callers updated.
21303 (grub_ieee1275_next_property): Directly return Open Firmware return
21304 code.
21305 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
21306 Standardize error checking from `grub_ieee1275_get_property'.
21307 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
21308 `devalias' to `aliases'. Correct comments. Consolidate error paths.
21309
21310 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
21311
21312 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
21313 `instance_to_package_args' to `instance_to_path_args'.
21314
21315 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
21316 `grub_ieee1275_chosen'.
21317
21318 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
21319 `grub_ieee1275_interpret'.
21320
21321 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
21322
21323 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
21324
21325 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
21326
21327 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
21328 (__cmpdi): Likewise.
21329
21330 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
21331 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
21332 `grub_ssize_t'.
21333
21334 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
21335
21336 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
21337 to type `grub_ssize_t'.
21338 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
21339
21340 2006-09-22 Marco Gerards <marco@gnu.org>
21341
21342 * normal/script.c (grub_script_create_cmdmenu): Skip leading
21343 newlines.
21344
21345 2006-09-22 Marco Gerards <marco@gnu.org>
21346
21347 * commands/echo.c: New file.
21348
21349 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
21350
21351 * conf/common.rmk (echo_mod_SOURCES): New variable.
21352 (echo_mod_CFLAGS): Likewise.
21353 (echo_mod_LDFLAGS): Likewise.
21354
21355 2006-09-22 Marco Gerards <marco@gnu.org>
21356
21357 * normal/main.c (get_line): Malloc memory instead of using
21358 preallocated memory. Removed the arguments `cmdline' and
21359 `max_len'. Updated all callers.
21360
21361 2006-09-22 Marco Gerards <marco@gnu.org>
21362
21363 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
21364 (normal_mod_DEPENDENCIES): Likewise.
21365
21366 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
21367 (normal_mod_DEPENDENCIES): Likewise.
21368
21369 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
21370
21371 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
21372
21373 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
21374 programs.
21375 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
21376 (normal_mod_DEPENDENCIES): Likewise.
21377 * conf/i386-pc.mk: Regenerate.
21378 * conf/i386-efi.mk: Likewise
21379 * conf/common.mk: Likewise.
21380 * conf/powerpc-ieee1275.mk: Likewise.
21381 * conf/sparc64-ieee1275.mk: Likewise.
21382
21383 2006-09-22 Robert Millan <rmh@aybabtu.com>
21384
21385 Sync with i386 version.
21386 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
21387 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
21388
21389 2006-09-21 Robert Millan <rmh@aybabtu.com>
21390
21391 Import from GRUB Legacy (lib/device.c):
21392 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
21393 (init_device_map) [__linux__]: Add support for I2O devices.
21394
21395 2006-09-14 Marco Gerards <marco@gnu.org>
21396
21397 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
21398 `-melf_i386'.
21399
21400 2006-09-14 Robert Millan <rmh@aybabtu.com>
21401
21402 * util/i386/pc/grub-install.in: Skip menu.lst when removing
21403 /boot/grub/*.lst.
21404
21405 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
21406
21407 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
21408 before adding it to device.map.
21409
21410 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
21411
21412 * genmk.rb: Let GCC generate dependencies the first time it
21413 compiles a file; using the -MD option.
21414 * conf/common.mk: Regenerate.
21415 * conf/i386-pc.mk: Likewise.
21416 * conf/i386-efi.mk: Likewise.
21417 * conf/powerpc-ieee1275.mk: Likewise.
21418 * conf/sparc64-ieee1275.mk: Likewise.
21419
21420 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
21421
21422 Move the prototypes of grub_setjmp and grub_longjmp to
21423 cpu/setjmp.h, so that each architecture may specify different
21424 attributes.
21425
21426 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
21427 (grub_longjmp): Likewise.
21428 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
21429 (grub_longjmp): Likewise.
21430 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
21431 (grub_longjmp): Likewise.
21432
21433 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
21434 [!GRUB_UTIL] (grub_longjmp): Removed.
21435
21436 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
21437
21438 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
21439 "color!" method does not return any value.
21440
21441 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21442
21443 * include/grub/bitmap.h: New file.
21444
21445 * include/grub/i386/pc/vbeutil.h: Likewise.
21446
21447 * video/bitmap.c: Likewise.
21448
21449 * video/readers/tga.c: Likewise.
21450
21451 * video/i386/pc/vbeutil.c: Likewise.
21452
21453 * commands/videotest.c: Code cleanup and updated to reflect to new
21454 video API.
21455
21456 * term/gfxterm.c: Likewise.
21457
21458 * video/video.c: Likewise.
21459
21460 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
21461 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
21462 (bitmap_mod_SOURCES): New entry.
21463 (bitmap_mod_CFLAGS): Likewise.
21464 (bitmap_mod_LDFLAGS): Likewise.
21465 (tga_mod_SOURCES): Likewise.
21466 (tga_mod_CFLAGS): Likewise.
21467 (tga_mod_LDFLAGS): Likewise.
21468
21469 * include/grub/video.h (grub_video_blit_operators): New enum type.
21470 (grub_video_render_target): Changed as forward declaration and moved
21471 actual definition to be video driver specific.
21472 (grub_video_adapter.blit_bitmap): Added blitting operator.
21473 (grub_video_adapter.blit_render_target): Likewise.
21474 (grub_video_blit_bitmap): Likewise.
21475 (grub_video_blit_render_target): Likewise.
21476
21477 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
21478 driver specific render target definition.
21479 (grub_video_vbe_map_rgba): Added driver internal helper.
21480 (grub_video_vbe_unmap_color): Updated to use
21481 grub_video_i386_vbeblit_info.
21482 (grub_video_vbe_get_video_ptr): Likewise.
21483
21484 * include/grub/i386/pc/vbeblit.h
21485 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
21486 grub_video_i386_vbeblit_info.
21487 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
21488 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
21489 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
21490 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
21491 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
21492 (grub_video_i386_vbeblit_index_index): Likewise.
21493 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
21494 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
21495 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
21496 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
21497 operator.
21498 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
21499 operator.
21500
21501 * video/i386/pc/vbeblit.c: Updated to reflect changes on
21502 include/grub/i386/pc/vbeblit.h.
21503
21504 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
21505 Updated to use grub_video_i386_vbeblit_info.
21506 (grub_video_i386_vbefill_R8G8B8): Likewise.
21507 (grub_video_i386_vbefill_index): Likewise.
21508 (grub_video_i386_vbefill): Added generic filler.
21509
21510 * video/i386/pc/vbefill.c: Updated to reflect changes on
21511 include/grub/i386/pc/vbefill.h.
21512
21513 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
21514 grub_video_i386_vbeblit_info.
21515 (grub_video_vbe_unmap_color): Likewise.
21516 (grub_video_vbe_blit_glyph): Likewise.
21517 (grub_video_vbe_scroll): Likewise.
21518 (grub_video_vbe_draw_pixel): Removed function.
21519 (grub_video_vbe_get_pixel): Likewise.
21520 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
21521 updated code to use it.
21522 (common_blitter): Added common blitter for render target and bitmap.
21523 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
21524 (grub_video_vbe_blit_render_target): Likewise.
21525
21526 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
21527
21528 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
21529 is in text mode if there is no console control protocol instance
21530 available.
21531
21532 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21533
21534 * include/grub/video.h: Code cleanup.
21535
21536 * include/grub/i386/pc/vbe.h: Likewise.
21537
21538 * video/i386/pc/vbe.c: Likewise.
21539
21540 * video/i386/pc/vbeblit.c: Likewise.
21541
21542 * video/i386/pc/vbefill.c: Likewise.
21543
21544 * video/video.c: Likewise. Also added more comments.
21545
21546 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21547
21548 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
21549 (struct grub_biosdisk_dap): Likewise.
21550
21551 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
21552 linkage settings for all functions.
21553
21554 2006-07-12 Marco Gerards <marco@gnu.org>
21555
21556 * configure.ac (--enable-mm-debug): Fix typo.
21557
21558 * genkernsyms.sh.in: Use proper quoting for `CC'.
21559
21560 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
21561
21562 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
21563 (normal_mod_ASFLAGS): Remove "-m32".
21564
21565 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
21566
21567 * util/misc.c: Include config.h.
21568 [!HAVE_MEMALIGN]: Do not include malloc.h.
21569 (grub_memalign): Use posix_memalign, if present. Then, use
21570 memalign, if present. Otherwise, emit an error.
21571
21572 * util/grub-emu.c: Do not include malloc.h.
21573
21574 * include/grub/util/misc.h: Include unistd.h. This is required for
21575 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
21576 D. Eades III <hde@foobar-qux.org>.
21577
21578 * configure.ac (AC_GNU_SOURCE): Added.
21579 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
21580 type.
21581
21582 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
21583
21584 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
21585 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
21586
21587 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
21588
21589 * include/grub/types.h (grub_host_addr_t): Rename to
21590 grub_target_addr_t.
21591 (grub_host_off_t): Rename to grub_target_off_t.
21592 (grub_host_size_t): Rename to grub_target_size_t.
21593 (grub_host_ssize_t): Rename to grub_target_ssize_t.
21594 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
21595
21596 * include/grub/kernel.h (struct grub_module_header): Change type
21597 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
21598 (grub_module_info): Likewise.
21599
21600 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
21601
21602 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
21603 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
21604 Velazquez <jesus.velazquez@gmail.com>.
21605
21606 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
21607
21608 Count partitions from 1 instead of 0 in the string representation
21609 of partitions. Still use 0-based internally.
21610
21611 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
21612 (sun_partition_map_iterate): Use grub_partition_t instead of
21613 struct grub_partition *. Cast DESC->START_CYLINDER to
21614 grub_uint64_t after converting the endian.
21615 (sun_partition_map_probe): Subtract 1 for PARTNUM.
21616 (sun_partition_map_get_name): Add 1 to P->INDEX.
21617
21618 * partmap/pc.c (grub_partition_parse): Subtract 1 for
21619 PCDATA->DOS_PART.
21620 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
21621
21622 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
21623 zero instead of one.
21624 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
21625 (gpt_partition_map_get_name): Add 1 into P->INDEX.
21626
21627 * partmap/apple.c (apple_partition_map_iterate): Change the type
21628 of POS to unsigned.
21629 (apple_partition_map_probe): Subtract 1 for PARTNUM.
21630 (apple_partition_map_get_name): Add 1 into P->INDEX.
21631
21632 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
21633 of POS to unsigned.
21634 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
21635 calculate the offset of a partition.
21636 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
21637 (amiga_partition_map_get_name): Add 1 into P->INDEX.
21638
21639 * partmap/acorn.c (acorn_partition_map_find): Change the type of
21640 SECTOR to grub_disk_addr_t.
21641 (acorn_partition_map_iterate): Likewise.
21642 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
21643 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
21644 top.
21645 (acorn_partition_map_get_name): Add 1 into P->INDEX.
21646
21647 * kern/i386/pc/init.c (make_install_device): Add 1 into
21648 GRUB_INSTALL_DOS_PART.
21649
21650 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
21651 conditional.
21652
21653 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
21654
21655 Clean up the code to support 64-bit addressing in disks and
21656 files. This change is not enough for filesystems yet.
21657
21658 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
21659 type of "start" to grub_uint64_t.
21660 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
21661 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
21662 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
21663 convert addresses.
21664
21665 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
21666 to grub_disk_addr_t.
21667
21668 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
21669 string.
21670
21671 * partmap/pc.c (pc_partition_map_iterate): Likewise.
21672
21673 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
21674 to char *.
21675
21676 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
21677
21678 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
21679
21680 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
21681
21682 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
21683 to grub_off_t, to detect an error from grub_file_seek.
21684 (grub_multiboot_load_elf32): Likewise.
21685
21686 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
21687 maximum unsigned long value when an overflow is detected.
21688 (grub_strtoull): New function.
21689 (grub_divmod64): Likewise.
21690 (grub_lltoa): use grub_divmod64.
21691
21692 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
21693 grub_disk_addr_t.
21694 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
21695 the pointer to next character. Use grub_strtoull instead of
21696 grub_strtoul.
21697 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
21698 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
21699 respectively.
21700
21701 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
21702 return value is signed.
21703 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
21704 test if OFFSET is less than zero, as OFFSET is unsigned now.
21705
21706 * kern/disk.c (struct grub_disk_cache): Change the type of
21707 "sector" to grub_disk_addr_t.
21708 (grub_disk_cache_get_index): Change the type of SECTOR to
21709 grub_disk_addr_t. Calculate the hash with SECTOR casted to
21710 unsigned after shifting.
21711 (grub_disk_cache_invalidate): Change the type of SECTOR to
21712 grub_disk_addr_t.
21713 (grub_disk_cache_unlock): Likewise.
21714 (grub_disk_cache_store): Likewise.
21715 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
21716 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
21717 grub_disk_addr_t and grub_uint64_t, respectively.
21718 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
21719 body, as the value of OFFSET is tweaked by
21720 grub_disk_check_range. Change the types of START_SECTOR, LEN and
21721 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
21722 respectively.
21723 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
21724 body, as the value of OFFSET is tweaked by
21725 grub_disk_check_range. Change the types of LEN and N to
21726 grub_size_t.
21727
21728 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
21729 and "saved_offset" to grub_off_t.
21730 (test_header): Cast BUF to char *.
21731 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
21732 to char *.
21733 (grub_gzio_read): Change the types of OFFSET and SIZE to
21734 grub_off_t and grub_size_t, respectively.
21735
21736 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
21737 Removed.
21738 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
21739 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
21740 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
21741 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
21742 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
21743
21744 * include/grub/types.h (grub_off_t): Unconditionally set to
21745 grub_uint64_t.
21746 (grub_disk_addr_t): Changed to grub_uint64_t.
21747
21748 * include/grub/partition.h (struct grub_partition): Change the
21749 types of "start", "len" and "offset" to grub_disk_addr_t,
21750 grub_uint64_t and grub_disk_addr_t, respectively.
21751 (grub_partition_get_start): Return grub_disk_addr_t.
21752 (grub_partition_get_len): Return grub_uint64_t.
21753
21754 * include/grub/misc.h (grub_strtoull): New prototype.
21755 (grub_divmod64): Likewise.
21756
21757 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
21758 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
21759 grub_off_t, respectively.
21760 All callers and references changed.
21761
21762 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
21763 grub_size_t in "read".
21764 All callers and references changed.
21765
21766 * include/grub/file.h (struct grub_file): Change the types of
21767 "offset" and "size" to grub_off_t and grub_off_t,
21768 respectively. Change the type of SECTOR to grub_disk_addr_t in
21769 "read_hook".
21770 (grub_file_read): Change the type of LEN to grub_size_t.
21771 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
21772 grub_off_t.
21773 (grub_file_size): Return grub_off_t.
21774 (grub_file_tell): Likewise.
21775 All callers and references changed.
21776
21777 * include/grub/disk.h (struct grub_disk_dev): Change the types of
21778 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
21779 "write".
21780 (struct grub_disk): Change the type of "total_sectors" to
21781 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
21782 "read_hook".
21783 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
21784 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
21785 (grub_disk_write): Likewise.
21786 All callers and references changed.
21787
21788 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
21789 char * for grub_strncmp to silence gcc.
21790 (grub_iso9660_mount): Likewise.
21791 (grub_iso9660_mount): Likewise.
21792 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
21793 return statement.
21794 (grub_iso9660_iterate_dir): Likewise.
21795 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
21796
21797 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
21798 LEN to grub_disk_addr_t and grub_size_t, respectively.
21799
21800 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
21801
21802 * fs/jfs.c (grub_jfs_read_file): Likewise.
21803
21804 * fs/minix.c (grub_jfs_read_file): Likewise.
21805
21806 * fs/sfs.c (grub_jfs_read_file): Likewise.
21807
21808 * fs/ufs.c (grub_jfs_read_file): Likewise.
21809
21810 * fs/xfs.c (grub_jfs_read_file): Likewise.
21811
21812 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
21813 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
21814 respectively.
21815
21816 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
21817 BLKNR to -1 instead of returning GRUB_ERRNO.
21818 (grub_ext2_read_file): Change the types of SECTOR and
21819 LEN to grub_disk_addr_t and grub_size_t, respectively.
21820
21821 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
21822 LEN to grub_disk_addr_t and grub_size_t, respectively.
21823
21824 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
21825 grub_file_read.
21826
21827 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
21828 string. Do not cast SECTOR explicitly.
21829
21830 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
21831 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
21832 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
21833 grub_disk_addr_t and grub_size_t, respectively. If the sector is
21834 over 2TB and LBA mode is not supported, raise an error.
21835 (get_safe_sectors): New function.
21836 (grub_biosdisk_read): Use get_safe_sectors.
21837 (grub_biosdisk_write): Likewise.
21838
21839 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
21840 (grub_efidisk_write): Likewise.
21841
21842 * disk/loopback.c (delete_loopback): Cosmetic changes.
21843 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
21844 correctly.
21845 (grub_loopback_open): Likewise.
21846 (grub_loopback_read): Likewise. Also, change the type of POS to
21847 grub_off_t, and fix the usage of grub_memset.
21848
21849 * commands/i386/pc/play.c: Include grub/machine/time.h.
21850
21851 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
21852 print FILE->SIZE.
21853
21854 * commands/configfile.c: Include grub/env.h.
21855
21856 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
21857 GRUB_ERRNO directly instead. Change the type of POS to
21858 grub_off_t. Follow the coding standard.
21859
21860 * commands/blocklist.c: Include grub/partition.h.
21861 (grub_cmd_blocklist): Return an error if the underlying device is
21862 not a disk. Take the starting sector of a partition into account,
21863 if a partition is used.
21864
21865 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
21866 a length field.
21867 (lba_mode): Support 64-bit addresses.
21868 (chs_mode): Likewise.
21869 (copy_buffer): Adapted to the new offsets of a length field and a
21870 segment field.
21871 (blocklist_default_start): Allocate 64-bit space.
21872
21873 * boot/i386/pc/boot.S (force_lba): Removed.
21874 (boot_drive): Moved to under KERNEL_SECTOR.
21875 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
21876 space.
21877 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
21878 is useless.
21879 (lba_mode): Refactored to support a 64-bit address. More size
21880 optimization.
21881 (setup_sectors): Likewise.
21882
21883 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
21884
21885 * DISTLIST: Added include/grub/i386/linux.h. Removed
21886 include/grub/i386/pc/linux.h
21887
21888 * configure.ac (AC_INIT): Bumped to 1.94.
21889
21890 * config.guess: Updated from gnulib.
21891 * config.sub: Likewise.
21892 * install-sh: Likewise.
21893 * mkinstalldirs: Likewise.
21894
21895 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
21896
21897 * conf/common.rmk (grub_modules_init.lst): Depended on
21898 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
21899 MODSRCFILES.
21900
21901 * genmk.rb (PModule::rule): Reverted the previous change.
21902
21903 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
21904
21905 * conf/common.rmk (grub_modules_init.lst): Depends on
21906 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
21907 that the target does not exist before producing.
21908 (grub_modules_init.h): Remove the target before generating.
21909 (grub_emu_init.c): Likewise.
21910
21911 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
21912
21913 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
21914
21915 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
21916 for the target-specific tests. Make sure that we also have the
21917 up-to-date target variables for those tests.
21918
21919 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
21920
21921 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
21922 (PModule::rule): Likewise.
21923
21924 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
21925
21926 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
21927 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
21928 target-specific flags should be prefixed.
21929 (PModule::rule): Likewise.
21930
21931 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
21932
21933 * configure.ac (CMP): Check if cmp is available explicitly.
21934
21935 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
21936
21937 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
21938 (target_cpu): New variable.
21939 (pkglibdir): Use target_cpu instead of host_cpu.
21940
21941 * util/i386/pc/grub-install.in (host_cpu): Removed.
21942 (target_cpu): New variable.
21943 (pkglibdir): Use target_cpu instead of host_cpu.
21944
21945 * util/genmoddep.c: Removed.
21946
21947 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
21948 instead of GRUB_HOST_SIZEOF_VOID_P.
21949 * kern/dl.c: Likewise.
21950
21951 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
21952 ...
21953 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
21954 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
21955 (GRUB_TARGET_SIZEOF_LONG): ... this.
21956 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
21957 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
21958 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
21959 to ...
21960 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
21961 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
21962 (GRUB_TARGET_SIZEOF_LONG): ... this.
21963 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
21964 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
21965 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
21966 to ...
21967 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
21968 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
21969 (GRUB_TARGET_SIZEOF_LONG): ... this.
21970 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
21971 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
21972
21973 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
21974 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
21975 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
21976 instead of GRUB_HOST_SIZEOF_LONG.
21977 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
21978 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
21979 GRUB_CPU_WORDS_BIGENDIAN.
21980 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
21981 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
21982 grub_host_ssize_t.
21983
21984 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
21985 (genmoddep_SOURCES): Likewise.
21986 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
21987 (genmoddep_SOURCES): Likewise.
21988 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
21989 (genmoddep_SOURCES): Likewise.
21990 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
21991 Likewise.
21992 (genmoddep_SOURCES): Likewise.
21993
21994 * genmoddep.awk: New file.
21995
21996 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
21997 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
21998 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
21999 (PModule::rule): Likewise.
22000 (Program::rule): Likewise.
22001 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
22002 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
22003 respectively.
22004
22005 * configure.ac: Rewritten intensively to use host and target
22006 instead of build and host, respectively.
22007
22008 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
22009 (host_cpu): Removed.
22010 (target_cpu): New variable.
22011 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
22012 (BUILD_CC): Removed.
22013 (BUILD_CFLAGS): Likewise.
22014 (BUILD_CPPFLAGS): Likewise.
22015 (TARGET_CC): New variable.
22016 (TARGET_CFLAGS): Likewise.
22017 (TARGET_CPPFLAGS): Likewise.
22018 (TARGET_LDFLAGS): Likewise.
22019 (AWK): Likewise.
22020 (include): Use target_cpu instead of host_cpu.
22021 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
22022
22023 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
22024
22025 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
22026
22027 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
22028 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
22029 field 'false' to 'exec_on_false'.
22030 (grub_script_create_cmdif): Renamed argument names to reflect above
22031 changes.
22032
22033 * normal/execute.c (grub_script_execute_cmdif): Likewise.
22034
22035 * normal/script.c (grub_script_create_cmdif): Likewise.
22036
22037 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
22038
22039 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
22040 top.
22041 (grub_hfsplus_btree_recptr): Likewise.
22042 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
22043 FILEBLOCK both to pass a block number and store next block
22044 number.
22045 (grub_hfsplus_read_block): Rewritten heavily to support an extent
22046 overflow file correctly. Specify errors appropriately, because
22047 fshelp expects that GRUB_ERRNO is set when fails. Reuse
22048 grub_hfsplus_btree_recptr to get the pointer to a found key.
22049 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
22050 is found.
22051
22052 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
22053 linux.mod.
22054 (_linux_mod_SOURCES): New variable.
22055 (_linux_mod_CFLAGS): Likewise.
22056 (_linux_mod_LDFLAGS): Likewise.
22057 (linux_mod_SOURCES): Likewise.
22058 (linux_mod_CFLAGS): Likewise.
22059 (linux_mod_LDFLAGS): Likewise.
22060
22061 * DISTLIST: Added loader/i386/efi/linux.c,
22062 loader/i386/efi/linux_normal.c and
22063 include/grub/i386/efi/loader.h.
22064
22065 * loader/i386/efi/linux.c: New file.
22066 * loader/i386/efi/linux_normal.c: Likewise.
22067 * include/grub/i386/efi/loader.h: Likewise.
22068
22069 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
22070
22071 * commands/blocklist.c: New file.
22072
22073 * DISTLIST: Added commands/blocklist.c.
22074
22075 * term/efi/console.c (grub_console_highlight_color): Use a lighter
22076 color for the background, and a darker color for the foreground.
22077 (grub_console_checkkey): Return READ_KEY.
22078 (grub_console_cls): Set the background to
22079 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
22080
22081 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
22082
22083 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
22084 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
22085
22086 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
22087 prototype.
22088
22089 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
22090 BG. The spec is wrong again.
22091
22092 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
22093 prototype.
22094 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
22095
22096 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22097 commands/blocklist.c.
22098 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22099
22100 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
22101 (blocklist_mod_SOURCES): New variable.
22102 (blocklist_mod_CFLAGS): Likewise.
22103 (blocklist_mod_LDFLAGS): Likewise.
22104
22105 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
22106
22107 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
22108 duplication.
22109 (lba_mode): Use %eax more intensively to reduce the code size.
22110
22111 2006-05-20 Marco Gerards <marco@gnu.org>
22112
22113 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
22114
22115 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
22116 for `menuentry'.
22117 (script): Accept leading newlines.
22118 (newlines): New rule to describe 0 or more newlines.
22119 (commands): Accept `command' with trailing newline. Fixed the
22120 order in which arguments were passed to `grub_script_add_cmd'.
22121 Accept commands separated by newlines.
22122 (function): Changed to accept newlines.
22123 (menuentry) Rewritten.
22124
22125 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
22126 front of the list, instead of to the end.
22127
22128 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
22129
22130 * util/i386/pc/grub-install.in (bindir): New variable.
22131 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
22132 Shaver <lbgwjl@gmail.com>.
22133
22134 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
22135
22136 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
22137 grub/machine/linux.h
22138 * loader/i386/pc/linux.c: Likewise.
22139
22140 * include/grub/i386/pc/linux.h: Moved to ...
22141 * include/grub/i386/linux.h: ... here.
22142
22143 * include/grub/i386/linux.h (struct linux_kernel_params): New
22144 struct.
22145
22146 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
22147
22148 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
22149 checking.
22150 (grub_video_vbe_blit_glyph): Likewise.
22151 (grub_video_vbe_blit_bitmap): Likewise.
22152 (grub_video_vbe_blit_render_target): Likewise.
22153
22154 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
22155
22156 * configure.ac (--with-platform): Properly quote the square
22157 brackets.
22158
22159 2006-05-08 Marco Gerards <marco@gnu.org>
22160
22161 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
22162 this...
22163 (kernel_elf_HEADERS): ...to this. Updated all users.
22164 (grubof_symlist.c): Renamed from this...
22165 (kernel_elf_symlist.c): ...to this. Updated all users.
22166 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
22167 (grubof_SOURCES): Renamed from this...
22168 (kernel_elf_SOURCES): ...to this.
22169 (grubof_HEADERS): Renamed from this...
22170 (kernel_elf_HEADERS): ...to this.
22171 (grubof_CFLAGS): Renamed from this...
22172 (kernel_elf_CFLAGS): ...to this.
22173 (grubof_ASFLAGS): Renamed from this...
22174 (kernel_elf_ASFLAGS): ...to this.
22175 (grubof_LDFLAGS): Renamed from this...
22176 (kernel_elf_LDFLAGS): ...to this.
22177
22178 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
22179 this...
22180 (kernel_elf_HEADERS): ...to this. Updated all users.
22181 (grubof_symlist.c): Renamed from this...
22182 (kernel_elf_symlist.c): ...to this. Updated all users.
22183 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
22184 (grubof_SOURCES): Renamed from this...
22185 (kernel_elf_SOURCES): ...to this.
22186 (grubof_HEADERS): Renamed from this...
22187 (kernel_elf_HEADERS): ...to this.
22188 (grubof_CFLAGS): Renamed from this...
22189 (kernel_elf_CFLAGS): ...to this.
22190 (grubof_ASFLAGS): Renamed from this...
22191 (kernel_elf_ASFLAGS): ...to this.
22192 (grubof_LDFLAGS): Renamed from this...
22193 (kernel_elf_LDFLAGS): ...to this.
22194
22195 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
22196 `kernel.elf' instead of `grubof'.
22197
22198 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
22199
22200 Add --with-platform to configure. Use pkglibdir instead of
22201 pkgdatadir. This is reported by Roger Leigh.
22202
22203 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
22204 (host_vendor): Likewise.
22205 (host_os): Likewise.
22206 (pkgdatadir): Likewise.
22207 (platform): New variable.
22208 (pkglibdir): Likewise.
22209 Use PKGLIBDIR instead of PKGDATADIR.
22210
22211 * util/i386/pc/grub-install.in (datadir): Removed.
22212 (host_vendor): Likewise.
22213 (host_os): Likewise.
22214 (pkgdatadir): Likewise.
22215 (platform): New variable.
22216 (pkglibdir): Likewise.
22217 Use PKGLIBDIR instead of PKGDATADIR.
22218
22219 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
22220 instead of GRUB_DATADIR.
22221 (main): Likewise.
22222 * util/i386/pc/grub-mkimage.c (usage): Likewise.
22223 (main): Likewise.
22224 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22225 (main): Likewise.
22226
22227 * configure.ac (--with-platform): New option.
22228 Use PLATFORM instead of HOST_VENDOR to specify a platform.
22229
22230 * Makefile.in: Include a makefile based on PLATFORM instead of
22231 HOST_VENDOR.
22232 (pkgdatadir): Not appended by the machine type.
22233 (pkglibdir): Appended by the machine type.
22234 (host_vendor): Removed.
22235 (platform): New variable.
22236 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
22237 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
22238 (uninstall): Likewise.
22239
22240 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
22241
22242 Use the environment context in the menu. Remove the commands
22243 "default" and "timeout", and use variables instead.
22244
22245 * normal/menu.c: Include grub/env.h.
22246 (print_entry): Cast TITLE to silence gcc.
22247 (get_timeout): New function.
22248 (set_timeout): Likewise.
22249 (get_entry_number): Likewise.
22250 (run_menu): Use a default entry, a fallback entry and a timeout
22251 in the environment variables "default", "fallback" and
22252 "timeout". Also, tweak the default entry if it is not within the
22253 current menu entries.
22254 (grub_menu_run): Use a fallback entry in the environment variable
22255 "fallback".
22256
22257 * normal/main.c (read_config_file): Do not initialize
22258 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
22259 NEWMENU->TIMEOUT.
22260 (grub_normal_execute): Use a data slot to store the menu.
22261
22262 * include/grub/normal.h (struct grub_menu): Removed default_entry,
22263 fallback_entry and timeout.
22264 (struct grub_menu_list): Removed.
22265 (grub_menu_list_t): Likewise.
22266 (struct grub_context): Likewise.
22267 (grub_context_t): Likewise.
22268 (grub_context_get): Likewise.
22269 (grub_context_get_current_menu): Likewise.
22270 (grub_context_push_menu): Likewise.
22271 (grub_context_pop_menu): Likewise.
22272 (grub_default_init): Likewise.
22273 (grub_default_fini): Likewise.
22274 (grub_timeout_init): Likewise.
22275 (grub_timeout_fini): Likewise.
22276
22277 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
22278 and timeout.mod.
22279 (normal_mod_SOURCES): Removed normal/context.c.
22280
22281 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
22282 commands/default.c, commands/timeout.c and normal/context.c.
22283 (normal_mod_SOURCES): Removed normal/context.c.
22284
22285 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
22286 commands/timeout.c and normal/context.c.
22287 (normal_mod_SOURCES): Removed normal/context.c.
22288
22289 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
22290 commands/default.c, commands/timeout.c and normal/context.c.
22291 (normal_mod_SOURCES): Removed normal/context.c.
22292
22293 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
22294 timeout.mod.
22295 (default_mod_SOURCES): Removed.
22296 (default_mod_CFLAGS): Likewise.
22297 (default_mod_LDFLAGS): Likewise.
22298 (timeout_mod_SOURCES): Removed.
22299 (timeout_mod_CFLAGS): Likewise.
22300 (timeout_mod_LDFLAGS): Likewise.
22301
22302 * DISTLIST: Removed commands/default.c, commands/timeout.c and
22303 normal/context.c.
22304
22305 * commands/default.c: Removed.
22306 * commands/timeout.c: Likewise.
22307 * normal/context.c: Likewise.
22308
22309 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
22310
22311 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
22312
22313 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
22314
22315 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
22316 "next" to "prev" for readability.
22317 (struct grub_env_sorted_var): New struct.
22318 (grub_env_context): Renamed to ...
22319 (initial_context): ... this.
22320 (grub_env_var_context): Renamed to ...
22321 (current_context): ... this.
22322 (grub_env_find): Look only at CURRENT_CONTEXT.
22323 (grub_env_context_open): Rewritten to copy exported variables from
22324 previous context.
22325 (grub_env_context_close): Rewritten according to the new
22326 scheme. Also, add an assertion to prevent the initial context from
22327 removed.
22328 (grub_env_insert): Removed the code for the sorted list.
22329 (grub_env_remove): Likewise.
22330 (grub_env_export): Simply mark the variable with
22331 GRUB_ENV_VAR_GLOBAL.
22332 (grub_env_set): A cosmetic change for naming consistency.
22333 (grub_env_get): Likewise.
22334 (grub_env_unset): Likewise.
22335 (grub_env_iterate): Rewritten to sort variables within this
22336 function.
22337 (grub_register_variable_hook): Fixed for naming consistency. Call
22338 grub_env_find again, only if NAME is not found at the first time.
22339 (mangle_data_slot_name): New function.
22340 (grub_env_set_data_slot): Likewise.
22341 (grub_env_get_data_slot): Likewise.
22342 (grub_env_unset_data_slot): Likewise.
22343
22344 * include/grub/env.h (grub_env_var_type): New enum.
22345 (GRUB_ENV_VAR_LOCAL): New constant.
22346 (GRUB_ENV_VAR_GLOBAL): Likewise.
22347 (GRUB_ENV_VAR_DATA): Likewise.
22348 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
22349 "type".
22350 (grub_env_set): Replace VAR with NAME for consistency.
22351 (grub_register_variable_hook): Likewise.
22352 (grub_env_export): Specify the name of the argument.
22353 (grub_env_set_data_slot): New prototype.
22354 (grub_env_get_data_slot): Likewise.
22355 (grub_env_unset_data_slot): Likewise.
22356
22357 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
22358
22359 Extend the loader so that GRUB can accept a loader which comes
22360 back to GRUB when a loaded image exits. Also, this change adds
22361 support for a chainloader on EFI.
22362
22363 * term/efi/console.c: Include grub/misc.h.
22364 (grub_console_checkkey): Display a scan code on the top for
22365 debugging. This will be removed once the EFI port gets stable.
22366 Correct the scan code mapping.
22367
22368 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
22369 allocate memory from larger regions, in order to reduce the number
22370 of allocated regions. Otherwise, the MacOSX loader panics.
22371 (filter_memory_map): Avoid less than 1MB for compatibility with
22372 other loaders.
22373 (add_memory_regions): Allocate from the tail of a region, if
22374 possible, to avoid allocating a region near to 1MB, for the MacOSX
22375 loader.
22376
22377 * kern/efi/init.c (grub_efi_set_prefix): Specify
22378 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
22379
22380 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
22381 argument IMAGE_HANDLE and specify it to get a loaded image.
22382 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
22383 grub_efi_get_loaded_image.
22384 (grub_efi_get_filename): Divide the length by the size of
22385 grub_efi_char16_t.
22386 (grub_efi_get_device_path): New function.
22387 (grub_efi_print_device_path): Print End Device Path nodes. Divide
22388 the length by the size of grub_efi_char16_t for a file path device
22389 path node.
22390
22391 * kern/loader.c (grub_loader_noreturn): New variable.
22392 (grub_loader_set): Accept a new argument NORETURN. Set
22393 GRUB_LOADER_NORETURN to NORETURN.
22394 All callers changed.
22395 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
22396 grub_machine_fini.
22397
22398 * include/grub/efi/efi.h (grub_efi_get_device_path): New
22399 prototype.
22400 (grub_efi_get_loaded_image): Take an argument to specify an image
22401 handle.
22402
22403 * include/grub/loader.h (grub_loader_set): Added one more argument
22404 NORETURN.
22405
22406 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
22407 instead of grub_efi_open_protocol.
22408 (grub_efidisk_get_device_name): Likewise.
22409 (grub_efidisk_close): Print a newline.
22410 (grub_efidisk_get_device_handle): Fixed to use
22411 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
22412 GRUB_EFI_DEVICE_PATH_TYPE.
22413
22414 * disk/efi/efidisk.c (device_path_guid): Moved to ...
22415 * kern/efi/efi.c (device_path_guid): ... here.
22416
22417 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
22418 chain.mod.
22419 (kernel_mod_HEADERS): Added efi/disk.h.
22420 (_chain_mod_SOURCES): New variable.
22421 (_chain_mod_CFLAGS): Likewise.
22422 (_chain_mod_LDFLAGS): Likewise.
22423 (chain_mod_SOURCES): Likewise.
22424 (chain_mod_CFLAGS): Likewise.
22425 (chain_mod_LDFLAGS): Likewise.
22426
22427 * DISTLIST: Added include/grub/efi/chainloader.h,
22428 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
22429
22430 * include/grub/efi/chainloader.h: New file.
22431 * loader/efi/chainloader.c: Likewise.
22432 * loader/efi/chainloader_normal.c: Likewise.
22433
22434 2006-04-30 Marco Gerards <marco@gnu.org>
22435
22436 * commands/configfile.c (grub_cmd_source): New function.
22437 (GRUB_MOD_INIT): Register the commands `source' and `.'.
22438 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
22439
22440 2006-04-30 Marco Gerards <marco@gnu.org>
22441
22442 * normal/execute.c (grub_script_execute_cmd): Change the return
22443 type to `grub_err_t'. Correctly return the error.
22444 (grub_script_execute_cmdline): In case a command line is not a
22445 command or a function, try to interpret it as an assignment.
22446
22447 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
22448
22449 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
22450 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
22451 skip a node whose name is obviously invalid as UTF-16,
22452 i.e. contains a NUL character. Stop the iteration when the last
22453 directory entry is found. Instead of using the return value of
22454 grub_hfsplus_btree_iterate_node, store the value in RET and use
22455 it, because the iterator can be stopped by the last directory
22456 entry.
22457
22458 2006-04-30 Marco Gerards <marco@gnu.org>
22459
22460 * include/grub/env.h (grub_env_export): New prototype. Reported
22461 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
22462
22463 2006-04-30 Marco Gerards <marco@gnu.org>
22464
22465 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
22466 size of the extents in a catalog file record.
22467
22468 2006-04-29 Marco Gerards <marco@gnu.org>
22469
22470 * commands/configfile.c (grub_cmd_configfile): Execute the
22471 configfile within its own context.
22472
22473 * include/grub/env.h (grub_env_context_open): New prototype.
22474 (grub_env_context_close): Likewise.
22475
22476 * kern/env.c (grub_env): Removed.
22477 (grub_env_sorted): Likewise.
22478 (grub_env_context): New variable.
22479 (grub_env_var_context): Likewise.
22480 (grub_env_find): Search both the active context and the global
22481 context.
22482 (grub_env_context_open): New function.
22483 (grub_env_context_close): Likewise.
22484 (grub_env_insert): Likewise.
22485 (grub_env_remove): Likewise.
22486 (grub_env_export): Likewise.
22487 (grub_env_set): Changed to use helper functions to avoid code
22488 duplication.
22489 (grub_env_iterate): Rewritten so both the current context and the
22490 global context are being used.
22491
22492 * normal/command.c (export_command): New function.
22493 (grub_command_init): Register the `export' function.
22494
22495 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
22496
22497 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
22498 explicitly to suppress gcc's warnings.
22499 * fs/fat.c (grub_fat_find_dir): Likewise.
22500 (grub_fat_label): Likewise.
22501 * fs/xfs.c (grub_xfs_read_inode): Likewise.
22502 (grub_xfs_mount): Likewise.
22503 (grub_xfs_label): Likewise.
22504 * fs/affs.c (grub_affs_mount): Likewise.
22505 (grub_affs_label): Likewise.
22506 (grub_affs_iterate_dir): Likewise.
22507 * fs/sfs.c (grub_sfs_mount): Likewise.
22508 (grub_sfs_iterate_dir): Likewise.
22509 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
22510 * fs/hfs.c (grub_hfs_mount): Likewise.
22511 (grub_hfs_cmp_catkeys): Likewise.
22512 (grub_hfs_find_dir): Likewise.
22513 (grub_hfs_dir): Likewise.
22514 (grub_hfs_label): Likewise.
22515 * fs/jfs.c (grub_jfs_mount): Likewise.
22516 (grub_jfs_opendir): Likewise.
22517 (grub_jfs_getent): Likewise.
22518 (grub_jfs_lookup_symlink): Likewise.
22519 (grub_jfs_label): Likewise.
22520 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
22521 (grub_hfsplus_iterate_dir): Likewise.
22522 (grub_hfsplus_btree_iterate_node): Made static.
22523
22524 * util/grub-emu.c (prefix): New variable.
22525 (grub_machine_set_prefix): New function.
22526 (main): Do not set the environment variable "prefix" here. Only
22527 set PREFIX, which is used later by grub_machine_set_prefix.
22528
22529 * include/grub/video.h: Do not include grub/symbol.h.
22530 (grub_video_register): Not exported. This symbol is not defined in
22531 the kernel.
22532 (grub_video_unregister): Likewise.
22533 (grub_video_iterate): Likewise.
22534 (grub_video_setup): Likewise.
22535 (grub_video_restore): Likewise.
22536 (grub_video_get_info): Likewise.
22537 (grub_video_get_blit_format): Likewise.
22538 (grub_video_set_palette): Likewise.
22539 (grub_video_get_palette): Likewise.
22540 (grub_video_set_viewport): Likewise.
22541 (grub_video_get_viewport): Likewise.
22542 (grub_video_map_color): Likewise.
22543 (grub_video_map_rgb): Likewise.
22544 (grub_video_map_rgba): Likewise.
22545 (grub_video_fill_rect): Likewise.
22546 (grub_video_blit_glyph): Likewise.
22547 (grub_video_blit_bitmap): Likewise.
22548 (grub_video_blit_render_target): Likewise.
22549 (grub_video_scroll): Likewise.
22550 (grub_video_swap_buffers): Likewise.
22551 (grub_video_create_render_target): Likewise.
22552 (grub_video_delete_render_target): Likewise.
22553 (grub_video_set_active_render_target): Likewise.
22554
22555 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
22556 Undefined.
22557 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
22558
22559 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
22560 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22561 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22562 instead of $(srcdir)/genkernsyms.sh.
22563
22564 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
22565 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22566 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22567 instead of $(srcdir)/genkernsyms.sh.
22568
22569 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
22570 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22571 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22572 instead of $(srcdir)/genkernsyms.sh.
22573
22574 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
22575 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22576 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22577 instead of $(srcdir)/genkernsyms.sh.
22578
22579 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
22580 genkernsyms.sh.
22581
22582 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
22583 genkernsyms.sh.
22584 (gensymlist.sh): New target.
22585 (genkernsyms.sh): Likewise.
22586
22587 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
22588 genkernsyms.sh.in and gensymlist.sh.in.
22589
22590 * genkernsyms.sh: Removed.
22591 * gensymlist.sh: Likewise.
22592
22593 * genkernsyms.sh.in: New file.
22594 * gensymlist.sh.in: Likewise.
22595
22596 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
22597
22598 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
22599 clobber "prefix", since we may have already set it manually.
22600
22601 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
22602
22603 * kern/misc.c (abort): New alias for grub_abort.
22604
22605 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
22606
22607 A new machine-specific function "grub_machine_set_prefix" is
22608 defined. This is called after loading modules, so that a prefix
22609 initialization can use modules. Also, this change adds an
22610 intensive debugging feature for the memory manager via the
22611 configure option "--enable-mm-debug".
22612
22613 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
22614 PART.LEN.
22615
22616 * kern/sparc64/ieee1275/init.c (abort): Removed.
22617 (grub_stop): Likewise.
22618 (grub_exit): New function.
22619 (grub_set_prefix): Renamed to ...
22620 (grub_machine_set_prefix): ... this.
22621 (grub_machine_init): Do not call grub_set_prefix.
22622
22623 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
22624 (grub_machine_set_prefix): ... this.
22625 (grub_machine_init): Do not call grub_set_prefix.
22626
22627 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
22628 (grub_machine_init): Do not set the prefix here.
22629
22630 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
22631
22632 * kern/efi/init.c: Include grub/mm.h.
22633 (grub_efi_set_prefix): New function.
22634
22635 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
22636 (grub_efi_get_filename): New function.
22637 (grub_print_device_path): Renamed to ...
22638 (grub_efi_print_device_path): ... this.
22639
22640 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
22641 [MM_DEBUG] (grub_realloc): Likewise.
22642 [MM_DEBUG] (grub_free): Likewise.
22643 [MM_DEBUG] (grub_memalign): Likewise.
22644 [MM_DEBUG] (grub_mm_debug): New variable.
22645 [MM_DEBUG] (grub_debug_malloc): New function.
22646 [MM_DEBUG] (grub_debug_free): New function.
22647 [MM_DEBUG] (grub_debug_realloc): New function.
22648 [MM_DEBUG] (grub_debug_memalign): New function.
22649
22650 * kern/misc.c (grub_abort): Print a newline to distinguish
22651 the message.
22652
22653 * kern/main.c (grub_main): Call grub_machine_set_prefix and
22654 grub_set_root_dev after loading modules. This is necessary when
22655 setting a prefix depends on modules.
22656
22657 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
22658 (grub_efi_print_device_path): ... this.
22659 (grub_efi_get_filename): New prototype.
22660 (grub_efi_set_prefix): Likewise.
22661
22662 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
22663 and grub/disk.h.
22664 (grub_efidisk_get_device_handle): New prototype.
22665 (grub_efidisk_get_device_name): Likewise.
22666
22667 * include/grub/mm.h: Include config.h.
22668 (MM_DEBUG): Removed.
22669 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
22670 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
22671 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
22672 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
22673 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
22674 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
22675 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
22676 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
22677 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
22678
22679 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
22680
22681 * disk/efi/efidisk.c: Include grub/partition.h.
22682 (iterate_child_devices): New function.
22683 (add_device): First, compare only last device path nodes, so that
22684 devices are sorted by the types.
22685 (grub_efidisk_get_device_handle): New function.
22686 (grub_efidisk_get_device_name): Likewise.
22687
22688 * configure.ac (--enable-mm-debug): New option to enable the
22689 memory manager debugging feature. This makes the binary much
22690 bigger, so is disabled by default.
22691
22692 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
22693
22694 Use grub_abort instead of grub_stop, and grub_exit must be
22695 define in each architecture now. Also, this change adds support
22696 for EFI disks.
22697
22698 * util/i386/pc/grub-probefs.c: Include grub/term.h.
22699 (grub_getkey): New function.
22700 (grub_term_get_current): Likewise.
22701
22702 * util/i386/pc/grub-setup.c: Include grub/term.h.
22703 (grub_getkey): New function.
22704 (grub_term_get_current): Likewise.
22705
22706 * util/misc.c (grub_stop): Renamed to ...
22707 (grub_exit): ... this.
22708
22709 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
22710 (grub_exit): ... this.
22711 (grub_machine_init): Use grub_abort instead of abort.
22712 (grub_stop): Removed.
22713
22714 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
22715 abort.
22716
22717 * kern/i386/pc/startup.S (grub_exit): New function.
22718 (cold_reboot): New label.
22719
22720 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
22721 (grub_efi_init): Call grub_efidisk_init.
22722 (grub_efi_fini): Call grub_efidisk_fini.
22723
22724 * kern/efi/efi.c: Include grub/mm.h.
22725 (grub_efi_console_control_guid): Renamed to ...
22726 (console_control_guid): ... this.
22727 (grub_efi_loaded_image_guid): Renamed to ...
22728 (loaded_image_guid): ... this.
22729 (grub_efi_locate_handle): New function.
22730 (grub_efi_open_protocol): Likewise.
22731 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
22732 GRUB_EFI_CONSOLE_CONTROL_GUID.
22733 (grub_efi_exit): Removed.
22734 (grub_stop): Likewise.
22735 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
22736 (grub_exit): New function.
22737 (grub_print_device_path): Likewise.
22738
22739 * kern/rescue.c (grub_rescue_cmd_exit): New function.
22740 (grub_enter_rescue_mode): Register "exit".
22741
22742 * kern/misc.c (grub_real_dprintf): A cosmetic change.
22743 (grub_abort): New function.
22744
22745 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
22746
22747 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
22748
22749 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
22750
22751 * include/grub/efi/efi.h (grub_efi_exit): Removed.
22752 (grub_print_device_path): New prototype.
22753 (grub_efi_locate_handle): Likewise.
22754 (grub_efi_open_protocol): Likewise.
22755
22756 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
22757 * disk/efi/efidisk.c: Likewise.
22758
22759 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
22760
22761 * include/grub/efi/console_control.h
22762 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
22763
22764 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
22765 last 8 bytes as an array.
22766 (GRUB_EFI_DISK_IO_GUID): New macro.
22767 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
22768 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
22769 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
22770 grub_uint8_t.
22771 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
22772 (struct grub_efi_device_path): Rename the member "sub_type" to
22773 "subtype".
22774 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
22775 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
22776 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
22777 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
22778 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
22779 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
22780 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
22781 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
22782 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
22783 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
22784 (struct grub_efi_pci_device_path): New structure.
22785 (grub_efi_pci_device_path_t): New type.
22786 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
22787 (struct grub_efi_pccard_device_path): New structure.
22788 (grub_efi_pccard_device_path_t): New type.
22789 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
22790 (struct grub_efi_memory_mapped_device_path): New structure.
22791 (grub_efi_memory_mapped_device_path_t): New type.
22792 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
22793 (struct grub_efi_vendor_device_path): New structure.
22794 (grub_efi_vendor_device_path_t): New type.
22795 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
22796 (struct grub_efi_controller_device_path): New structure.
22797 (grub_efi_controller_device_path_t): New type.
22798 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
22799 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
22800 (struct grub_efi_acpi_device_path): New structure.
22801 (grub_efi_acpi_device_path_t): New type.
22802 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
22803 (struct grub_efi_expanded_acpi_device_path): New structure.
22804 (grub_efi_expanded_acpi_device_path_t): New type.
22805 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
22806 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
22807 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
22808 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
22809 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
22810 (struct grub_efi_atapi_device_path): New structure.
22811 (grub_efi_atapi_device_path_t): New type.
22812 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
22813 (struct grub_efi_fibre_channel_device_path): New structure.
22814 (grub_efi_fibre_channel_device_path_t): New type.
22815 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
22816 (struct grub_efi_1394_device_path): New structure.
22817 (grub_efi_1394_device_path_t): New type.
22818 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
22819 (struct grub_efi_usb_device_path): New structure.
22820 (grub_efi_usb_device_path_t): New type.
22821 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
22822 (struct grub_efi_usb_class_device_path): New structure.
22823 (grub_efi_usb_class_device_path_t): New type.
22824 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
22825 (struct grub_efi_i2o_device_path): New structure.
22826 (grub_efi_i2o_device_path_t): New type.
22827 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
22828 (struct grub_efi_mac_address_device_path): New structure.
22829 (grub_efi_mac_address_device_path_t): New type.
22830 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
22831 (struct grub_efi_ipv4_device_path): New structure.
22832 (grub_efi_ipv4_device_path_t): New type.
22833 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
22834 (struct grub_efi_ipv6_device_path): New structure.
22835 (grub_efi_ipv6_device_path_t): New type.
22836 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
22837 (struct grub_efi_infiniband_device_path): New structure.
22838 (grub_efi_infiniband_device_path_t): New type.
22839 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
22840 (struct grub_efi_uart_device_path): New structure.
22841 (grub_efi_uart_device_path_t): New type.
22842 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
22843 (struct grub_efi_vendor_messaging_device_path): New structure.
22844 (grub_efi_vendor_messaging_device_path_t): New type.
22845 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
22846 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
22847 (struct grub_efi_hard_drive_device_path): New structure.
22848 (grub_efi_hard_drive_device_path_t): New type.
22849 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
22850 (struct grub_efi_cdrom_device_path): New structure.
22851 (grub_efi_cdrom_device_path_t): New type.
22852 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
22853 (struct grub_efi_vendor_media_device_path): New structure.
22854 (grub_efi_vendor_media_device_path_t): New type.
22855 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
22856 (struct grub_efi_file_path_device_path): New structure.
22857 (grub_efi_file_path_device_path_t): New type.
22858 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
22859 (struct grub_efi_protocol_device_path): New structure.
22860 (grub_efi_protocol_device_path_t): New type.
22861 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
22862 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
22863 (struct grub_efi_bios_device_path): New structure.
22864 (grub_efi_bios_device_path_t): New type.
22865 (struct grub_efi_disk_io): New structure.
22866 (grub_efi_disk_io_t): New type.
22867 (struct grub_efi_block_io_media): New structure.
22868 (grub_efi_block_io_media_t): New type.
22869 (struct grub_efi_block_io): New structure.
22870 (grub_efi_block_io_t): New type.
22871
22872 * include/grub/misc.h (grub_stop): Removed.
22873 (grub_exit): New prototype.
22874 (grub_abort): Likewise.
22875
22876 * include/grub/disk.h (enum grub_disk_dev_id): Added
22877 GRUB_DISK_DEVICE_EFIDISK_ID.
22878
22879 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
22880 disk/efi/efidisk.c.
22881 (kernel_syms.lst): Remove the target if an error occurs.
22882
22883 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
22884
22885 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
22886 as it was simply too buggy.
22887
22888 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
22889
22890 * kern/misc.c (grub_lltoa): New function.
22891 (grub_vsprintf): Added support for the long long suffix,
22892 i.e. "ll".
22893
22894 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
22895
22896 * Makefile.in (LDFLAGS): Add variable.
22897 (LD): Remove variable.
22898 * configure.ac: Add -m32 to LDFLAGS.
22899 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
22900 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
22901 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
22902 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
22903 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
22904 variables.
22905 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
22906 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
22907 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
22908
22909 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
22910
22911 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
22912 length for unknown glyph.
22913
22914 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
22915
22916 Add support for pre-loaded modules into the EFI port.
22917
22918 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
22919 completely. Accept one more argument DIR. The caller has changed.
22920
22921 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
22922
22923 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
22924 (grub_efi_loaded_image_guid): New variable.
22925 (grub_efi_get_loaded_image): New function.
22926 (grub_arch_modules_addr): Likewise.
22927
22928 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
22929 prototype.
22930
22931 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
22932 (struct grub_efi_loaded_image): New structure.
22933 (grub_efi_loaded_image_t): New type.
22934
22935 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
22936
22937 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
22938 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
22939 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
22940
22941 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
22942
22943 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
22944
22945 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
22946
22947 * DISTLIST: Added include/grub/efi/console.h,
22948 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
22949 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
22950
22951 * include/grub/efi/console.h: New file.
22952 * include/grub/efi/time.h: Likewise.
22953 * include/grub/i386/efi/kernel.h: Likewise.
22954 * kern/efi/init.c: Likewise.
22955 * kern/efi/mm.c: Likewise.
22956 * term/efi/console.c: Likewise.
22957
22958 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
22959 (grub_stop): Removed.
22960 (grub_get_rtc): Likewise.
22961 (grub_machine_init): Simply call grub_efi_init.
22962 (grub_machine_fini): Call grub_efi_fini.
22963
22964 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
22965 (grub_efi_output_string): Removed.
22966 (grub_efi_stall): New function.
22967 (grub_stop): Likewise.
22968 (grub_get_rtc): Likewise.
22969
22970 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
22971 (grub_efi_stall): New prototype.
22972 (grub_efi_allocate_pages): Likewise.
22973 (grub_efi_free_pages): Likewise.
22974 (grub_efi_get_memory_map): Likewise.
22975 (grub_efi_mm_init): Likewise.
22976 (grub_efi_mm_fini): Likewise.
22977 (grub_efi_init): Likewise.
22978 (grub_efi_fini): Likewise.
22979
22980 * include/grub/i386/efi/time.h: Do not include
22981 grub/symbol.h. Include grub/efi/time.h.
22982 (GRUB_TICKS_PER_SECOND): Removed.
22983 (grub_get_rtc): Likewise.
22984
22985 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
22986 Added padding. The EFI spec is buggy.
22987 (GRUB_EFI_BLACK): New macro.
22988 (GRUB_EFI_BLUE): Likewise.
22989 (GRUB_EFI_GREEN): Likewise.
22990 (GRUB_EFI_CYAN): Likewise.
22991 (GRUB_EFI_RED): Likewise.
22992 (GRUB_EFI_MAGENTA): Likewise.
22993 (GRUB_EFI_BROWN): Likewise.
22994 (GRUB_EFI_LIGHTGRAY): Likewise.
22995 (GRUB_EFI_BRIGHT): Likewise.
22996 (GRUB_EFI_DARKGRAY): Likewise.
22997 (GRUB_EFI_LIGHTBLUE): Likewise.
22998 (GRUB_EFI_LIGHTGREEN): Likewise.
22999 (GRUB_EFI_LIGHTCYAN): Likewise.
23000 (GRUB_EFI_LIGHTRED): Likewise.
23001 (GRUB_EFI_LIGHTMAGENTA): Likewise.
23002 (GRUB_EFI_YELLOW): Likewise.
23003 (GRUB_EFI_WHITE): Likewise.
23004 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
23005 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
23006 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
23007 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
23008 (GRUB_EFI_BACKGROUND_RED): Likewise.
23009 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
23010 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
23011 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
23012 (GRUB_EFI_TEXT_ATTR): Likewise.
23013
23014 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
23015 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
23016 (kernel_mod_HEADERS): Added efi/time.h.
23017
23018 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
23019
23020 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
23021 include/grub/efi/api.h, include/grub/efi/console_control.h,
23022 include/grub/efi/efi.h, include/grub/efi/pe32.h,
23023 include/grub/i386/efi/time.h, kern/efi/efi.c,
23024 kern/i386/efi/init.c, kern/i386/efi/startup.S,
23025 and util/i386/efi/grub-mkimage.c.
23026
23027 * Makefile.in (RMKFILES): Added i386-efi.rmk.
23028
23029 * genmk.rb (PModule#rule): Do not export symbols if
23030 #{prefix}_EXPORTS is set to "no".
23031
23032 * conf/i386-efi.mk: New file.
23033 * conf/i386-efi.rmk: Likewise.
23034 * include/grub/efi/api.h: Likewise.
23035 * include/grub/efi/console_control.h: Likewise.
23036 * include/grub/efi/efi.h: Likewise.
23037 * include/grub/efi/pe32.h: Likewise.
23038 * include/grub/i386/efi/time.h: Likewise.
23039 * kern/efi/efi.c: Likewise.
23040 * kern/i386/efi/init.c: Likewise.
23041 * kern/i386/efi/startup.S: Likewise.
23042 * util/i386/efi/grub-mkimage.c: Likewise.
23043
23044 2006-04-17 Marco Gerards <marco@gnu.org>
23045
23046 * include/grub/script.h: Include <grub/parser.h> and
23047 "grub_script.tab.h".
23048 (struct grub_lexer_param): New struct.
23049 (struct grub_parser_param): Likewise.
23050 (grub_script_create_arglist): Pass the state in an argument.
23051 (grub_script_add_arglist): Likewise.
23052 (grub_script_create_cmdline): Likewise.
23053 (grub_script_create_cmdblock): Likewise.
23054 (grub_script_create_cmdif): Likewise.
23055 (grub_script_create_cmdmenu): Likewise.
23056 (grub_script_add_cmd): Likewise.
23057 (grub_script_arg_add): Likewise.
23058 (grub_script_lexer_ref): Likewise.
23059 (grub_script_lexer_deref): Likewise.
23060 (grub_script_lexer_record_start): Likewise.
23061 (grub_script_lexer_record_stop): Likewise.
23062 (grub_script_mem_record): Likewise.
23063 (grub_script_mem_record_stop): Likewise.
23064 (grub_script_malloc): Likewise.
23065 (grub_script_yylex): Likewise.
23066 (grub_script_yyparse): Likewise.
23067 (grub_script_yyerror): Likewise.
23068 (grub_script_yylex): Likewise.
23069 (grub_script_lexer_init): Return the state.
23070
23071 * normal/lexer.c (grub_script_lexer_state): Removed variable.
23072 (grub_script_lexer_done): Likewise.
23073 (grub_script_lexer_getline): Likewise.
23074 (grub_script_lexer_refs): Likewise.
23075 (script): Likewise.
23076 (newscript): Likewise.
23077 (record): Likewise.
23078 (recording): Likewise.
23079 (recordpos): Likewise.
23080 (recordlen): Likewise.
23081 (grub_script_lexer_init): Return the state instead of setting
23082 global variables.
23083 (grub_script_lexer_ref): Use the newly added argument for state
23084 instead of globals.
23085 (grub_script_lexer_deref): Likewise.
23086 (grub_script_lexer_record_start): Likewise.
23087 (grub_script_lexer_record_stop): Likewise.
23088 (recordchar): Likewise.
23089 (nextchar): Likewise.
23090 (grub_script_yylex2): Likewise.
23091 (grub_script_yylex): Likewise.
23092 (grub_script_yyerror): Likewise.
23093
23094 * normal/parser.y (func_mem): Removed variable.
23095 (menu_entry): Likewise.
23096 (err): Likewise.
23097 (%lex-param): New parser option.
23098 (%parse-param): Likewise.
23099 (script): Always return the AST.
23100 (argument): Pass the state around.
23101 (arguments): Likewise.
23102 (grubcmd): Likewise.
23103 (commands): Likewise.
23104 (function): Likewise.
23105 (menuentry): Likewise.
23106 (if_statement): Likewise.
23107 (if): Likewise.
23108
23109 * normal/script.c (grub_script_memused): Removed variable.
23110 (grub_script_parsed): Likewise.
23111 (grub_script_malloc): Added a state argument. Use that instead of
23112 global variables.
23113 (grub_script_mem_record): Likewise.
23114 (grub_script_mem_record_stop): Likewise.
23115 (grub_script_arg_add): Likewise.
23116 (grub_script_add_arglist): Likewise.
23117 (grub_script_create_cmdline): Likewise.
23118 (grub_script_create_cmdif): Likewise.
23119 (grub_script_create_cmdmenu): Likewise.
23120 (grub_script_add_cmd): Likewise.
23121 (grub_script_parse): Setup the state before calling the parser.
23122
23123 2006-04-16 Marco Gerards <marco@gnu.org>
23124
23125 * normal/command.c (grub_command_init): Remove the title command.
23126
23127 * normal/lexer.c (grub_script_yylex): Renamed from this...
23128 (grub_script_yylex2): ... to this.
23129 (grub_script_yylex): New function. Temporary
23130 introduced to filter some tokens.
23131 (grub_script_yyerror): Print a newline.
23132
23133 * normal/main.c (read_config_file): Output information about the
23134 lines that contain errors. Wait for a key after all lines have
23135 been processed. Don't return an empty menu.
23136
23137 * normal/parser.y (func_mem): Don't initialize.
23138 (menu_entry): Likewise.
23139 (err): New variable.
23140 (script): Don't return anything when an error was encountered.
23141 (ws, returns): Removed rules.
23142 (argument): Disabled concatenated variable support.
23143 (arguments): Remove explicit separators.
23144 (grubcmd): Likewise.
23145 (function): Likewise.
23146 (menuentry): Likewise.
23147 (if): Likewise.
23148 (commands): Likewise. Add error handling.
23149
23150 * normal/script.c (grub_script_create_cmdline): If
23151 `grub_script_parsed' is 0, assume the parser encountered an error.
23152
23153 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
23154
23155 * configure.ac: Add support for EFI. Fix the typo
23156 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
23157
23158 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
23159
23160 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
23161 foreign multibyte characters should be shown correctly.
23162
23163 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
23164
23165 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
23166 calculation.
23167 (read_config_file): Made it to close file before returning.
23168
23169 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
23170
23171 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
23172 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
23173 video/i386/pc/vbefill.c.
23174
23175 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
23176 video/i386/pc/vbefill.c.
23177
23178 * include/grub/video.h (grub_video_blit_format): New enum.
23179 (grub_video_mode_info): Added new member blit_format.
23180 (grub_video_get_blit_format): New function prototype.
23181
23182 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
23183 function prototype.
23184 (grub_video_vbe_map_rgb): Likewise.
23185 (grub_video_vbe_unmap_color): Likewise.
23186
23187 * include/grub/i386/pc/vbeblit.h: New file.
23188
23189 * include/grub/i386/pc/vbefill.h: New file.
23190
23191 * video/video.c (grub_video_get_blit_format): New function.
23192 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
23193 (grub_video_vbe_map_rgb): Likewise.
23194 (grub_video_vbe_unmap_color): Likewise.
23195
23196 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
23197 optimized fills.
23198 (grub_video_vbe_blit_render_target): Changed to use more optimized
23199 blits.
23200 (grub_video_vbe_setup): Added detection for optimized settings.
23201 (grub_video_vbe_create_render_target): Likewise.
23202
23203 * video/i386/pc/vbeblit.c: New file.
23204
23205 * video/i386/pc/vbefill.c: New file.
23206
23207 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
23208
23209 * font/manager.c (grub_font_get_glyph): Removed font fixup from
23210 here...
23211
23212 * util/unifont2pff.rb: ... and moved it to here. Improved argument
23213 parsing to support both hex and dec ranges. If filename was missing
23214 show usage information.
23215
23216 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
23217
23218 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
23219 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
23220
23221 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
23222 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
23223 (video_mod_SOURCES): Added.
23224 (video_mod_CFLAGS): Likewise.
23225 (video_mod_LDFLAGS): Likewise.
23226 (gfxterm_mod_SOURCES): Likewise.
23227 (gfxterm_mod_CFLAGS): Likewise.
23228 (gfxterm_mod_LDFLAGS): Likewise.
23229 (videotest_mod_SOURCES): Likewise.
23230 (videotest_mod_CFLAGS): Likewise.
23231 (videotest_mod_LDFLAGS): Likewise.
23232 (vesafb_mod_SOURCES): Removed.
23233 (vesafb_mod_CFLAGS): Likewise.
23234 (vesafb_mod_LDFLAGS): Likewise.
23235 (vga_mod_SOURCES): Likewise.
23236 (vga_mod_CFLAGS): Likewise.
23237 (vga_mod_LDFLAGS): Likewise.
23238
23239 * commands/videotest.c: New file.
23240
23241 * font/manager.c (fill_with_default_glyph): Modified to use
23242 grub_font_glyph.
23243 (grub_font_get_glyph): Likewise.
23244 (fontmanager): Renamed from this...
23245 (font_manager): ... to this.
23246
23247 * include/grub/font.h (grub_font_glyph): Added new structure.
23248 (grub_font_get_glyph): Modified to use grub_font_glyph.
23249
23250 * include/grub/misc.h (grub_abs): Added as inline function.
23251
23252 * include/grub/video.h: New file.
23253
23254 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
23255 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
23256 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
23257 (grub_vbe_get_controller_info): Renamed from this...
23258 (grub_vbe_bios_get_controller_info): ... to this.
23259 (grub_vbe_get_mode_info): Renamed from this...
23260 (grub_vbe_bios_get_mode_info): ... to this.
23261 (grub_vbe_set_mode): Renamed from this...
23262 (grub_vbe_bios_set_mode): ... to this.
23263 (grub_vbe_get_mode): Renamed from this...
23264 (grub_vbe_bios_get_mode): ... to this.
23265 (grub_vbe_set_memory_window): Renamed from this...
23266 (grub_vbe_bios_set_memory_window): ... to this.
23267 (grub_vbe_get_memory_window): Renamed from this...
23268 (grub_vbe_bios_get_memory_window): ... to this.
23269 (grub_vbe_set_scanline_length): Renamed from this...
23270 (grub_vbe_set_scanline_length): ... to this.
23271 (grub_vbe_get_scanline_length): Renamed from this...
23272 (grub_vbe_bios_get_scanline_length): ... to this.
23273 (grub_vbe_set_display_start): Renamed from this...
23274 (grub_vbe_bios_set_display_start): ... to this.
23275 (grub_vbe_get_display_start): Renamed from this...
23276 (grub_vbe_bios_get_display_start): ... to this.
23277 (grub_vbe_set_palette_data): Renamed from this...
23278 (grub_vbe_bios_set_palette_data): ... to this.
23279 (grub_vbe_set_pixel_rgb): Removed.
23280 (grub_vbe_set_pixel_index): Likewise.
23281
23282 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
23283 from this...
23284 (grub_vbe_bios_get_controller_info): ... to this.
23285 (grub_vbe_get_mode_info): Renamed from this...
23286 (grub_vbe_bios_get_mode_info): ... to this.
23287 (grub_vbe_set_mode): Renamed from this...
23288 (grub_vbe_bios_set_mode): ... to this.
23289 (grub_vbe_get_mode): Renamed from this...
23290 (grub_vbe_bios_get_mode): ... to this.
23291 (grub_vbe_set_memory_window): Renamed from this...
23292 (grub_vbe_bios_set_memory_window): ... to this.
23293 (grub_vbe_get_memory_window): Renamed from this...
23294 (grub_vbe_bios_get_memory_window): ... to this.
23295 (grub_vbe_set_scanline_length): Renamed from this...
23296 (grub_vbe_set_scanline_length): ... to this.
23297 (grub_vbe_get_scanline_length): Renamed from this...
23298 (grub_vbe_bios_get_scanline_length): ... to this.
23299 (grub_vbe_set_display_start): Renamed from this...
23300 (grub_vbe_bios_set_display_start): ... to this.
23301 (grub_vbe_get_display_start): Renamed from this...
23302 (grub_vbe_bios_get_display_start): ... to this.
23303 (grub_vbe_set_palette_data): Renamed from this...
23304 (grub_vbe_bios_set_palette_data): ... to this.
23305 (grub_vbe_bios_get_controller_info): Fixed problem with registers
23306 getting corrupted after calling it. Added more pushes and pops.
23307 (grub_vbe_bios_set_mode): Likewise.
23308 (grub_vbe_bios_get_mode): Likewise.
23309 (grub_vbe_bios_get_memory_window): Likewise.
23310 (grub_vbe_bios_set_scanline_length): Likewise.
23311 (grub_vbe_bios_get_scanline_length): Likewise.
23312 (grub_vbe_bios_get_display_start): Likewise.
23313 (grub_vbe_bios_set_palette_data): Likewise.
23314
23315 * normal/cmdline.c (cl_set_pos): Refresh the screen.
23316 (cl_insert): Likewise.
23317 (cl_delete): Likewise.
23318
23319 * term/gfxterm.c: New file.
23320
23321 * term/i386/pc/vesafb.c: Removed file.
23322
23323 * video/video.c: New file.
23324
23325 * video/i386/pc/vbe.c (real2pm): Added new function.
23326 (grub_video_vbe_draw_pixel): Likewise.
23327 (grub_video_vbe_get_video_ptr): Likewise.
23328 (grub_video_vbe_get_pixel): Likewise
23329 (grub_video_vbe_init): Likewise.
23330 (grub_video_vbe_fini): Likewise.
23331 (grub_video_vbe_setup): Likewise.
23332 (grub_video_vbe_get_info): Likewise.
23333 (grub_video_vbe_set_palette): Likewise.
23334 (grub_video_vbe_get_palette): Likewise.
23335 (grub_video_vbe_set_viewport): Likewise.
23336 (grub_video_vbe_get_viewport): Likewise.
23337 (grub_video_vbe_map_color): Likewise.
23338 (grub_video_vbe_map_rgb): Likewise.
23339 (grub_video_vbe_map_rgba): Likewise.
23340 (grub_video_vbe_unmap_color): Likewise.
23341 (grub_video_vbe_fill_rect): Likewise.
23342 (grub_video_vbe_blit_glyph): Likewise.
23343 (grub_video_vbe_blit_bitmap): Likewise.
23344 (grub_video_vbe_blit_render_target): Likewise.
23345 (grub_video_vbe_scroll): Likewise.
23346 (grub_video_vbe_swap_buffers): Likewise.
23347 (grub_video_vbe_create_render_target): Likewise.
23348 (grub_video_vbe_delete_render_target): Likewise.
23349 (grub_video_vbe_set_active_render_target): Likewise.
23350 (grub_vbe_set_pixel_rgb): Remove function.
23351 (grub_vbe_set_pixel_index): Likewise.
23352 (index_color_mode): Remove static variable.
23353 (active_mode): Likewise.
23354 (framebuffer): Likewise.
23355 (bytes_per_scan_line): Likewise.
23356 (grub_video_vbe_adapter): Added new static variable.
23357 (framebuffer): Likewise.
23358 (render_target): Likewise.
23359 (initial_mode): Likewise.
23360 (mode_in_use): Likewise.
23361 (mode_list): Likewise.
23362
23363 2006-03-10 Marco Gerards <marco@gnu.org>
23364
23365 * configure.ac (AC_INIT): Bumped to 1.93.
23366
23367 * DISTLIST: Added `include/grub/hfs.h'.
23368
23369 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
23370
23371 * boot/i386/pc/boot.S (general_error): Before looping, try INT
23372 18H, which might help the BIOS falling back to next boot media.
23373
23374 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
23375
23376 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
23377 Poe Chen <poe.poechen@gmail.com>.
23378
23379 2006-01-17 Marco Gerards <marco@gnu.org>
23380
23381 * include/grub/normal.h: Include <grub/script.h>.
23382 (grub_command_list): Removed struct.
23383 (grub_command_list_t): Removed type.
23384 (grub_menu_entry): Remove members `num' and `command_list'. Add
23385 members `commands' and `sourcecode'.
23386 * include/grub/script.h: Add inclusion guards.
23387 (grub_script_cmd_menuentry): New struct.
23388 (grub_script_execute_menuentry): New prototype.
23389 (grub_script_lexer_record_start): Likewise.
23390 (grub_script_lexer_record_stop): Likewise.
23391 * normal/execute.c (grub_script_execute_menuentry): New function.
23392 * normal/lexer.c (record, recording, recordpos, recordlen): New
23393 variables.
23394 (grub_script_lexer_record_start): New function.
23395 (grub_script_lexer_record_stop): Likewise.
23396 (recordchar): Likewise.
23397 (nextchar): Likewise.
23398 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
23399 2048 as the buffer size. Add the tokens `menuentry' and `@'.
23400 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
23401 (current_menu): New variable.
23402 (free_menu): Mainly rewritten.
23403 (grub_normal_menu_addentry): New function.
23404 (read_config_file): Rewritten.
23405 * normal/menu.c (run_menu_entry): Mainly rewritten.
23406 * normal/menu_entry.c (make_screen): Rewritten the code to insert
23407 the menu entry.
23408 (run): Mainly rewritten.
23409 * normal/parser.y (menu_entry): New variable.
23410 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
23411 (menuentry): New rule.
23412 (command): Add `menuentry'.
23413 (if_statement): Allow additional returns before `fi'.
23414 * normal/script.c (grub_script_create_cmdmenu): New function.
23415
23416 2006-01-03 Marco Gerards <marco@gnu.org>
23417
23418 * INSTALL: GNU Bison is required.
23419 * configure.ac: Rewritten the test to detect Bison.
23420 * Makefile.in (YACC): New variable. Reported by Xun Sun
23421 <xun.sun.cn@gmail.com>.
23422
23423 2006-01-03 Marco Gerards <marco@gnu.org>
23424
23425 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
23426 the HFS+ filesystem to filesystem blocks.
23427 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
23428 GCC warning is silenced.
23429
23430 2006-01-03 Marco Gerards <marco@gnu.org>
23431
23432 * partmap/apple.c (apple_partition_map_iterate): Convert the data
23433 read from disk from big endian to host byte order.
23434
23435 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
23436
23437 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
23438 documentation.
23439 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
23440 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
23441 embedded HFS+ filesystem.
23442 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
23443 (grub_hfs_sblock): Move from here...
23444 * include/grub/hfs.h: To here... New file.
23445 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
23446 documentation.
23447 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
23448 New macros.
23449 (grub_hfsplus_volheader): Change type of member `magic' to
23450 `grub_uint16_t'.
23451 (grub_hfsplus_data): Add new member `embedded_offset'.
23452 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
23453 returned block.
23454 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
23455 Calculate the offset.
23456
23457 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23458
23459 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
23460 Removed.
23461 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
23462
23463 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23464
23465 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
23466 ENV->NAME is NULL after allocating ENV->VALUE.
23467
23468 2005-12-25 Marco Gerards <marco@gnu.org>
23469
23470 * kern/env.c (grub_env_set): Rewritten the error handling code.
23471
23472 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23473
23474 * geninit.sh: Made more robust, and more portable.
23475
23476 2005-12-25 Marco Gerards <marco@gnu.org>
23477
23478 Add support for Apple HFS+ filesystems.
23479
23480 * fs/hfsplus.c: New file.
23481
23482 * DISTLIST: Added `fs/hfsplus.c'.
23483
23484 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
23485 (hfsplus_mod_SOURCES): New variable.
23486 (hfsplus_mod_CFLAGS): Likewise.
23487 (hfsplus_mod_LDFLAGS): Likewise.
23488 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
23489 (grub_setup_SOURCES): Likewise.
23490 (grub_mkdevicemap_SOURCES): Likewise.
23491 (grub_emu_SOURCES): Likewise.
23492 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23493
23494 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
23495
23496 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
23497
23498 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23499
23500 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
23501 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
23502 include/grub/parser.h, include/grub/script.h, kern/parser.c,
23503 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
23504 normal/lexer.c, normal/parser.y, normal/script.c, and
23505 partmap/gpt.c.
23506 Removed kern/sparc64/cache.c.
23507
23508 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
23509 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
23510 grub_emu_init.c.
23511
23512 * configure.ac (AC_INIT): Bumped to 1.92.
23513
23514 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
23515
23516 * kern/err.c (grub_error_push): Added new function to support error
23517 stacks.
23518 (grub_error_pop): Likewise.
23519 (grub_error_stack_items): New local variable to support error stacks.
23520 (grub_error_stack_pos): Likewise.
23521 (grub_error_stack_assert): Likewise.
23522 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
23523 stack depth.
23524 (grub_print_error): Added support to print errors from error stack.
23525
23526 * include/grub/err.h (grub_error_push): Added function prototype.
23527 (grub_error_pop): Likewise.
23528
23529 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
23530
23531 * configure.ac: Accept `powerpc64' as host_cpu.
23532 (amd64): Rename to `biarch32'.
23533
23534 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
23535 non-cacheline-aligned addresses.
23536
23537 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
23538 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
23539 if `size' is non-zero.
23540
23541 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
23542
23543 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
23544 and `cd' to make sure the filename is not prefixed with a
23545 directory name.
23546 (pkgdata_MODULES): Add `gpt.mod'.
23547 (gpt_mod_SOURCES): New variable.
23548 (gpt_mod_CFLAGS): Likewise.
23549 (gpt_mod_LDFLAGS): Likewise.
23550
23551 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
23552
23553 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
23554 New macro.
23555
23556 * partmap/gpt.c: New file.
23557
23558 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
23559 GPT partition map is detected.
23560
23561 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
23562
23563 * commands/i386/pc/play.c: New file.
23564 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
23565 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
23566 macros.
23567
23568 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
23569
23570 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
23571 ((unused))' to silence gcc warning.
23572
23573 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
23574
23575 * configure.ac: Correct `AC_PROG_YACC' test.
23576
23577 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23578
23579 * util/powerpc/ieee1275/grub-install.in: Run the mount point
23580 check before installing files.
23581
23582 2005-11-22 Mike Small <smallm@panix.com>
23583
23584 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
23585 number regex so multidigit numbers are recognized correctly.
23586
23587 2005-11-22 Mike Small <smallm@panix.com>
23588
23589 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
23590 debugging message before attempting to claim memory.
23591 (grub_rescue_cmd_initrd): Add a claim debugging message and try
23592 multiple addresses in case of failure.
23593
23594 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23595
23596 * term/tparm.c (get_space): Remove empty `if' statement.
23597
23598 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
23599
23600 * kern/parser.c (check_varstate): Rename `state' to 's'.
23601
23602 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23603
23604 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
23605 variable definitions to the beginning of each function. Sort stack
23606 variables by size.
23607 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
23608 `buf' argument to `char *'.
23609
23610 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23611
23612 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
23613 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
23614 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
23615 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
23616 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
23617 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
23618 configfile.mod, search.mod, gzio.mod and test.mod.
23619 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
23620 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
23621 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
23622 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
23623 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
23624 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
23625 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
23626 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
23627 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
23628 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
23629 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
23630 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
23631 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
23632 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
23633 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
23634 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
23635 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
23636 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
23637 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
23638 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
23639 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
23640 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
23641 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
23642
23643 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
23644 `grep --include'.
23645 (pkgdata_MODULES): Add test.mod.
23646
23647 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23648
23649 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
23650 appending to variables with "+=".
23651 (PModule): Use full pathname to generate *.lst filenames.
23652
23653 * Makefile.in: Fixed list rules moved from genmk.rb.
23654 (.DELETE_ON_ERROR): New special target.
23655 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
23656
23657 * conf/i386-pc.rmk: Include conf/common.mk.
23658 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
23659 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
23660 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
23661 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
23662 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
23663 configfile.mod, search.mod, gzio.mod and test.mod.
23664 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
23665 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
23666 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
23667 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
23668 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
23669 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
23670 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
23671 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
23672 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
23673 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
23674 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
23675 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
23676 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
23677 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
23678 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
23679 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
23680 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
23681 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
23682 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
23683 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
23684 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
23685 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
23686 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
23687 here...
23688 * conf/common.rmk: ... to here. New file.
23689
23690 * conf/common.mk: New file.
23691
23692 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
23693
23694 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
23695 (grub_script.tab.c): ... here.
23696
23697 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
23698 (grub_script.tab.c): ... here.
23699
23700 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
23701 (grub_script.tab.c): ... here.
23702
23703 * normal/command.c (grub_command_find): Fixed a memory leak of
23704 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
23705
23706 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23707
23708 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
23709 "@" which marks the start of a comment on ARM.
23710 (VARIABLE): Likewise.
23711
23712 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23713
23714 Add support for Linux/ADFS partition tables.
23715
23716 * partmap/acorn.c: New file.
23717
23718 * include/grub/acorn_filecore.h: Likewise.
23719
23720 * DISTLIST: Added `partmap/acorn.c' and
23721 `include/grub/acorn_filecore.h'.
23722
23723 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23724 `partmap/acorn.c'.
23725 (pkgdata_MODULES): Add `acorn.mod'.
23726 (acorn_mod_SOURCES): New variable.
23727 (acorn_mod_CFLAGS): Likewise.
23728
23729 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
23730 `partmap/acorn.c'.
23731 (pkgdata_MODULES): Add `acorn.mod'.
23732 (acorn_mod_SOURCES): New variable.
23733 (acorn_mod_CFLAGS): Likewise.
23734
23735 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
23736 (pkgdata_MODULES): Add `acorn.mod'.
23737 (acorn_mod_SOURCES): New variable.
23738 (acorn_mod_CFLAGS): Likewise.
23739 (acorn_mod_LDFLAGS): Likewise.
23740
23741 * include/types.h (grub_disk_addr_t): New typedef.
23742
23743 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
23744
23745 * geninit.sh: New file.
23746
23747 * geninitheader.sh: Likewise.
23748
23749 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
23750 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
23751 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
23752 * commands/configfile.c (grub_configfile_init)
23753 (grub_configfile_fini): Likewise.
23754 * commands/default.c (grub_default_init, grub_default_fini):
23755 Likewise.
23756 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
23757 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
23758 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
23759 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
23760 Likewise.
23761 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
23762 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
23763 Likewise.
23764 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
23765 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
23766 Likewise.
23767 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
23768 Likewise.
23769 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
23770 Likewise.
23771 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
23772 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
23773 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
23774 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
23775 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
23776 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
23777 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
23778 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
23779 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
23780 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
23781 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
23782 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
23783 * partmap/amiga.c (grub_amiga_partition_map_init)
23784 (grub_amiga_partition_map_fini): Likewise.
23785 * partmap/apple.c (grub_apple_partition_map_init)
23786 (grub_apple_partition_map_fini): Likewise.
23787 * partmap/pc.c (grub_pc_partition_map_init)
23788 (grub_pc_partition_map_fini): Likewise.
23789 * partmap/sun.c (grub_sun_partition_map_init,
23790 grub_sun_partition_map_fini): Likewise.
23791 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
23792 Likewise.
23793
23794 * util/grub-emu.c: Include <grub_modules_init.h>.
23795 (main): Don't initialize and de-initialize any modules directly,
23796 use `grub_init_all' and `grub_fini_all' instead.
23797
23798 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
23799 `grub_vesafb_mod_init'.
23800 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
23801 all users.
23802 * term/i386/pc/vga.c (grub_vga_init): Renamed to
23803 `grub_vga_mod_init'. Updated all users.
23804 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
23805
23806 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
23807 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
23808 rules.
23809
23810 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
23811 Generate a function to initialize the module in utilities.
23812 Updated all callers.
23813 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
23814 initialize the module in utilities. Updated all callers.
23815
23816 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
23817
23818 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
23819 escape sequence and a literal ^L to clear the screen.
23820
23821 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
23822 when returning from Open Firmware.
23823
23824 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
23825
23826 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
23827 (grub_ofconsole_height): Likewise.
23828 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
23829 manually insert a '\n'.
23830 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
23831 `grub_ofconsole_height'. Return early if these are already set.
23832
23833 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
23834
23835 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
23836 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
23837 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
23838 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
23839 and `normal/script.c'.
23840 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
23841 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
23842 (test_mod_SOURCES): New variable.
23843 (test_mod_CFLAGS): Likewise.
23844 (test_mod_LDFLAGS): Likewise.
23845 (pkgdata_MODULES): Add `test.mod'.
23846 (grub_script.tab.c): New rule.
23847 (grub_script.tab.h): Likewise.
23848
23849 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
23850
23851 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23852 `commands/test.c', `normal/execute.c', `normal/lexer.c',
23853 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
23854 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
23855 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
23856 (test_mod_SOURCES): New variable.
23857 (test_mod_CFLAGS): Likewise.
23858 (pkgdata_MODULES): Add `test.mod'.
23859 (grub_script.tab.c): New rule.
23860 (grub_script.tab.h): Likewise.
23861
23862 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
23863
23864 Add initial scripting support.
23865
23866 * commands/test.c: New file.
23867 * include/grub/script.h: Likewise.
23868 * normal/execute.c: Likewise.
23869 * normal/function.c: Likewise.
23870 * normal/lexer.c: Likewise.
23871 * normal/parser.y: Likewise.
23872 * normal/script.c: Likewise.
23873
23874 * configure.ac: Add `AC_PROG_YACC' test.
23875
23876 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
23877 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
23878 `normal/function.c' and `normal/script.c'.
23879 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
23880 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
23881 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
23882 variables.
23883 (pkgdata_MODULES): Add `test.mod'.
23884 (grub_script.tab.c): New rule.
23885 (grub_script.tab.h): Likewise.
23886
23887 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
23888
23889 * include/grub/normal.h (grub_test_init): New prototype.
23890 (grub_test_fini): Likewise.
23891
23892 * normal/command.c: Include <grub/script.h>.
23893 (grub_command_execute): Rewritten.
23894
23895 * util/grub-emu.c (main): Call `grub_test_init' and
23896 `grub_test_fini'.
23897
23898 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
23899
23900 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
23901 to 0.
23902 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
23903 there are no pending characters.
23904
23905 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
23906
23907 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
23908 `grub_strndup' to drop device arguments. Replace unnecessary
23909 `grub_strndup' with `grub_strdup'.
23910
23911 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
23912
23913 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
23914 `debug' environment variable has been set.
23915
23916 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
23917
23918 * Makefile.in (install-local): Use $(DATA).
23919 (uninstall): Likewise.
23920 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
23921 (sbin_UTILITIES): ... to here.
23922 (sbin_SCRIPTS): New variable.
23923 (grub_install_SOURCES): New variable.
23924 * util/powerpc/ieee1275/grub-install.in: New file.
23925 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
23926 variable.
23927 (add_segments): Call `grub_util_get_path'.
23928
23929 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
23930
23931 From Timothy Baldwin:
23932 * commands/ls.c (grub_ls_list_files): Close FILE with
23933 grub_file_close.
23934 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
23935
23936 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
23937
23938 * include/grub/parser.h: New file.
23939
23940 * kern/parser.c: Likewise.
23941
23942 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
23943 (grub_setup_SOURCES): Likewise.
23944 (grub_probefs_SOURCES): Likewise.
23945 (grub_emu_SOURCES): Likewise.
23946 (kernel_img_HEADERS): Add `parser.h'.
23947
23948 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
23949 (grub_emu_SOURCES): Add `kern/parser.c'.
23950 (grubof_SOURCES): Likewise.
23951
23952 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
23953 (grubof_SOURCES): Add `kern/parser.c'.
23954
23955 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
23956
23957 * kern/misc.c (grub_split_cmdline): Removed function.
23958
23959 * kern/rescue.c: Include <grub/parser.h>.
23960 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
23961 of `grub_split_cmdline'.
23962
23963 * normal/command.c: Include <grub/parser.h>.
23964 (grub_command_execute): Use `grub_parser_split_cmdline' instead
23965 of `grub_split_cmdline'.
23966
23967 * normal/completion.c: Include <grub/parser.h>.
23968 (cmdline_state): New variable.
23969 (iterate_dir): End the filename with a quote depending on the
23970 command line state.
23971 (get_state): new function.
23972 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
23973 split the arguments and determine the current argument. When the
23974 argument string is not quoted, escape all spaces.
23975
23976 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
23977
23978 * normal/sparc64/setjmp.S: New file.
23979
23980 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
23981
23982 * include/grub/sparc64/libgcc.h: New file.
23983 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
23984 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
23985 normal/sparc64/setjmp.c.
23986
23987 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
23988
23989 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
23990 * kern/sparc64/cache.S: New file.
23991 * kern/sparc64/cache.c: Removed.
23992 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
23993 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
23994 -mtune=ultrasparc.
23995 (COMMON_LDFLAGS): Add -melf64_sparc.
23996 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
23997 (grubof_SOURCES): Use cache.S instead of cache.c.
23998 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
23999 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
24000 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
24001 commented though.
24002 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
24003 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
24004 (linux_mod_CFLAGS): Commented out.
24005 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
24006 out because module isn't built.
24007 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
24008 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
24009 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
24010 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
24011 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
24012 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
24013 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
24014 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
24015 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
24016 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
24017 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24018 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24019 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
24020 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
24021
24022 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
24023
24024 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
24025 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
24026 longer, because HFS should not be used on PC.
24027
24028 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24029
24030 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
24031 consistently within the loop.
24032
24033 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
24034
24035 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
24036 directory can not be read.
24037
24038 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24039
24040 * configure.ac (AC_INIT): Increase the version number to 1.91.
24041
24042 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
24043 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
24044 term/i386/pc/serial.c.
24045
24046 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24047
24048 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
24049 file size must be permitted.
24050
24051 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
24052 between %ah and %al.
24053
24054 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24055
24056 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
24057 grub_uint64_t.
24058 Call the hook with a NUL-terminated filename.
24059 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
24060 grub_cpu_to_be32.
24061
24062 * kern/term.c (cursor_state): New variable.
24063 (grub_term_set_current): Reset the cursor state on a new
24064 terminal.
24065 (grub_setcursor): Rewritten to use CURSOR_STATE.
24066 (grub_getcursor): New function.
24067
24068 * include/grub/term.h (grub_getcursor): New prototype.
24069
24070 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
24071 integers on ARM. Reported by Timothy Baldwin
24072 <T.E.Baldwin99@members.leeds.ac.uk>.
24073
24074 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
24075
24076 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
24077 allocated.
24078 (grub_sfs_dir): Likewise.
24079
24080 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
24081
24082 Add support for the SFS filesystem.
24083
24084 * fs/sfs.c: New file.
24085
24086 * DISTLIST: Added `fs/sfs.c'.
24087
24088 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
24089 (grub_probefs_SOURCES): Likewise.
24090 (grub_emu_SOURCES): Likewise.
24091 (pkgdata_MODULES): Add `sfs.mod'.
24092 (sfs_mod_SOURCES): New variable.
24093 (sfs_mod_CFLAGS): Likewise.
24094 (sfs_mod_LDFLAGS): Likewise.
24095
24096 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
24097 (pkgdata_MODULES): Add `sfs.mod'.
24098 (sfs_mod_SOURCES): New variable.
24099 (sfs_mod_CFLAGS): Likewise.
24100
24101 * util/grub-emu.c (main): Call `grub_sfs_init' and
24102 `grub_sfs_fini'.
24103
24104 * include/grub/fs.h (grub_sfs_init): New prototype.
24105 (grub_sfs_fini): Likewise.
24106
24107 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
24108
24109 Add support for the AFFS filesystem.
24110
24111 * fs/affs.c: New file.
24112
24113 * DISTLIST: Added `fs/affs.c'.
24114
24115 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
24116 (grub_probefs_SOURCES): Likewise.
24117 (grub_emu_SOURCES): Likewise.
24118 (pkgdata_MODULES): Add `affs.mod'.
24119 (affs_mod_SOURCES): New variable.
24120 (affs_mod_CFLAGS): Likewise.
24121 (affs_mod_LDFLAGS): Likewise.
24122
24123 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
24124 (pkgdata_MODULES): Add `affs.mod'.
24125 (affs_mod_SOURCES): New variable.
24126 (affs_mod_CFLAGS): Likewise.
24127
24128 * util/grub-emu.c (main): Call `grub_affs_init' and
24129 `grub_affs_fini'.
24130
24131 * include/grub/fs.h (grub_affs_init): New prototype.
24132 (grub_affs_fini): Likewise.
24133
24134 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
24135
24136 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
24137
24138 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
24139
24140 * configure.ac: Accept `x86_64' as host_cpu. In that case add
24141 `-m32' to CFLAGS.
24142
24143 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
24144 linking.
24145
24146 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
24147 (COMMON_LDFLAGS): New variable.
24148 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
24149 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
24150 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
24151 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
24152 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
24153 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
24154 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
24155 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
24156 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
24157 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
24158 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
24159 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
24160 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
24161 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
24162 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
24163 variables.
24164 (normal_mod_ASFLAGS): Add `-m32'.
24165
24166 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
24167 (grub_host_size_t, grub_host_ssize_t): New types.
24168 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
24169 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
24170 `GRUB_HOST_SIZEOF_VOID_P'.
24171
24172 * include/grub/kernel.h (struct grub_module_header): Type of
24173 member offset changed to `grub_host_off_t'. Type of member size
24174 changed to `grub_host_size_t'.
24175 (struct grub_module_info): Type of member offset changed to
24176 `grub_host_off_t'. Type of member size changed to
24177 `grub_host_size_t'.
24178
24179 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
24180
24181 Make GRUB's kernel compliant to Multiboot Specification.
24182
24183 * kern/i386/pc/startup.S (multiboot_header): New label.
24184 (multiboot_entry): Likewise.
24185 (multiboot_trampoline): Likewise.
24186
24187 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24188 Increased to 0x4A0.
24189
24190 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
24191 put parentheses after a question mark.
24192 [!GRUB_UTIL] (my_mod): New variable.
24193
24194 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
24195
24196 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
24197
24198 Adds support for the XFS filesystem. Btrees are not supported
24199 yet.
24200
24201 * fs/xfs.c: New file.
24202
24203 * DISTLIST: Added `fs/xfs.c'.
24204
24205 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
24206 (grub_probefs_SOURCES): Likewise.
24207 (grub_emu_SOURCES): Likewise.
24208 (pkgdata_MODULES): Add `xfs.mod'.
24209 (xfs_mod_SOURCES): New variable.
24210 (xfs_mod_CFLAGS): Likewise.
24211
24212 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
24213 (pkgdata_MODULES): Add `xfs.mod'.
24214 (xfs_mod_SOURCES): New variable.
24215 (xfs_mod_CFLAGS): Likewise.
24216
24217 * util/grub-emu.c (main): Call `grub_xfs_init' and
24218 `grub_xfs_fini'.
24219
24220 * include/grub/fs.h (grub_xfs_init): New prototype.
24221 (grub_xfs_fini): Likewise.
24222
24223
24224 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
24225
24226 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
24227 color modes, allow greater than 16 colors to be configured as
24228 a default palette.
24229
24230 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
24231
24232 * normal/completion.c (complete_arguments): Add the qualifier
24233 const into OPTIONS.
24234
24235 From Omniflux <omniflux+lists@omniflux.com>:
24236 * include/grub/terminfo.h: New file.
24237 * include/grub/tparm.h: Likewise.
24238 * include/grub/i386/pc/serial.h: Likewise.
24239 * term/terminfo.c: Likewise.
24240 * term/tparm.c: Likewise.
24241 * term/i386/pc/serial.c: Likewise.
24242 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
24243 serial.mod.
24244 (terminfo_mod_SOURCES): New variable.
24245 (terminfo_mod_CFLAGS): Likewise.
24246 (serial_mod_SOURCES): Likewise.
24247 (serial_mod_CFLAGS): Likewise.
24248
24249 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
24250
24251 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
24252 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
24253 and kern/powerpc/ieee1275/cmain.c, respectively.
24254
24255 * boot/powerpc/ieee1275/crt0.S: Moved to ...
24256 * kern/powerpc/ieee1275/crt0.S: ... here.
24257
24258 * boot/powerpc/ieee1275/cmain.c: Moved to ...
24259 * kern/powerpc/ieee1275/cmain.c: ... here.
24260
24261 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
24262 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
24263 instead of boot/powerpc/ieee1275/crt0.S and
24264 boot/powerpc/ieee1275/cmain.c, respectively.
24265
24266 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
24267 sectors. It was not used anyway.
24268
24269 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
24270
24271 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
24272 `unused parameter' warning.
24273
24274 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
24275
24276 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
24277 function.
24278 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
24279 getcharwidth.
24280
24281 2005-08-28 Marco Gerards <metgerards@student.han.nl>
24282
24283 * include/grub/normal.h (enum grub_completion_type): Added
24284 `GRUB_COMPLETION_TYPE_ARGUMENT'.
24285
24286 * normal/cmdline.c (print_completion): Handle
24287 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
24288 * normal/menu_entry.c (store_completion): Likewise.
24289
24290 * normal/completion.c (complete_arguments): New function.
24291 (grub_normal_do_completion): Call `complete_arguments' when the
24292 current words start with a dash.
24293
24294 2005-08-27 Marco Gerards <metgerards@student.han.nl>
24295
24296 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
24297 `gzio.mod' instead of `io.mod').
24298
24299 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
24300
24301 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
24302 (DISTDIRS): Added io and video.
24303 Rewrite the search routine to make an output consistently.
24304
24305 * DISTLIST: Added conf/sparc64-ieee1275.mk,
24306 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
24307 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
24308 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
24309 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
24310 util/powerpc/ieee1275/misc.c.
24311
24312 * include/grub/gzio.h: New file.
24313 * io/gzio.c: Likewise.
24314
24315 * kern/file.c (grub_file_close): Call grub_device_close only if
24316 FILE->DEVICE is not NULL.
24317
24318 * include/grub/mm.h [!NULL] (NULL): New macro.
24319
24320 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
24321
24322 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
24323 (pkgdata_MODULES): Added gzio.mod.
24324 (gzio_mod_SOURCES): New variable.
24325 (gzio_mod_CFLAGS): Likewise.
24326
24327 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
24328 (pkgdata_MODULES): Added gzio.mod.
24329 (gzio_mod_SOURCES): New variable.
24330 (gzio_mod_CFLAGS): Likewise.
24331
24332 * commands/cat.c: Include grub/gzio.h.
24333 (grub_cmd_cat): Use grub_gzfile_open instead of
24334 grub_file_open.
24335
24336 * commands/cmp.c: Include grub/gzio.h.
24337 (grub_cmd_cmp): Use grub_gzfile_open instead of
24338 grub_file_open.
24339
24340 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
24341 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
24342 grub_file_open.
24343 (grub_rescue_cmd_module): Likewise.
24344
24345 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
24346
24347 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
24348 kern/sparc64/ieee1275/init.c because it contains _start.
24349 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
24350
24351 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
24352
24353 * configure.ac: Add support for sparc64 host with ieee1275
24354 firmware.
24355 * configure: Generated from configure.ac.
24356 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
24357 instead of int.
24358 (grub_ofdisk_read): Likewise.
24359 (grub_ofdisk_open): Use %p to print pointer values, and cast the
24360 pointers as (void *) to remove a warning.
24361 (grub_ofdisk_close): Likewise.
24362 (grub_ofdisk_read): Likewise.
24363 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
24364 returns, so make it return void to remove a warning.
24365 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
24366 Corresponding prototype change.
24367 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
24368 values, and cast the pointers as (void *) to remove a warning.
24369 (grub_mm_dump): Likewise.
24370 * conf/sparc64-ieee1275.mk: New file.
24371 * conf/sparc64-ieee1275.rmk: Likewise.
24372 * include/grub/sparc64/setjmp.h: Likewise.
24373 * include/grub/sparc64/types.h: Likewise.
24374 * include/grub/sparc64/ieee1275/console.h: Likewise.
24375 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24376 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24377 * include/grub/sparc64/ieee1275/time.h: Likewise.
24378 * kern/sparc64/cache.c: Likewise.
24379 * kern/sparc64/dl.c: Likewise.
24380 * kern/sparc64/ieee1275/init.c: Likewise.
24381 * kern/sparc64/ieee1275/openfw.c: Likewise.
24382
24383 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
24384
24385 * util/console.c (grub_ncurses_putchar): If C is greater than
24386 0x7f, set C to a question mark.
24387 (grub_ncurses_getcharwidth): New function.
24388 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
24389 getcharwidth.
24390
24391 * normal/menu.c (print_entry): Made aware of Unicode. First,
24392 convert TITLE to UCS-4, and predict the cursor position by
24393 grub_getcharwidth.
24394
24395 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
24396 const to SRC.
24397 * kern/misc.c (grub_utf16_to_utf8): Likewise.
24398
24399 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24400
24401 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
24402 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
24403 grub_strcat.
24404
24405 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
24406 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
24407 grub_strcpy and grub_strlen. Take it into account that a space
24408 character is inserted as a delimiter.
24409
24410 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24411
24412 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
24413 invalid magic in the error.
24414
24415 * commands/search.c: New file.
24416
24417 * util/grub-emu.c (main): Call grub_search_init and
24418 grub_search_fini.
24419
24420 * kern/rescue.c (grub_rescue_print_disks): Removed.
24421 (grub_rescue_print_devices): New function.
24422 (grub_rescue_cmd_ls): Use grub_device_iterate with
24423 grub_rescue_print_devices instead of grub_disk_dev_iterate with
24424 grub_rescue_print_disks.
24425
24426 * kern/partition.c (grub_partition_iterate): Return the result of
24427 PARTMAP->ITERATE instead of GRUB_ERRNO.
24428
24429 * kern/device.c: Include grub/partition.h.
24430 (grub_device_iterate): New function.
24431
24432 * include/grub/partition.h (grub_partition_iterate): Return int
24433 instead of grub_err_t.
24434
24435 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
24436 prototype.
24437 [GRUB_UTIL] (grub_search_fini): Likewise.
24438
24439 * include/grub/device.h (grub_device_iterate): New prototype.
24440
24441 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
24442 commands/search.c.
24443 (pkgdata_MODULES): Added search.mod.
24444 (search_mod_SOURCES): New variable.
24445 (search_mod_CFLAGS): Likewise.
24446
24447 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
24448 (pkgdata_MODULES): Added search.mod.
24449 (search_mod_SOURCES): New variable.
24450 (search_mod_CFLAGS): Likewise.
24451
24452 * commands/ls.c (grub_ls_list_disks): Renamed to ...
24453 (grub_ls_list_devices): ... this, and use grub_device_iterate.
24454 All callers changed.
24455
24456 * DISTLIST: Added commands/search.c.
24457
24458 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24459
24460 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
24461 conversion.
24462 (grub_getcharwidth): New function.
24463
24464 * kern/misc.c (grub_utf8_to_ucs4): New function.
24465
24466 * include/grub/term.h (struct grub_term): Added a new member
24467 "getcharwidth".
24468 (grub_getcharwidth): New prototype.
24469
24470 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
24471
24472 * term/i386/pc/console.c (map_char): New function. Segregated from
24473 grub_console_putchar.
24474 (grub_console_putchar): Use map_char.
24475 (grub_console_getcharwidth): New function.
24476 (grub_console_term): Specified grub_console_getcharwidth as
24477 getcharwidth.
24478
24479 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
24480 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
24481
24482 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
24483 GRUB_ERRNO.
24484 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
24485 on grub_strtoul completely.
24486 (write_char): Declare local variables in the beginning of the
24487 function.
24488 (grub_vesafb_getcharwidth): New function.
24489 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
24490 getcharwidth.
24491
24492 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
24493
24494 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
24495 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
24496 commands/i386/pc/vbetest.c.
24497
24498 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
24499 call grub_vbe_get_controller_info again, because the returned
24500 information is volatile.
24501 (grub_vbe_set_video_mode): Mostly rewritten.
24502 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
24503 grub_vbe_status_t correctly.
24504 (grub_vbe_get_video_mode_info): Likewise.
24505 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
24506 several if statements.
24507
24508 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
24509 * commands/i386/pc/vbeinfo.c: ... this.
24510
24511 * commands/i386/pc/vbe_test.c: Renamed to ...
24512 * commands/i386/pc/vbetest.c: ... this.
24513
24514 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
24515 ...
24516 (grub_cmd_vbeinfo): ... this. Save video modes before
24517 iterating. Skip a video mode, if it is not available, not enough
24518 information is given or it is monochrome. Show the memory
24519 model. Leave the interpretation of MODEVAR to grub_strtoul
24520 completely.
24521 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
24522 (GRUB_MOD_FINI): Likewise.
24523
24524 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
24525 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
24526 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
24527 duplicated grub_env_get. Leave the interpretation of MODEVAR to
24528 grub_strtoul completely.
24529 (real2pm): Removed.
24530 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
24531 (GRUB_MOD_FINI): Likewise.
24532
24533 * normal/misc.c: Include grub/mm.h.
24534
24535 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
24536 vbe_list_modes with vbetest.mod and vbeinfo.mod.
24537 (vbe_list_modes_mod_SOURCES): Removed.
24538 (vbe_list_modes_mod_CFLAGS): Likewise.
24539 (vbe_test_mod_SOURCES): Likewise.
24540 (vbe_test_mod_CFLAGS): Likewise.
24541 (vbeinfo_mod_SOURCES): New variable.
24542 (vbeinfo_mod_CFLAGS): Likewise.
24543 (vbetest_mod_SOURCES): Likewise.
24544 (vbetest_mod_CFLAGS): Likewise.
24545
24546 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
24547
24548 * normal/misc.c: New file.
24549
24550 * DISTLIST: Added normal/misc.c.
24551
24552 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
24553 DISK to HOOK. Call HOOK with DISK.
24554 * partmap/apple.c (apple_partition_map_iterate): Likewise.
24555 * partmap/pc.c (pc_partition_map_iterate): Likewise.
24556 * partmap/sun.c (sun_partition_map_iterate): Likewise.
24557
24558 * normal/menu_entry.c (struct screen): Added a new member
24559 "completion_shown".
24560 (completion_buffer): New global variable.
24561 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
24562 (store_completion): New function.
24563 (complete): Likewise.
24564 (clear_completions): Likewise.
24565 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
24566 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
24567 a tab, call complete.
24568
24569 * normal/completion.c (disk_dev): Removed.
24570 (print_simple_completion): Likewise.
24571 (print_partition_completion): Likewise.
24572 (print_func): New global variable.
24573 (add_completion): Do not take the arguments WHAT or PRINT any
24574 longer. Added a new argument TYPE. Instead of printing directly,
24575 call PRINT_FUNC if not NULL.
24576 All callers changed.
24577 (complete_device): Use a local variable DEV instead of
24578 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
24579 (grub_normal_do_completion): Take a new argument HOOK. Do not
24580 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
24581 empty string, return NULL instead.
24582 All callers changed.
24583
24584 * normal/cmdline.c (print_completion): New function.
24585
24586 * kern/partition.c (grub_partition_iterate): Add an argument DISK
24587 to HOOK.
24588 All callers changed.
24589
24590 * kern/disk.c (grub_print_partinfo): Removed.
24591
24592 * include/grub/partition.h (struct grub_partition_map): Add a new
24593 argument DISK into HOOK of ITERATE.
24594 (grub_partition_iterate): Add a new argument DISK to HOOK.
24595
24596 * include/grub/normal.h (enum grub_completion_type): New enum.
24597 (grub_completion_type_t): New type.
24598 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
24599 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
24600 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
24601 (GRUB_COMPLETION_TYPE_FILE): Likewise.
24602 (grub_normal_do_completion): Added a new argument HOOK.
24603 (grub_normal_print_device_info): New prototype.
24604
24605 * include/grub/disk.h (grub_print_partinfo): Removed.
24606
24607 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
24608 (normal_mod_SOURCES): Likewise.
24609 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24610 (normal_mod_SOURCES): Likewise.
24611
24612 * commands/ls.c (grub_ls_list_disks): Use
24613 grub_normal_print_device_info instead of grub_print_partinfo. Free
24614 PNAME.
24615 (grub_ls_list_files): Use grub_normal_print_device_info instead of
24616 duplicating the code.
24617
24618 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
24619
24620 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
24621 follow GCS more precisely.
24622 * commands/i386/pc/vbe_test.c: Likewise.
24623 * include/grub/i386/pc/vbe.h: Likewise.
24624 * term/i386/pc/vesafb.c: Likewise.
24625 * video/i386/pc/vbe.c: Likewise.
24626
24627 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
24628
24629 * DISTLIST: Added term/i386/pc/vesafb.c
24630 DISTLIST: Added video/i386/pc/vbe.c
24631 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
24632 DISTLIST: Added commands/i386/pc/vbe_test.c.
24633 * commands/i386/pc/vbe_list_modes.c: New file.
24634 * commands/i386/pc/vbe_test.c: Likewise.
24635 * term/i386/pc/vesafb.c: Likewise.
24636 * video/i386/pc/vbe.c: Likewise.
24637 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
24638 (grub_vbe_probe) Added prototype.
24639 (grub_vbe_set_video_mode) Likewise.
24640 (grub_vbe_get_video_mode) Likewise.
24641 (grub_vbe_get_video_mode_info) Likewise.
24642 (grub_vbe_set_pixel_rgb) Likewise.
24643 (grub_vbe_set_pixel_index) Likewise.
24644 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
24645 (pkgdata_MODULES): Added vesafb.mod.
24646 (pkgdata_MODULES): Added vbe_list_modes.mod.
24647 (pkgdata_MODULES): Added vbe_test.mod.
24648 (vbe_mod_SOURCES): Added.
24649 (vbe_mod_CFLAGS): Likewise.
24650 (vesafb_mod_SOURCES): Likewise.
24651 (vesafb_mod_CFLAGS): Likewise.
24652 (vbe_list_modes_mod_SOURCES): Likewise.
24653 (vbe_list_modes_mod_CFLAGS): Likewise.
24654 (vbe_test_mod_SOURCES): Likewise.
24655 (vbe_test_mod_CFLAGS): Likewise.
24656
24657 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
24658
24659 * normal/command.c (grub_command_execute): If INTERACTIVE is
24660 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
24661 CMDLINE. Disable the pager if INTERACTIVE is true.
24662 All callers are changed.
24663
24664 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
24665 before reading a config file.
24666 * normal/main.c (read_config_file): Even if a command is not
24667 found, register it if it is within an entry.
24668
24669 * util/grub-emu.c: Include sys/types.h and unistd.h.
24670 (options): Added --hold.
24671 (struct arguments): Added a new member "hold".
24672 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
24673 missing.
24674 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
24675 cleared by a debugger, if it is not zero.
24676
24677 * include/grub/normal.h (grub_command_execute): Add an argument
24678 INTERACTIVE.
24679
24680 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
24681
24682 * DISTLIST: Added include/grub/i386/pc/vbe.h.
24683
24684 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
24685
24686 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
24687 program with another one, because the old one didn't detect a bug
24688 in gcc-3.4. Always use regparm 2, because the new test is still
24689 not enough for gcc-4.0. Someone must investigate a simple test
24690 case which detects a bug in gcc-4.0.
24691
24692 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
24693
24694 * DISTLIST: Added normal/completion.c.
24695
24696 * normal/completion.c: New file.
24697
24698 * term/i386/pc/console.c (grub_console_getwh): New function.
24699 (grub_console_term): Assign grub_console_getwh to getwh.
24700
24701 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
24702 function is defined in normal/completion.c as
24703 grub_normal_do_completion.
24704 (grub_cmdline_get): Use grub_normal_do_completion instead of
24705 grub_tab_complete.
24706
24707 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
24708 returns non-zero, otherwise return 0.
24709 (grub_partition_iterate): First, probe the partition map. Then,
24710 call ITERATE only for this partition map.
24711
24712 * kern/misc.c (grub_strncmp): Rewritten.
24713
24714 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
24715 returns non-zero. Otherwise return 0.
24716
24717 * include/grub/partition.h (grub_partition_map_iterate): Return
24718 int instead of void.
24719
24720 * include/grub/normal.h (grub_normal_do_completion): New prototype.
24721
24722 * include/grub/misc.h (grub_strncmp): Change the type of N to
24723 grub_size_t.
24724
24725 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
24726 of void.
24727
24728 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
24729 unsigned explicitly before comparing it with I.
24730
24731 * kern/main.c (grub_env_write_root): Add the attribute unused into
24732 VAR.
24733
24734 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
24735 normal/completion.c.
24736 (normal_mod_SOURCES): Likewise.
24737 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24738 (normal_mod_SOURCES): Likewise.
24739
24740 * normal/command.c (grub_iterate_commands): If ITERATE returns
24741 non-zero, return one immediately.
24742
24743 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
24744
24745 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
24746 * kern/i386/pc/startup.S: Updated Global Descriptor table's
24747 descriptions.
24748 (grub_vbe_get_controller_info): New function.
24749 (grub_vbe_get_mode_info): Likewise.
24750 (grub_vbe_set_mode): Likewise.
24751 (grub_vbe_get_mode): Likewise.
24752 (grub_vbe_set_memory_window): Likewise.
24753 (grub_vbe_get_memory_window): Likewise.
24754 (grub_vbe_set_scanline_length): Likewise.
24755 (grub_vbe_get_scanline_length): Likewise.
24756 (grub_vbe_set_display_start): Likewise.
24757 (grub_vbe_get_display_start): Likewise.
24758 (grub_vbe_set_palette_data): Likewise.
24759 * include/grub/i386/pc/vbe.h: New file.
24760
24761 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
24762
24763 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
24764 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
24765 * DISTLIST: Likewise.
24766 * kern/ieee1275/of.c: Moved to ...
24767 * kern/ieee1275/ieee1275.c: ... here.
24768
24769 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
24770
24771 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
24772 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
24773 Pass 0 as `end' parameter to grub_strtoul().
24774
24775 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
24776
24777 * include/grub/powerpc/ieee1275/console.h: Do not include
24778 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
24779 ifdef.
24780 (grub_console_cur_color): Remove i386-specific prototype.
24781 (grub_console_real_putchar): Likewise.
24782 (grub_console_checkkey): Likewise.
24783 (grub_console_getkey): Likewise.
24784 (grub_console_getxy): Likewise.
24785 (grub_console_gotoxy): Likewise.
24786 (grub_console_cls): Likewise.
24787 (grub_console_setcursor): Likewise.
24788 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
24789 Include <grub/machine/console.h>.
24790 * term/ieee1275/ofconsole.c: Likewise.
24791
24792 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
24793
24794 * Makefile.in (LIBLZO): New variable.
24795
24796 * configure.ac: Check for LZO version 2.
24797
24798 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
24799 lzo/lzo1x.h instead of lzo1x.h.
24800
24801 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
24802 of -llzo.
24803
24804 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
24805 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
24806
24807 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
24808 copying the data from PARTITION to P.
24809
24810 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
24811
24812 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
24813 negative, unload the module.
24814
24815 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
24816 map is "pc_partition_map" but not "pc".
24817 (usage): Fix the description. The options are --boot-image and
24818 --core-image but not --boot-file or --core-file.
24819 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
24820 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
24821 DEFAULT_DIRECTORY.
24822
24823 * util/i386/pc/grub-install.in: Do not specify --boot-file or
24824 --core-file. Specify INSTALL_DEVICE as an argument.
24825
24826 * util/console.c: Include config.h.
24827 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
24828 [HAVE_NCURSES_H]: Include ncurses.h.
24829 [HAVE_CURSES_H]: Include curses.h.
24830 [!A_NORMAL] (A_NORMAL): Defined as zero.
24831 [!A_STANDOUT] (A_STANDOUT): Likewise.
24832
24833 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
24834 -lncurses.
24835 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
24836
24837 * configure.ac: Check for curses libraries and headers.
24838
24839 * Makefile.in (LIBCURSES): New variable.
24840
24841 * genmk.rb (Script::rule): Set the executable bits.
24842
24843 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
24844 name of the PC partition map is "pc_partition_map" but not "pc".
24845
24846 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
24847
24848 * util/i386/pc/grub-install.in (grub_probefs): New variable.
24849 (modules): Likewise.
24850 (usage): Added descriptions for --modules and --grub-probefs.
24851 Handle --modules and --grub-probefs. Save the arguments in MODULES
24852 and GRUB_PROBEFS, respectively.
24853 Auto-detect a filesystem module against GRUBDIR. If the result is
24854 empty and modules are not specified explicitly, abort the
24855 installation. Add the result to MODULES.
24856
24857 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
24858 disk/powerpc/ieee1275/ofdisk.c,
24859 include/grub/powerpc/ieee1275/init.h and
24860 term/powerpc/ieee1275/ofconsole.c.
24861 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
24862 term/ieee1275/ofconsole.c.
24863
24864 * include/grub/powerpc/ieee1275/console.h: Resurrected.
24865
24866 * COPYING: Upgraded to the latest version. Only the address of the
24867 FSF office has changed.
24868
24869 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
24870
24871 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
24872 kern/ieee1275.c with kern/ieee1275/of.c.
24873
24874 * kern/ieee1275.c: Moved to ...
24875 * kern/ieee1275/of.c: ... here.
24876
24877 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
24878
24879 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
24880 readability.
24881
24882 * config.guess: Updated to the latest version from gnulib.
24883 * config.sub: Likewise.
24884 * install.sh: Likewise.
24885 * mkinstalldirs: Likewise.
24886
24887 * include/grub/console.h: Removed. This file is arch-specific. Do
24888 not put this in include/grub.
24889
24890 * include/grub/i386/pc/console.h: Resurrected.
24891
24892 * util/console.c: Include grub/machine/console.h instead of
24893 grub/console.h.
24894 * util/grub-emu.c: Likewise.
24895
24896 2005-08-04 Marco Gerards <metgerards@student.han.nl>
24897
24898 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
24899 hardcoded value.
24900
24901 From Vincent Pelletier <subdino2004@yahoo.fr>
24902 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
24903 Redefined to use grub_getwh.
24904 (grub_term): New member named getwh.
24905 (grub_getwh): New prototype.
24906 * kern/term.c (grub_getwh): New function.
24907 * term/i386/pc/console.c (grub_console_getwh): New function.
24908 (grub_console_term): New member `getwh'.
24909 * term/i386/pc/vga.c (grub_vga_getwh): New function.
24910 (grub_vga_term): New member `getwh'.
24911 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
24912 grub_ssize_t.
24913 (grub_ofconsole_getw): New function.
24914 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
24915 (grub_ofconsole_term): New field named getwh and new initial
24916 value.
24917
24918 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
24919
24920 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
24921 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
24922 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
24923 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
24924 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
24925 of <grub/machine/ieee1275.h>.
24926 * commands/ieee1275/reboot.c: Likewise.
24927 * boot/powerpc/ieee1275/ieee1275.c: Move ...
24928 * kern/ieee1275.c: ... to here. All users updated. Change all
24929 parameter structs to use new type `grub_ieee1275_cell_t'.
24930 * term/powerpc/ieee1275/ofconsole.c: Move ...
24931 * term/ieee1275/ofconsole.c: ... to here. All users updated.
24932 * disk/powerpc/ieee1275/ofdisk.c: Move ...
24933 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
24934 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
24935 to return int.
24936 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
24937 Remove unused prototypes. All users updated.
24938 * include/grub/powerpc/ieee1275/console.h: Removed.
24939 * include/grub/powerpc/ieee1275/ieee1275.h: Define
24940 `grub_ieee1275_cell_t'.
24941 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
24942 Cast comparisons with -1 to the correct type.
24943 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
24944 type to match `grub_ieee1275_entry_fn'.
24945
24946 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
24947
24948 * DISTLIST: Added util/i386/pc/grub-probefs.c.
24949
24950 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
24951 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
24952 partmap/sun.c.
24953 (grub_probefs_SOURCES): New variable.
24954
24955 * util/i386/pc/grub-probefs.c: New file.
24956
24957 * util/i386/pc/grub-setup.c (main): Call
24958 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
24959 grub_hfs_init and grub_jfs_init to initialize the system. Call
24960 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
24961 grub_pc_partition_map_fini to finish the system.
24962
24963 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
24964
24965 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
24966 function.
24967 (grub_multiboot_load_elf32): Likewise.
24968 (grub_multiboot_is_elf64): Likewise.
24969 (grub_multiboot_load_elf64): Likewise.
24970 (grub_multiboot_load_elf): Likewise.
24971 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
24972 an ELF32 or ELF64 file.
24973 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
24974
24975 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
24976 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
24977 NULL before calling FS->LABEL.
24978 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
24979 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
24980 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
24981 before calling FS->LABEL.
24982
24983 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
24984
24985 * util/i386/pc/grub-install.in (datadir): New variable.
24986 (libdir): Removed.
24987 (pkgdatadir): New variable.
24988 (pkglibdir): Removed.
24989
24990 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
24991
24992 * DISTLIST: Added util/i386/pc/grub-install.in.
24993
24994 * util/i386/pc/grub-install.in: New file.
24995
24996 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
24997 (grub_install_SOURCES): Likewise.
24998
24999 * genmk.rb: Added support for scripts.
25000 (Script): New class.
25001 (scripts): New variable.
25002
25003 * Makefile.in (install-local): Install sbin_SCRIPTS by
25004 INSTALL_SCRIPT.
25005 (uninstall): Remove sbin_SCRIPTS.
25006
25007 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
25008 device, try to get a GRUB device by
25009 grub_util_biosdisk_get_grub_dev.
25010 Free DEST_DEV.
25011
25012 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
25013 description for --device-map.
25014
25015 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
25016
25017 Change the semantics of variable hooks. They now return strings
25018 instead of error values.
25019
25020 * util/i386/pc/grub-setup.c: Include grub/env.h.
25021 (setup): Use grub_device_set_root instead of grub_env_set.
25022
25023 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
25024 grub_env_get instead of grub_device_set_root and
25025 grub_device_get_root, respectively.
25026
25027 * kern/main.c (grub_env_write_root): New function.
25028 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
25029 grub_env_set instead of grub_device_set_root.
25030
25031 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
25032 many variables.
25033 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
25034 rather than calling ENV->WRITE_HOOK afterwards.
25035 (grub_env_get): Return the result of ENV->READ_HOOK rather than
25036 passing a pointer of a pointer.
25037 (grub_register_variable_hook): Change the types of "read_hook" and
25038 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
25039 respectively.
25040 Allocate the default empty string on the heap, because this string
25041 may be freed later.
25042
25043 * kern/device.c: Include grub/env.h.
25044 (grub_device_set_root): Removed.
25045 (grub_device_get_root): Likewise.
25046 (grub_device_open): Use grub_env_get instead of
25047 grub_device_get_root.
25048
25049 * include/grub/env.h (grub_env_read_hook_t): New type.
25050 (grub_env_write_hook_t): Likewise.
25051 (grub_env_var): Change the types of "read_hook" and "write_hook"
25052 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
25053 (grub_register_variable_hook): Likewise.
25054
25055 * include/grub/device.h (grub_device_set_root): Removed.
25056 (grub_device_set_root): Likewise.
25057
25058 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
25059 make sure that DIRNAME terminates with '/', so that
25060 grub_fat_find_dir will fail if PATH is not a directory.
25061
25062 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
25063 from DIRNAME.
25064 Use the qualifier auto for print_files and print_files_long.
25065 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
25066 as a regular file.
25067 Put a newline only if there is no error.
25068 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
25069 used.
25070
25071 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
25072
25073 * kern/partition.c (grub_partition_probe): Initialize PART to
25074 NULL. Otherwise, when no partition map is registered, this returns
25075 a garbage.
25076
25077 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
25078
25079 * partmap/apple.c (apple_partition_map_iterate): Check if POS
25080 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
25081 valid.
25082
25083 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
25084
25085 * commands/ls.c (grub_ls_list_disks): Print the filesystem
25086 information on each device, if it does not have partitions. Print
25087 "Device" instead of "Disk", because this function is not specific
25088 to disk devices.
25089
25090 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
25091 static to ensure that it is put on the memory rather than a
25092 register.
25093
25094 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
25095
25096 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
25097 (grub_cat_init): Likewise.
25098 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
25099 (options): Likewise.
25100 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
25101 (grub_configfile_init): Likewise.
25102 * font/manager.c (GRUB_MOD_INIT): Likewise.
25103 * commands/help.c (GRUB_MOD_INIT): Likewise.
25104 (grub_help_init): Likewise.
25105 * normal/command.c (grub_command_init): Likewise.
25106 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
25107 * disk/loopback.c (grub_loop_init): Likewise.
25108 (GRUB_MOD_INIT): Likewise.
25109 * commands/ls.c (grub_ls_init): Likewise.
25110 (GRUB_MOD_INIT): Likewise.
25111 (options): Likewise.
25112 * commands/boot.c (grub_boot_init): Likewise.
25113 (GRUB_MOD_INIT): Likewise.
25114 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
25115 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
25116 (GRUB_MOD_INIT): Likewise.
25117 * commands/cmp.c (grub_cmp_init): Likewise.
25118 (GRUB_MOD_INIT): Likewise.
25119
25120 * normal/arg.c: Use <> instead of "" to include header files.
25121 (SHORT_ARG_HELP): New macro.
25122 (SHORT_ARG_USAGE): Likewise.
25123 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
25124 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
25125 descriptions.
25126 (find_short): Check if C is 'h' or 'u' explicitly.
25127 (grub_arg_show_help): Use space characters instead of tabs. Treat
25128 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
25129 are shown with --help and --usage only if they are not used for
25130 the command itself.
25131 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
25132 'h' and 'u'.
25133
25134 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
25135 const into "longarg". Change the type of "shortarg" to int.
25136
25137 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
25138
25139 * boot/i386/pc/boot.S (boot_drive_check): New label.
25140
25141 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
25142 macro.
25143
25144 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
25145 which do not pass a boot drive correctly. Copied from GRUB Legacy.
25146
25147 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
25148
25149 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
25150 When turning off Gate A20, skip the check and return immediately,
25151 because this is not fatal usually.
25152
25153 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
25154
25155 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
25156 be 0x7C00 instead of 0x8000.
25157
25158 * boot/i386/pc/pxeboot.S: Rewritten.
25159
25160 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
25161 EXT_C.
25162 (gate_a20_check_state): Read a byte from 0x108000. Invert the
25163 result.
25164
25165 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
25166
25167 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
25168 robustness. This routine now supports a BIOS call and System
25169 Control Port A to modify the gate A20.
25170
25171 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25172 Increased to 0x440.
25173
25174 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
25175
25176 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
25177 device path and resulting ihandle.
25178 (grub_ofdisk_close): dprintf the ihandle being closed.
25179 (grub_ofdisk_read): dprintf function parameters.
25180 * kern/mm.c (grub_mm_init_region): Likewise.
25181 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
25182 (grub_linux_boot): dprintf the Linux entry point, initrd address and
25183 size, and boot arguments.
25184 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
25185 before loading into memory.
25186 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
25187 before loading into memory.
25188
25189 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
25190
25191 * kern/mm.c: Added much documentation.
25192 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
25193 8, set to 5 instead of 8.
25194
25195 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
25196
25197 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
25198
25199 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
25200 (grub_mkdevicemap_SOURCES): New variable.
25201
25202 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
25203 lib/device.c of GRUB Legacy.
25204
25205 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
25206
25207 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
25208 instead of PATH is NULL.
25209
25210 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
25211
25212 * commands/cmp.c (BUFFER_SIZE): New macro.
25213 (grub_cmd_cmp): Close the right file at the right time. Compare
25214 only data just read. Don't report files of different size as
25215 identical. Dynamically allocate buffers. Move variable
25216 declarations at the beginning of function.
25217
25218 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
25219
25220 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
25221 reverse.
25222
25223 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
25224
25225 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
25226 when backspace is pressed at beginning of line.
25227
25228 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
25229
25230 * DISTLIST: Added genfslist.sh.
25231
25232 * normal/main.c (fs_module_list): New variable.
25233 (autoload_fs_module): New function.
25234 (read_fs_list): Likewise.
25235 (grub_normal_execute): Call read_fs_list.
25236
25237 * kern/fs.c (grub_fs_autoload_hook): New variable.
25238 (grub_fs_probe): Added support for auto-loading.
25239
25240 * include/grub/normal.h (struct grub_fs_module_list): New struct.
25241 (grub_fs_module_list_t): New type.
25242
25243 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
25244 (grub_fs_autoload_hook): New prototype.
25245
25246 * genfslist.sh: New file.
25247
25248 * genmk.rb: Added a rule to generate a filesystem list.
25249
25250 2005-06-30 Marco Gerards <metgerards@student.han.nl>
25251
25252 * configure.ac: Fix the test for cross-compiling.
25253
25254 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
25255 define GRUB_UTIL anymore.
25256
25257 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
25258 so this function works on other systems than just big endian.
25259 (load_modules): Likewise.
25260 (add_segments): Likewise.
25261
25262 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
25263
25264 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
25265 contains `l' modifier, get a long from va_arg().
25266
25267 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
25268
25269 * kern/mm.c (grub_free): If the next free block which is being
25270 merged is the first free block, set the first block to the block
25271 being freed.
25272 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
25273
25274 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
25275
25276 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
25277 `grub_ieee1275_chosen'.
25278
25279 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
25280
25281 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
25282 (grub_ieee1275_chosen): New variable.
25283 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
25284 `chosen'.
25285 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
25286 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
25287 Rename first argument to `phandle' for consistency.
25288 (grub_ieee1275_get_property_length): Likewise.
25289 (grub_ieee1275_next_property): Likewise. Change type of first argument
25290 to grub_ieee1275_phandle_t.
25291 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
25292 Move export next to declaration.
25293 (grub_ieee1275_chosen): New variable.
25294 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
25295 Correct cosmetic typo.
25296 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
25297 `grub_ieee1275_chosen'.
25298 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
25299 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
25300 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
25301 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
25302 `grub_ieee1275_chosen'.
25303
25304 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
25305
25306 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
25307 /chosen/bootargs.
25308 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
25309 /chosen/bootargs as "variable=value" pairs.
25310
25311 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
25312
25313 * include/grub/misc.h (grub_dprintf): New macro.
25314 (grub_real_dprintf): New prototype.
25315 (grub_strword): Likewise.
25316 (grub_iswordseparator): Likewise.
25317 * kern/misc.c (grub_real_dprintf): New function.
25318 (grub_strword): Likewise.
25319 (grub_iswordseparator): Likewise.
25320
25321 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
25322
25323 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
25324 (roundup): Remove macro.
25325 (grub_ieee1275_flags): Make static.
25326 (grub_ieee1275_realmode): Remove.
25327 (grub_ieee1275_test_flag): New function.
25328 (grub_ieee1275_set_flag): Likewise.
25329 (find_options): Rename to `grub_ieee1275_find_options'; update
25330 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
25331 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
25332 (cmain): New prototype.
25333 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
25334 `grub_ieee1275_flags' directly.
25335 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
25336 machine/biosdisk.h.
25337 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
25338 Don't include grub/machine/init.h.
25339 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
25340 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
25341 Remove prototype.
25342 (grub_ieee1275_realmode): Likewise.
25343 (grub_ieee1275_flag): New enum.
25344 (grub_ieee1275_test_flag): New prototype.
25345 (grub_ieee1275_set_flag): New prototype.
25346 * include/grub/powerpc/ieee1275/init.h: Remove file.
25347 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
25348 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
25349 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
25350 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
25351 comment.
25352 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
25353 `grub_ieee1275_test_flag'.
25354 (grub_ieee1275_encode_devname): Likewise.
25355
25356 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
25357
25358 * include/grub/powerpc/ieee1275/ieee1275.h
25359 (grub_ieee1275_encode_devname): New prototype.
25360 (grub_ieee1275_get_filename): Likewise.
25361 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
25362 function.
25363 (grub_set_prefix): Likewise.
25364 (grub_machine_init): Call grub_set_prefix.
25365 * kern/powerpc/ieee1275/openfw.c: Fix typos.
25366 (grub_parse_type): New enum.
25367 (grub_ieee1275_get_devargs): New function.
25368 (grub_ieee1275_get_devname): Likewise.
25369 (grub_ieee1275_parse_args): Likewise.
25370 (grub_ieee1275_get_filename): Likewise.
25371 (grub_ieee1275_encode_devname): Likewise.
25372
25373 2005-03-30 Marco Gerards <metgerards@student.han.nl>
25374
25375 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
25376 `grub_loader_unset'.
25377
25378 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
25379
25380 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
25381 instead of grub_ieee1275_interpret.
25382 (grub_halt_init): New function.
25383 (grub_halt_fini): Likewise.
25384 (GRUB_MOD_INIT): Correct message grammar.
25385 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
25386 instead of grub_ieee1275_interpret.
25387 (grub_reboot_init): New function.
25388 (grub_reboot_fini): Likewise.
25389 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
25390 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
25391 util/i386/pc/misc.c with commands/ieee1275/halt.c,
25392 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
25393 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
25394 function.
25395 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
25396 Add prototype.
25397 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
25398 prototype.
25399 (grub_halt): Likewise.
25400 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
25401 (cmain): Remove __attribute__((unused)).
25402 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
25403 (grub_heap_len): Likewise.
25404 (grub_machine_fini): New function.
25405 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
25406 (grub_halt): Likewise.
25407 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
25408 function.
25409 * util/powerpc/ieee1275/misc.c: New file.
25410
25411 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
25412
25413 * DISTLIST: New file.
25414 * gendistlist.sh: Likewise.
25415
25416 * Makefile.in (COMMON_DISTFILES): Removed.
25417 (BOOT_DISTFILES): Likewise.
25418 (CONF_DISTFILES): Likewise.
25419 (DISK_DISTFILES): Likewise.
25420 (FS_DISTFILES): Likewise.
25421 (INCLUDE_DISTFILES): Likewise.
25422 (KERN_DISTFILES): Likewise.
25423 (LOADER_DISTFILES): Likewise.
25424 (TERM_DISTFILES): Likewise.
25425 (UTIL_DISTFILES): Likewise.
25426 (DISTFILES): Likewise.
25427 (uninstall): Uninstall files in $(pkgdata_DATA).
25428 (DISTLIST): New target.
25429 (distdir): Use the contents of the file DISTLIST to get a list of
25430 distributed files.
25431
25432 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
25433
25434 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
25435 descriptor. This is ported from GRUB Legacy.
25436
25437 * gencmdlist.sh: Added an extra semicolon to make it work with
25438 old sed versions. Reported by Robert Bihlmeyer
25439 <robbe@orcus.priv.at>.
25440
25441 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
25442
25443 Automatic loading of commands is supported.
25444
25445 * normal/main.c (read_command_list): New function.
25446 (grub_normal_execute): Call read_command_list.
25447
25448 * normal/command.c (grub_register_command): Return zero or CMD.
25449 Allocate CMD->NAME from the heap.
25450 Initialize CMD->MODULE_NAME to zero.
25451 Find the same name as well. If the same command is found and it is
25452 a dummy command, overwrite members. If it is not a dummy command,
25453 return zero.
25454 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
25455 (grub_command_find): If a dummy command is found, load a module
25456 and retry to find a command only once.
25457
25458 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
25459 make sure that each command is loaded.
25460
25461 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
25462 macro.
25463 (struct grub_command): Remove const from the member `name'.
25464 Add a new member `module_name'.
25465 (grub_register_command): Return grub_command_t.
25466
25467 * commands/help.c (grub_cmd_help): Call grub_command_find to make
25468 sure that each command is loaded.
25469
25470 * genmk.rb (PModule::rule): Specify a module name without the
25471 suffix ".mod" to gencmdlist.sh.
25472
25473 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
25474
25475 * gencmdlist.sh: New file.
25476
25477 * genmk.rb (PModule::rule): Generate a rule for a command list.
25478 Clean command.lst.
25479 Generate command.lst from $(COMMANDFILES).
25480
25481 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
25482 (DATA): Added $(pkgdata_DATA).
25483 (install-local): Install files in $(pkgdata_DATA).
25484
25485 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
25486
25487 * term/i386/pc/vga.c (debug_command): Removed.
25488 (GRUB_MOD_INIT): Do not register the command "debug".
25489
25490 From Hollis Blanchard:
25491 * commands/configfile.c: New file.
25492 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25493 commands/configfile.c.
25494 (pkgdata_MODULES): Added configfile.mod.
25495 (configfile_mod_SOURCES): New variable.
25496 (configfile_mod_CFLAGS): Likewise.
25497 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25498 commands/configfile.c.
25499 (pkgdata_MODULES): Added configfile.mod.
25500 (configfile_mod_SOURCES): New variable.
25501 (configfile_mod_CFLAGS): Likewise.
25502 * util/grub-emu.c (main): Call grub_configfile_init and
25503 grub_configfile_fini.
25504 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
25505 prototype.
25506 [GRUB_UTIL] (grub_configfile_fini): Likewise.
25507
25508 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
25509
25510 * normal/arg.c (grub_arg_show_help): Do not show the bug report
25511 address.
25512
25513 * commands/help.c (grub_cmd_help): Do not print newlines after
25514 the last command in print_command_help.
25515
25516 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
25517
25518 * commands/default.h: New file.
25519 * commands/timeout.h: Likewise.
25520 * normal/context.c: Likewise.
25521
25522 * util/misc.c: Do not include sys/times.h.
25523 Include sys/time.h and grub/machine/time.h.
25524 (grub_get_rtc): Rewritten with gettimeofday.
25525
25526 * util/grub-emu.c (main): Call grub_default_init and
25527 grub_timeout_init before grub_normal_init, and call
25528 grub_timeout_fini and grub_default_fini after grub_main.
25529
25530 * util/console.c (grub_ncurses_checkkey): Return the read
25531 character or -1.
25532
25533 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
25534 timeouts.
25535
25536 * normal/main.c (read_config_file): Push MENU. If this fails,
25537 print an error and wait for a user input.
25538 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
25539 If a menu is empty or an error occurs, pop MENU.
25540 (grub_normal_execute): Pop and free MENU after grub_menu_run
25541 returns.
25542
25543 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
25544
25545 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
25546 include time.h.
25547 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
25548 without GRUB_UTIL.
25549 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
25550 time.h.
25551 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
25552 without GRUB_UTIL.
25553
25554 * include/grub/normal.h (struct grub_menu_list): New struct.
25555 (grub_menu_list_t): New type.
25556 (struct grub_context): New struct.
25557 (grub_context_t): New type.
25558 (grub_register_command): Got rid of EXPORT_FUNC.
25559 (grub_unregister_command): Likewise.
25560 (grub_context_get): New prototype.
25561 (grub_context_get_current_menu): Likewise.
25562 (grub_context_push_menu): Likewise.
25563 (grub_context_pop_menu): Likewise.
25564 [GRUB_UTIL] (grub_default_init): Likewise.
25565 [GRUB_UTIL] (grub_default_fini): Likewise.
25566 [GRUB_UTIL] (grub_timeout_init): Likewise.
25567 [GRUB_UTIL] (grub_timeout_fini): Likewise.
25568
25569 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
25570 commands/timeout.c and normal/context.c.
25571 (pkgdata_MODULES): Added default.mod and timeout.mod.
25572 (normal_mod_SOURCES): Added normal/context.c.
25573 (default_mod_SOURCES): New variable.
25574 (default_mod_CFLAGS): Likewise.
25575 (timeout_mod_SOURCES): Likewise.
25576 (timeout_mod_CFLAGS): Likewise.
25577 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
25578 conf/i386-pc.rmk.
25579 (pkgdata_MODULES): Added default.mod and timeout.mod.
25580 (normal_mod_SOURCES): Added normal/context.c.
25581 (default_mod_SOURCES): New variable.
25582 (default_mod_CFLAGS): Likewise.
25583 (timeout_mod_SOURCES): Likewise.
25584 (timeout_mod_CFLAGS): Likewise.
25585
25586 * Makefile.in (all-local): Added $(MKFILES).
25587
25588 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
25589
25590 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
25591 (grub_emu_SOURCES): Likewise.
25592 (pkgdata_MODULES): Add `sun.mod'.
25593 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
25594 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25595 `partmap/sun.c'.
25596 (pkgdata_MODULES): Add `sun.mod'.
25597 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
25598 * include/grub/partition.h (grub_sun_partition_map_init): New
25599 prototype.
25600 (grub_sun_partition_map_fini): Likewise.
25601 * partmap/sun.c: New file.
25602 * util/grub-emu.c (main): Initialize and de-initialize the sun
25603 partitionmap support.
25604
25605 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
25606
25607 This implements an Emacs-like menu entry editor.
25608
25609 * normal/menu_entry.c: New file.
25610
25611 * util/console.c (grub_ncurses_putchar): Translate some Unicode
25612 characters to ASCII.
25613 (saved_char): New variable.
25614 (grub_ncurses_checkkey): Rewritten completely.
25615 (grub_ncurses_getkey): Likewise.
25616 (grub_ncurses_init): Call raw instead of cbreak.
25617
25618 * normal/menu.c (print_entry): Do not put a space.
25619 (init_page): Renamed to ...
25620 (grub_menu_init_page): ... this. All callers changed.
25621 (edit_menu_entry): Removed.
25622 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
25623
25624 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
25625
25626 * kern/misc.c (grub_vprintf): Call grub_refresh.
25627
25628 * normal/menu.c (DISP_LEFT): Renamed to ...
25629 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
25630 * normal/menu.c (DISP_UP): Renamed to ...
25631 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
25632 * normal/menu.c (DISP_RIGHT): Renamed to ...
25633 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
25634 * normal/menu.c (DISP_DOWN): Renamed to ...
25635 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
25636 * normal/menu.c (DISP_HLINE): Renamed to ...
25637 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
25638 * normal/menu.c (DISP_VLINE): Renamed to ...
25639 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
25640 * normal/menu.c (DISP_UL): Renamed to ...
25641 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
25642 * normal/menu.c (DISP_UR): Renamed to ...
25643 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
25644 * normal/menu.c (DISP_LL): Renamed to ...
25645 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
25646 * normal/menu.c (DISP_LR): Renamed to ...
25647 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
25648 * normal/menu.c (TERM_WIDTH): Renamed to ...
25649 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
25650 * normal/menu.c (TERM_HEIGHT): Renamed to ...
25651 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
25652 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
25653 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
25654 * normal/menu.c (TERM_MARGIN): Renamed to ...
25655 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
25656 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
25657 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
25658 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
25659 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
25660 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
25661 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
25662 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
25663 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
25664 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
25665 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
25666 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
25667 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
25668 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
25669 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
25670 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
25671 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
25672 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
25673 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
25674 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
25675 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
25676 All callers changed.
25677
25678 * include/grub/normal.h: New prototype.
25679
25680 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25681 normal/menu_entry.c.
25682 (normal_mod_SOURCES): Likewise.
25683 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25684 (normal_mod_SOURCES): Likewise.
25685
25686 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
25687
25688 * include/grub/normal.h (grub_halt_init): New prototype.
25689 (grub_halt_fini): Likewise.
25690 (grub_reboot_init): Likewise.
25691 (grub_reboot_fini): Likewise.
25692
25693 * util/grub-emu.c: Include signal.h.
25694 (main_env): New global variable.
25695 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
25696 catch C-c.
25697 (grub_machine_fini): New function.
25698 (main): Call grub_halt_init and grub_reboot_init before
25699 grub_main, and grub_reboot_fini and grub_halt_fini after it.
25700 Call setjmp with MAIN_ENV to go back afterwards.
25701 Call grub_machine_fini right before return.
25702
25703 * include/grub/util/misc.h: Include setjmp.h.
25704 (main_env): New prototype.
25705
25706 * include/grub/kernel.h (grub_machine_fini): New prototype.
25707 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
25708 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
25709
25710 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
25711 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
25712 * term/i386/pc/console.c (grub_console_fini): Likewise.
25713
25714 * util/i386/pc/misc.c: New file.
25715
25716 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25717 util/i386/pc/misc.c, commands/i386/pc/halt.c and
25718 commands/i386/pc/reboot.c.
25719
25720 2005-02-14 Guillem Jover <guillem@hadrons.org>
25721
25722 * include/grub/dl.h (grub_dl_check_header): New prototype.
25723 (grub_arch_dl_check_header): Change return type to grub_err_t,
25724 remove size parameter and export function. Update all callers.
25725 * kern/dl.c (grub_dl_check_header): New function.
25726 (grub_dl_load_core): Use `grub_dl_check_header' instead of
25727 `grub_arch_dl_check_header'. Check ELF type. Check if sections
25728 are inside the core.
25729 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
25730 independent ELF header checks.
25731 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
25732 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
25733 `grub_dl_check_header' instead of explicit checks. Check for the
25734 ELF type.
25735 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
25736 `grub_dl_check_header' instead of explicit checks. Remove arch
25737 specific ELF header checks.
25738
25739 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
25740 argument SIZE.
25741
25742 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
25743
25744 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
25745 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
25746
25747 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
25748
25749 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
25750 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
25751 (part_map_iterate): Clear `grub_errno' and return 0 if
25752 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
25753 * partmap/amiga.c (amiga_partition_map_iterate): Return
25754 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
25755 * partmap/apple.c (apple_partition_map_iterate): Likewise.
25756
25757 2005-02-01 Guillem Jover <guillem@hadrons.org>
25758
25759 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
25760 help info.
25761
25762 2005-01-31 Marco Gerards <metgerards@student.han.nl>
25763
25764 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
25765 Removed prototype.
25766 (grub_rescue_cmd_linux): New prototype.
25767 (grub_rescue_cmd_initrd): Likewise.
25768 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
25769 `bi_rec'.
25770 (grub_linux_release_mem): Release the memory for the initrd.
25771 (grub_load_linux): Renamed from this...
25772 (grub_rescue_cmd_linux): ...To this. Changed all callers.
25773 Changed `entry' not to be static. Loop over memory regions to
25774 find another one when the default fails.
25775 (grub_rescue_cmd_initrd): New function.
25776 (grub_linux_init): Remove function.
25777 (grub_linux_fini): Likewise.
25778 (GRUB_MOD_INIT): Register `initrd'.
25779 (GRUB_MOD_FINI): Unregister `initrd'.
25780 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
25781 Function removed.
25782 (grub_linux_normal_fini): Likewise.
25783 (GRUB_MOD_INIT): Register `initrd'.
25784 (GRUB_MOD_FINI): Unregister `initrd'.
25785
25786 2005-01-31 Marco Gerards <metgerards@student.han.nl>
25787
25788 * commands/help.c: New file.
25789 * normal/arg.c (show_help): Renamed to...
25790 (grub_arg_show_help): ... this.
25791 * commands/i386/pc/halt.c: New file.
25792 * commands/i386/pc/reboot.c: Likewise.
25793 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
25794 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
25795 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
25796 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
25797 variables.
25798 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25799 `commands/help.c'.
25800 (pkgdata_MODULES): Add `help.mod'.
25801 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
25802 * grub/i386/pc/init.h (grub_reboot): New prototype.
25803 (grub_halt): Likewise.
25804 * include/grub/normal.h (grub_arg_show_help): New prototype.
25805 (grub_help_init): Likewise.
25806 (grub_help_fini): Likewise.
25807 * util/grub-emu.c (main): Initialize and deinitialize the help
25808 command.
25809
25810 * normal/cmdline.c (grub_cmdline_get): Doc fix.
25811
25812 * normal/command.c (grub_command_init): Fixed the description of
25813 the `set' and `unset' commands.
25814
25815 2005-01-31 Marco Gerards <metgerards@student.han.nl>
25816
25817 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
25818 function.
25819 * commands/ieee1275/halt.c: New file.
25820 * commands/ieee1275/reboot.c: Likewise.
25821 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
25822 `__attribute__ ((unused))'. Some GCS related fixed.
25823 (grub_suspend_init) [GRUB_UTIL]: Function removed.
25824 (grub_suspend_fini): Likewise.
25825 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
25826 and `halt.mod'.
25827 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
25828 (halt_mod_CFLAGS): New variables.
25829 * include/grub/powerpc/ieee1275/ieee1275.h
25830 (grub_ieee1275_interpret): New prototype.
25831
25832 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
25833
25834 * include/grub/misc.h (memmove): New prototype.
25835 (memcpy): Likewise.
25836
25837 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
25838
25839 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
25840 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
25841
25842 2005-01-22 Marco Gerards <metgerards@student.han.nl>
25843
25844 * kern/misc.c (grub_strndup): Function rewritten.
25845
25846 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
25847
25848 * normal/menu.c (TERM_WIDTH): Macro redefined.
25849 (TERM_TOP_BORDER_Y): Likewise.
25850 (draw_border): Replaced while-loop by a for-loop. Make the number
25851 of lines consistent with the number of lines displayed in
25852 print_entries. Added a margin below the rectangle.
25853 (print_entry): Make the entry fit in the rectangle.
25854 (print_entries): Display the scroll arrows next to the right
25855 border.
25856
25857 2005-01-21 Marco Gerards <metgerards@student.han.nl>
25858
25859 * fs/minix.c (grub_minix_find_file): Reserve more space for
25860 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
25861 `grub_strncpy' to copy `path' into it.
25862
25863 2005-01-21 Marco Gerards <metgerards@student.han.nl>
25864
25865 Add the loopback device, a device via which files can be accessed
25866 as devices.
25867
25868 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
25869 (pkgdata_MODULES): Add loopback.mod.
25870 (loopback_mod_SOURCES): New variable.
25871 (loopback_mod_CFLAGS): Likewise.
25872 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25873 `disk/loopback.c'.
25874 (pkgdata_MODULES): Add loopback.mod.
25875 (loopback_mod_SOURCES): New variable.
25876 (loopback_mod_CFLAGS): Likewise.
25877 * disk/loopback.c: new file.
25878 * include/grub/normal.h (grub_loop_init): New prototype.
25879 (grub_loop_fini): New prototype.
25880 * util/grub-emu.c (main): Initialize and de-initialize loopback
25881 support.
25882 * include/grub/disk.h (grub_disk_dev_id): Add
25883 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
25884
25885 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
25886
25887 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
25888 function.
25889 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
25890 (suspend_mod_SOURCES): New variable.
25891 (suspend_mod_CFLAGS): Likewise.
25892 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
25893 New prototype.
25894 * commands/ieee1275/suspend.c: New file.
25895
25896 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25897
25898 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
25899 ((unused))' to `__attribute__ ((used))'.
25900 (GRUB_MOD_FINI): Likewise.
25901 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
25902 * genmk.rb (PModule): Assign space to common symbols when linking
25903 modules.
25904
25905 2005-01-20 Marco Gerards <metgerards@student.han.nl>
25906
25907 * include/grub/mm.h (grub_mm_init_region): Change the type of the
25908 `unsigned' arguments to `grub_size_t'.
25909 (grub_malloc): Likewise.
25910 (grub_realloc): Likewise.
25911 (grub_memalign): Likewise.
25912 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
25913 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
25914 * util/misc.c (grub_malloc): Likewise.
25915 (grub_realloc): Likewise.
25916 * kern/mm.c (get_header_from_pointer): Change the casts to
25917 `unsigned' into a cast to `grub_size_t'.
25918
25919 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
25920 point to `currnode' when `currnode' is changed.
25921
25922 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
25923 Schottelius <nico-linux@schottelius.org>.
25924
25925 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
25926
25927 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
25928 (note_path): Remove variable.
25929 (GRUB_IEEE1275_NOTE_NAME): New macro.
25930 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
25931 (grub_ieee1275_note_hdr): New structure.
25932 (grub_ieee1275_note_desc): Likewise.
25933 (grub_ieee1275_note): Likewise.
25934 (load_note): Remove `dir' argument. All callers updated. Remove
25935 `note_img' and `path'. Do not load a file from `note_path'.
25936 Initialize a struct grub_ieee1275_note and write that to `out'.
25937 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
25938
25939 2005-01-05 Marco Gerards <metgerards@student.han.nl>
25940
25941 * util/misc.c (grub_util_read_image): Revert last change. It
25942 called `grub_util_read_at', which seeks from the beginning of the
25943 file.
25944
25945 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
25946
25947 * TODO: Add note about endianness in grub-mkimage.
25948 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
25949 section.
25950 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
25951 (grub_mkimage_SOURCES): New target.
25952 * include/grub/kernel.h (grub_start_addr): Remove variable.
25953 (grub_end_addr): Likewise.
25954 (grub_total_module_size): Likewise.
25955 (grub_kernel_image_size): Likewise.
25956 (GRUB_MODULE_MAGIC): New constant.
25957 (grub_module_info): New structure.
25958 (grub_arch_modules_addr): New prototype.
25959 (grub_get_end_addr): Remove prototype.
25960 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
25961 * include/grub/powerpc/ieee1275/kernel.h: New file.
25962 * include/grub/util/misc.h (grub_util_get_fp_size): New
25963 prototype.
25964 (grub_util_read_at): Likewise.
25965 (grub_util_write_image_at): Likewise.
25966 * kern/main.c (grub_get_end_addr): Remove function.
25967 (grub_load_modules): Call grub_arch_modules_addr instead of using
25968 grub_end_addr. Look for a grub_module_info struct in memory. Use
25969 the grub_module_info fields instead of calling grub_get_end_addr
25970 as loop conditions. Move grub_add_unused_region code here.
25971 (grub_add_unused_region): Remove function.
25972 * kern/i386/pc/init.c: Include grub/cache.h.
25973 (grub_machine_init): Remove call to grub_get_end_addr. Remove
25974 one call to add_mem_region.
25975 (grub_arch_modules_addr): New function.
25976 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
25977 (grub_total_module_size): Likewise.
25978 Include grub/machine/kernel.h.
25979 (grub_arch_modules_addr): New function.
25980 * util/grub-emu.c (grub_end_addr): Remove variable.
25981 (grub_total_module_size): Likewise.
25982 (grub_arch_modules_addr): New function.
25983 * util/misc.c: Include unistd.h.
25984 (grub_util_get_fp_size): New function.
25985 (grub_util_read_at): Likewise.
25986 (grub_util_write_image_at): Likewise.
25987 (grub_util_read_image): Call grub_util_read_at.
25988 (grub_util_write_image): Call grub_util_write_image_at.
25989 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
25990 additional memory in kernel_img for a struct grub_module_info.
25991 Fill in that grub_module_info.
25992 * util/powerpc/ieee1275/grub-mkimage.c: New file.
25993
25994 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
25995
25996 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
25997 New function.
25998 * include/grub/powerpc/ieee1275/ieee1275.h
25999 (grub_ieee1275_milliseconds): New prototype.
26000 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
26001 Change to 1000.
26002 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
26003 grub_ieee1275_milliseconds.
26004
26005 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
26006
26007 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
26008 variable.
26009 (find_options): New function.
26010 (cmain): Call find_options.
26011 * include/grub/powerpc/ieee1275/ieee1275.h
26012 (grub_ieee1275_realmode): New extern variable.
26013 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
26014 grub_map if grub_ieee1275_realmode is false.
26015
26016 2004-12-29 Marco Gerards <metgerards@student.han.nl>
26017
26018 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
26019 lines are inserted and make it work like readline. Reported by
26020 Vincent Pelletier <subdino2004@yahoo.fr>.
26021
26022 2004-12-28 Marco Gerards <metgerards@student.han.nl>
26023
26024 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
26025
26026 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
26027 `kern/powerpc/cache.S'.
26028
26029 2004-12-27 Marco Gerards <metgerards@student.han.nl>
26030
26031 * genmk.rb: Handle the `Program' class in the main loop. Written
26032 by Johan Rydberg <jrydberg@gnu.org>.
26033 (Program): New class.
26034 (programs): New variable.
26035 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
26036 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
26037 instead of "grub/kernel.h". Include <grub/machine/init.h>.
26038 (help_arch): Function removed.
26039 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
26040 `powerpc/libgcc.h' and `loader.h'.
26041 (pkgdata_PROGRAMS): New variable.
26042 (sbin_UTILITIES): Variable removed.
26043 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
26044 (grubof_SOURCES): Variable re-defined so it only includes the
26045 core functionality.
26046 (grubof_CFLAGS): Remove `-DGRUBOF'.
26047 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
26048 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
26049 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
26050 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
26051 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
26052 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
26053 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
26054 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
26055 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
26056 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
26057 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
26058 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
26059 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
26060 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
26061 (pc_mod_CFLAGS): New variables.
26062 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
26063 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
26064 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
26065 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
26066 Moved from here...
26067 * include/grub/i386/pc/init.h (grub_os_area_addr)
26068 (rub_os_area_size): ... to here.
26069 * include/grub/powerpc/ieee1275/ieee1275.h
26070 (grub_ieee1275_entry_fn): Export symbol.
26071 * include/grub/powerpc/ieee1275/init.h: New file.
26072 * include/grub/powerpc/libgcc.h: Likewise.
26073 * include/grub/cache.h: Likewise.
26074 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
26075 <hollis@penguinppc.org>.
26076 * kern/dl.c: Include <grub/cache.h>.
26077 (grub_dl_flush_cache): New function.
26078 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
26079 for this module.
26080 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
26081 (grub_console_init): Removed prototypes.
26082 (grub_machine_init): Don't initialize the modules anymore.
26083 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
26084 static.
26085 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
26086 Macro undef removed.
26087 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
26088 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
26089 relocation `R_PPC_REL32'. Return an error when the relocation is
26090 unknown.
26091 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
26092 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
26093 * util/misc.c (grub_arch_sync_caches): Likewise.
26094
26095 2004-12-19 Marco Gerards <metgerards@student.han.nl>
26096
26097 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
26098 `symlist.c', add `grubof_symlist.c'.
26099 (symlist.c): Variable removed.
26100 (grubof_HEADERS): Variable added.
26101 (grubof_symlist.c): New target.
26102 (kernel_syms.lst): Use `grubof_HEADERS' instead of
26103 `kernel_img_HEADERS'.
26104 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
26105 * kern/powerpc/dl.c: New file.
26106 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
26107 Function removed.
26108 (grub_arch_dl_relocate_symbols): Likewise.
26109 (grub_register_exported_symbols): Likewise.
26110
26111 2004-12-13 Marco Gerards <metgerards@student.han.nl>
26112
26113 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
26114 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
26115 to fail instead. Reported by Vincent Pelletier
26116 <subdino2004@yahoo.fr>.
26117
26118 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
26119 it is not allocated. Reported by Vincent Pelletier
26120 <subdino2004@yahoo.fr>.
26121
26122 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
26123 output so the output looks better.
26124
26125 2004-12-04 Marco Gerards <metgerards@student.han.nl>
26126
26127 Modulize the partition map support and add support for the amiga
26128 partition map.
26129
26130 * commands/ls.c: Include <grub/partition.h> instead of
26131 <grub/machine/partition.h>.
26132 * kern/disk.c: Likewise.
26133 * kern/rescue.c: Likewise.
26134 * loader/i386/pc/chainloader.c: Likewise.
26135 * normal/cmdline.c: Likewise.
26136 * kern/powerpc/ieee1275/init.c: Likewise.
26137 (grub_machine_init): Call `grub_pc_partition_map_init',
26138 `grub_amiga_partition_map_init' and
26139 `grub_apple_partition_map_init'.
26140 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
26141 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
26142 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
26143 `partition.h' and `pc_partition.h'.
26144 (grub_setup_SOURCES): Remove
26145 `disk/i386/pc/partition.c'. Add `kern/partition.c',
26146 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
26147 (grub_emu_SOURCES): Likewise.
26148 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
26149 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
26150 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
26151 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
26152 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
26153 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
26154 (grubof_SOURCES): Likewise.
26155 * disk/i386/pc/partition.c: File removed.
26156 * disk/powerpc/ieee1275/partition.c: Likewise.
26157 * include/grub/powerpc/ieee1275/partition.h: Likewise.
26158 * include/grub/i386/pc/partition.h: Likewise.
26159 * kern/partition.c: New file.
26160 * partmap/amiga.c: Likewise.
26161 * partmap/apple.c: Likewise.
26162 * partmap/pc.c: Likewise.
26163 * include/grub/partition.h: Likewise..
26164 * include/grub/pc_partition.h: Likewise.
26165 * util/grub-emu.c: Include <grub/partition.h> instead of
26166 <grub/machine/partition.h>.
26167 (main): Call `grub_pc_partition_map_init',
26168 `grub_amiga_partition_map_init' and
26169 `grub_apple_partition_map_init' and deinitialize afterwards.
26170 * util/i386/pc/biosdisk.c: Include `#include
26171 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
26172 `<grub/machine/partition.h>'.
26173 * util/i386/pc/grub-setup.c: Likewise.
26174 * util/i386/pc/biosdisk.c: Likewise.
26175 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
26176 partition information in case of a PC partition.
26177 * util/i386/pc/grub-setup.c: Include `#include
26178 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
26179 `<grub/machine/partition.h>'.
26180 (setup): Only access the PC specific partition information in case
26181 of a PC partition.
26182
26183 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
26184
26185 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
26186 (grub_longjmp): Likewise.
26187 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
26188 20.
26189 * normal/powerpc/setjmp.S: New file.
26190 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
26191 `normal/powerpc/setjmp.S'.
26192 (grubof_CFLAGS): Add `-DGRUBOF'.
26193 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
26194 [GRUB_UTIL && !GRUBOF].
26195
26196 2004-11-16 Marco Gerards <metgerards@student.han.nl>
26197
26198 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
26199 property named `name'. Correctly handle the error returned by
26200 `grub_ieee1275_finddevice' if a device can not be opened.
26201
26202 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
26203
26204 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
26205 `actual' for negativity.
26206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
26207 kern/fshelp.c.
26208
26209 2004-11-01 Marco Gerards <metgerards@student.han.nl>
26210
26211 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
26212 (PAGE_OFFSET): New macro.
26213 (CRTC_ADDR_PORT): Likewise.
26214 (CRTC_DATA_PORT): Likewise.
26215 (START_ADDR_HIGH_REGISTER): Likewise.
26216 (START_ADDR_LOW_REGISTER): Likewise.
26217 (GRAPHICS_ADDR_PORT): Likewise.
26218 (GRAPHICS_DATA_PORT): Likewise.
26219 (READ_MAP_REGISTER): Likewise.
26220 (INPUT_STATUS1_REGISTER): Likewise.
26221 (INPUT_STATUS1_VERTR_BIT): Likewise.
26222 (page): New variable.
26223 (wait_vretrace): New function.
26224 (set_read_map): Likewise.
26225 (set_start_address): Likewise.
26226 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
26227 the right page.
26228 (check_vga_mem): Take the page into account.
26229 (write_char): Likewise.
26230 (write_cursor): Likewise.
26231 (scroll_up): Likewise. Copy the page to the page that is not
26232 shown and switch between both pages.
26233 (grub_vga_putchar): Fix off by one error.
26234 (grub_vga_cls): Wait for the vertical retrace. Take the page into
26235 account.
26236
26237 2004-11-01 Marco Gerards <metgerards@student.han.nl>
26238
26239 Add support for iso9660 (including rockridge).
26240
26241 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
26242 (iso9660_mod_SOURCES): New variable.
26243 (iso9660_mod_CFLAGS): Likewise.
26244 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
26245 * include/grub/fs.h (grub_iso9660_init): New prototype.
26246 * util/grub-emu.c (main): Call `grub_iso9660_init'.
26247 * fs/iso9660.c: New file.
26248
26249 * include/grub/misc.h (grub_strncat): New prototype.
26250 * kern/misc.c (grub_strncat): New function.
26251
26252 * fs/hfs.c (grub_hfs_mount): Translate the error
26253 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
26254 * fs/jfs.c (grub_jfs_mount): Likewise.
26255 * fs/ufs.c (grub_ufs_mount): Likewise.
26256
26257 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
26258
26259 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
26260 which initialized BAT registers.
26261 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
26262 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
26263 Move from here...
26264 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
26265 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
26266 ... to here.
26267 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
26268 (grub_mapclaim): Likewise.
26269 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
26270 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
26271 hand.
26272
26273 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
26274
26275 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
26276 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
26277 -ffreestanding and -msoft-float.
26278
26279 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
26280
26281 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
26282 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
26283 set in grub_ieee1275_flags.
26284
26285 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
26286
26287 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
26288 prototype.
26289 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
26290 grub_console_init first.
26291 Change the memory range used for grub_ieee1275_claim and
26292 grub_mm_init_region.
26293 Print an error message if the claim fails.
26294 Include <grub/misc.h>.
26295
26296 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
26297
26298 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
26299 Call grub_children_iterate for device nodes of type `scsi',
26300 `ide', or `ata'.
26301 (grub_ofdisk_open): Remove manual device alias resolution.
26302 Fix memory leak when device cannot be opened.
26303 * include/grub/powerpc/ieee1275/ieee1275.h
26304 (grub_children_iterate): New prototype.
26305 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
26306 New function.
26307 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
26308 Return -1 if args.size was -1.
26309
26310 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
26311
26312 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
26313 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
26314 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
26315 Open Firmware's memory for it; claim memory from _start to _end.
26316 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
26317 (_end): New extern.
26318 (_start): Zero BSS from __bss_start to _end.
26319 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
26320 New extern.
26321 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
26322
26323 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
26324
26325 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
26326 -1 if args.base was -1.
26327
26328 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
26329
26330 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
26331 escape sequence instead of a literal ^L. Also call
26332 grub_ofconsole_gotoxy.
26333
26334 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
26335
26336 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
26337 void * arguments to grub_addr_t. All callers updated. Also make
26338 the `result' argument optional.
26339 (grub_ieee1275_release): change void * arguments to grub_addr_t.
26340 All callers updated.
26341
26342 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
26343
26344 * commands/ls.c (grub_ls_list_files): Use the string following the
26345 initial ')', if present, as the filesystem path.
26346 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
26347
26348 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
26349
26350 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
26351
26352 Make the source code of the menu interface more readable.
26353
26354 * normal/menu.c: Include grub/mm.h.
26355 (TERM_WIDTH): New macro.
26356 (TERM_HEIGHT): Likewise.
26357 (TERM_INFO_HEIGHT): Likewise.
26358 (TERM_MARGIN): Likewise.
26359 (TERM_SCROLL_WIDTH): Likewise.
26360 (TERM_TOP_BORDER_Y): Likewise.
26361 (TERM_LEFT_BORDER_X): Likewise.
26362 (TERM_BORDER_WIDTH): Likewise.
26363 (TERM_MESSAGE_HEIGHT): Likewise.
26364 (TERM_BORDER_HEIGHT): Likewise.
26365 (TERM_NUM_ENTRIES): Likewise.
26366 (TERM_FIRST_ENTRY_Y): Likewise.
26367 (TERM_ENTRY_WIDTH): Likewise.
26368 (TERM_CURSOR_X): Likewise.
26369 (draw_border): Use macros instead of magic numbers.
26370 (print_entry): Likewise.
26371 (print_entries): Likewise.
26372 (run_menu): Likewise. Also, handle the key 'e'.
26373 (run_menu_entry): Ignore empty command lines.
26374 (print_message): Added a new argument EDIT. If EDIT is true,
26375 print a different message.
26376 (init_page): Likewise.
26377 (edit_menu_entry): New function. Not implemented yet.
26378
26379 2004-09-17 Marco Gerards <metgerards@student.han.nl>
26380
26381 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
26382 can be loaded from normal mode.
26383
26384 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
26385 `multiboot.mod'.
26386 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
26387 (multiboot_mod_CFLAGS): New variables.
26388 * loader/i386/pc/linux_normal.c: New file.
26389 * loader/i386/pc/multiboot_normal.c: Likewise.
26390
26391 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
26392 attribute `unused'.
26393
26394 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
26395 `fdiro' to read the mode information from instead of `diro'.
26396
26397 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
26398 looking up a symlink.
26399
26400 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
26401 macro.
26402 * normal/command.c (grub_command_execute): Don't parse the
26403 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
26404 flags of the command.
26405
26406 * normal/menu.c (grub_menu_run): Fix typo.
26407
26408 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
26409
26410 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
26411
26412 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
26413 `y + 1' instead of `y - 1'.
26414
26415 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
26416
26417 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
26418
26419 From Hollis Blanchard <hollis@penguinppc.org>:
26420 * kern/misc.c (memmove): New alias for grub_memmove.
26421 (memcmp): New alias for grub_memcmp.
26422 (memset): New alias for grub_memset.
26423 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
26424 Change "int handle" to "grub_ieee1275_phandle_t handle".
26425 * include/grub/powerpc/ieee1275/ieee1275.h
26426 (grub_ieee1275_get_property): Likewise.
26427
26428 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
26429
26430 Added normal mode command `chainloader' as module chain.mod, which
26431 depends on normal.mod and _chain.mod.
26432
26433 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
26434 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
26435 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
26436 Deleted prototype.
26437 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
26438 but arguments parsing moved to ...
26439 (grub_chainloader_cmd): ... here. New function.
26440 * include/grub/i386/pc/chainloader.h: New file.
26441 * loader/i386/pc/chainloader_normal.c: Likewise.
26442
26443 2004-09-11 Marco Gerards <metgerards@student.han.nl>
26444
26445 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
26446 (grub_mkimage_LDFLAGS): Likewise.
26447 (grub_emu_SOURCES): Likewise.
26448 (kernel_img_HEADERS): Added fshelp.h.
26449 * fs/ext2.c: Include <grub/fshelp.h>.
26450 (FILETYPE_REG): New macro.
26451 (FILETYPE_INO_REG): Likewise.
26452 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
26453 Changed all users.
26454 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
26455 all users.
26456 (grub_fshelp_node): New struct.
26457 (grub_ext2_data): Added member `diropen'. Changed member `inode'
26458 to a pointer.
26459 (grub_ext2_get_file_block): Removed function.
26460 (grub_ext2_read_block): New function.
26461 (grub_ext2_read_file): Replaced parameter `data' by `node'.
26462 This function was written.
26463 (grub_ext2_mount): Read the root inode. Create a diropen struct.
26464 (grub_ext2_find_file): Removed function.
26465 (grub_ext2_read_symlink): New function.
26466 (grub_ext2_iterate_dir): Likewise.
26467 (grub_ext2_open): Rewritten.
26468 (grub_ext2_dir): Rewritten.
26469 * include/grub/fshelp.h: New file.
26470 * fs/fshelp.c: Likewise.
26471
26472 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
26473
26474 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
26475 (print_message): Add a missing newline.
26476 (run_menu): Added timeout support.
26477 (run_menu_entry): New local function.
26478 (grub_menu_run): Added support for booting.
26479
26480 * kern/loader.c (grub_loader_is_loaded): New function.
26481
26482 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
26483 (grub_get_rtc): Exported.
26484
26485 * include/grub/i386/pc/time.h: Include grub/symbol.h.
26486 (grub_get_rtc): Exported.
26487
26488 * include/grub/normal.h (struct grub_command_list): Remove
26489 constant from the member `command'.
26490
26491 * include/grub/loader.h (grub_loader_is_loaded): Declared.
26492
26493 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
26494
26495 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
26496
26497 2004-08-28 Marco Gerards <metgerards@student.han.nl>
26498
26499 Add support for the JFS filesystem.
26500
26501 * fs/jfs.c: New file.
26502 * include/grub/fs.h (grub_jfs_init): New prototype.
26503 (grub_jfs_fini): New prototype.
26504 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
26505 (grub_emu_SOURCES): Likewise.
26506 (pkgdata_MODULES): Add jfs.mod.
26507 (jfs_mod_SOURCES): New variable.
26508 (jfs_mod_CFLAGS): Likewise.
26509 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
26510 (grubof_SOURCES): Likewise.
26511 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
26512
26513 * fs/fat.c (grub_fat_find_dir): Convert the filename little
26514 endian to the host endian.
26515 (grub_fat_utf16_to_utf8): Move function from there...
26516 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
26517 the endianness of the source string anymore.
26518 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
26519
26520 2004-08-24 Marco Gerards <metgerards@student.han.nl>
26521
26522 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
26523 (grub_boot_fini) [GRUB_UTIL]: Likewise.
26524 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
26525 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
26526
26527 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
26528 (grub_hfs_iterate_dir): Make the function static. Add prototypes
26529 for `node_found' and `it_dir'.
26530 (grub_hfs_dir): Add prototype for `dir_hook'.
26531
26532 * fs/minix.c (grub_minix_get_file_block): Add prototype for
26533 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
26534 and `indir32' to silence a gcc warning.
26535
26536 * include/grub/fs.h (grub_hfs_init): New prototype.
26537 (grub_hfs_fini): Likewise.
26538
26539
26540 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
26541
26542 Each disk device has its own id now. This is useful to make use
26543 of multiple disk devices.
26544
26545 * include/grub/disk.h (grub_disk_dev_id): New enum.
26546 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
26547 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
26548
26549 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
26550 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
26551
26552 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
26553 GRUB_DISK_DEVICE_OFDISK_ID as an id.
26554
26555 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
26556 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
26557
26558 * include/grub/disk.h (struct grub_disk_dev): Added a new member
26559 "id" which is used by the cache manager.
26560
26561 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
26562 of just "GRUB".
26563
26564 2004-08-18 Marco Gerards <metgerards@student.han.nl>
26565
26566 * fs/hfs.c: New file.
26567 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
26568 (grub_emu_SOURCES): Likewise.
26569 (pkgdata_MODULES): Add hfs.mod.
26570 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
26571 (grubof_SOURCES): Likewise.
26572 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
26573
26574 * include/grub/misc.h (grub_strncasecmp): Add prototype.
26575 * kern/misc.c (grub_strncasecmp): Add function.
26576
26577 2004-08-14 Marco Gerards <metgerards@student.han.nl>
26578
26579 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
26580 with parentheses.
26581
26582 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
26583 (grub_ext2_dir): In case the directory entry type is unknown, read
26584 it from the inode.
26585
26586 2004-08-02 Peter Bruin <pjbruin@dds.nl>
26587
26588 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
26589 grub_load_linux instead of grub_rescue_cmd_linux as second
26590 argument of grub_rescue_register_command.
26591
26592 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
26593
26594 2004-07-27 Marco Gerards <metgerards@student.han.nl>
26595
26596 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
26597 function.
26598 * commands/boot.c: Remove the check for `GRUB_UTIL'.
26599 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
26600 `loader/powerpc/ieee1275/linux.c',
26601 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
26602 * include/grub/powerpc/ieee1275/ieee1275.h
26603 (grub_ieee1275_release): New prototype.
26604 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
26605 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
26606 normal, boot, linux and linux_normal.
26607 * loader/powerpc/ieee1275/linux.c: New file.
26608 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
26609
26610 2004-07-12 Marco Gerards <metgerards@student.han.nl>
26611
26612 * normal/arg.c (grub_arg_parse): Correct error handling after
26613 reallocating the argumentlist (check if `argl' is not null instead
26614 of checking if `args' is not null).
26615 * kern/mm.c (grub_realloc): Return the same pointer when using the
26616 same region, instead of returning the header address.
26617
26618 2004-07-11 Marco Gerards <metgerards@student.han.nl>
26619
26620 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
26621 one block instead of two when looking for the initial partition.
26622 (grub_partition_probe): Initialize the local variable `p' with 0.
26623 Use base 10 for the grub_strtoul call.
26624 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
26625 need for one local variable.
26626 (grub_strtoul): Don't add the new value to `num', instead of that
26627 just assign it.
26628
26629 2004-07-11 Marco Gerards <metgerards@student.han.nl>
26630
26631 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
26632 (pxeboot_img_SOURCES): New variable.
26633 (pxeboot_img_ASFLAGS): Likewise.
26634 (pxeboot_img_LDFLAGS): Likewise.
26635 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
26636 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
26637 <lode_leroy@hotmail.com>.
26638
26639 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
26640
26641 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
26642 there was no input.
26643
26644 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
26645
26646 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
26647 the history buffer logic.
26648
26649 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
26650
26651 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
26652 (FILETYPE_INO_SYMLINK): New macros.
26653 (grub_ext2_find_file): Check if the node is a directory using the
26654 inode stat information instead of using the filetype in the
26655 dirent. Exclude the first character of an absolute symlink.
26656 (grub_ext2_dir): Mask out the filetype part of the mode member of
26657 the inode.
26658
26659 2004-05-24 Marco Gerards <metgerards@student.han.nl>
26660
26661 Add support for UFS version 1 and 2. Add support for the minix
26662 filesystem version 1 and 2, both the variants with 14 and 30 long
26663 filenames.
26664
26665 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
26666 fs/minix.c.
26667 (grub_emu_SOURCES): Likewise.
26668 (pkgdata_MODULES): Add ufs.mod and minix.mod.
26669 (ufs_mod_SOURCES): New variable.
26670 (ufs_mod_CFLAGS): Likewise.
26671 (minix_mod_SOURCES): Likewise.
26672 (minix_mod_CFLAGS): Likewise.
26673 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
26674 fs/minix.c.
26675 (grubof_SOURCES): Likewise.
26676 * fs/ufs.c: New file.
26677 * fs/minix.c: New file.
26678 * include/grub/fs.h (grub_ufs_init): New prototype.
26679 (grub_ufs_fini): Likewise.
26680 (grub_minix_init): Likewise.
26681 (grub_minix_fini): Likewise.
26682 * util/grub-emu.c (main): Initialize and deinitialize UFS and
26683 minix fs.
26684
26685 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
26686
26687 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
26688 commands/ls.c, commands/terminal.c, commands/boot.c,
26689 commands/cmp.c and commands/cat.c.
26690 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
26691
26692 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
26693 "env.h"
26694
26695 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
26696
26697 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
26698 and grub_, respectively. Because the conversion is trivial and
26699 mechanical, I omit the details here. Please refer to the CVS
26700 if you need more information.
26701
26702 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
26703
26704 * include/pupa: Renamed to ...
26705 * include/grub: ... this.
26706 * util/i386/pc/pupa-mkimage.c: Renamed to ...
26707 * util/i386/pc/grub-mkimage.c: ... this.
26708 * util/i386/pc/pupa-setup.c: Renamed to ...
26709 * util/i386/pc/grub-setup.c: ... this.
26710 * util/pupa-emu.c: Renamed to ...
26711 * util/grub-emu.c: ... this.
26712
26713 2004-03-29 Marco Gerards <metgerards@student.han.nl>
26714
26715 Add support for the newworld apple macintosh (PPC). This has been
26716 tested on the powerbook 2000 only. It only adds support for
26717 generic ieee1275 functions, console and disk support. This should
26718 be easy to port to other architectures with support for Open
26719 Firmware.
26720
26721 * configure.ac: Accept the powerpc as host_cpu. In the case of
26722 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
26723 specific tests are only executed while building for the i386.
26724 Inverse test for crosscompile.
26725 * genmk.rb (Utility): Allow assembler files.
26726 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
26727 * conf/powerpc-ieee1275.rmk: New file.
26728 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
26729 * disk/powerpc/ieee1275/partition.c: Likewise.
26730 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
26731 * include/pupa/powerpc/ieee1275/console.h: Likewise.
26732 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
26733 * include/pupa/powerpc/ieee1275/time.h: Likewise.
26734 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
26735 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
26736 * include/pupa/powerpc/ieee1275/loader.h
26737 * include/pupa/powerpc/setjmp.h: Likewise.
26738 * include/pupa/powerpc/types.h: Likewise.
26739 * kern/powerpc/ieee1275/init.c: Likewise.
26740 * kern/powerpc/ieee1275/openfw.c: Likewise.
26741 * term/powerpc/ieee1275/ofconsole.c: Likewise.
26742
26743 These files were written by Johan Rydberg
26744 (jrydberg@night.trouble.net) and I only modified them slightly.
26745
26746 * boot/powerpc/ieee1275/cmain.c: New file.
26747 * boot/powerpc/ieee1275/crt0.S: Likewise.
26748 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
26749 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
26750
26751 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
26752
26753 * Makefile.in: Update copyright.
26754 * genmodsrc.sh: Likewise.
26755 * gensymlist.sh: Likewise.
26756 * term/i386/pc/vga.c: Indent correctly.
26757
26758 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
26759 bugreporting address.
26760 * util/i386/pc/pupa-setup.c (usage): Likewise,
26761 (main): Call pupa_ext2_init and pupa_ext2_fini.
26762
26763 * fs/fat.c (log2): Renamed to ...
26764 (fat_log2): ... this.
26765 All callers changed.
26766 * kern/misc.c (memcpy): Alias to pupa_memmove.
26767 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
26768 lvalue cast.
26769 * util/console.c (pupa_ncurses_fini): Return 0.
26770
26771 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
26772 Move fail label here.
26773 [__GNU__]: Don't warn when using stat.
26774 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
26775 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
26776 long int. Use strtol instead of strtoul.
26777
26778 2004-03-14 Marco Gerards <metgerards@student.han.nl>
26779
26780 * commands/boot.c: New file.
26781 * commands/cat.c: Likewise.
26782 * commands/cmp.c: Likewise.
26783 * commands/ls.c: Likewise.
26784 * commands/terminal.c: Likewise.
26785 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
26786 (pupa_register_command): Changed interface to match the new
26787 argument parser.
26788 (pupa_command_execute): Changed (almost rewritten) so it uses
26789 pupa_split_command. Added support for setting variables using the
26790 syntax `foo=bar'.
26791 (rescue_command): Changed to work with the new argument parser.
26792 (terminal_command): Moved from here to commands/terminal.c.
26793 (set_command): New function.
26794 (unset_command): New function.
26795 (insmod_command): New function.
26796 (rmmod_command): New function.
26797 (lsmod_command): New function.
26798 (pupa_command_init): Don't initialize the command terminal
26799 anymore. Initialize the commands set, unset, insmod, rmmod and
26800 lsmod.
26801 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
26802 (kernel_img_HEADERS): Add arg.h and env.h.
26803 (pupa_mkimage_LDFLAGS): Add kern/env.c.
26804 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
26805 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
26806 normal/arg.c.
26807 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
26808 terminal.mod.
26809 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
26810 (boot_mod_SOURCES): New variable.
26811 (terminal_mod_SOURCES): Likewise.
26812 (ls_mod_SOURCES): Likewise.
26813 (cmp_mod_SOURCES): Likewise.
26814 (cat_mod_SOURCES): Likewise.
26815
26816 * normal/arg.c: New file.
26817 * kern/env.c: Likewise.
26818 * include/pupa/arg.h: Likewise.
26819 * include/pupa/env.h: Likewise.
26820 * font/manager.c (font_command): Changed to match argument parsing
26821 interface changes.
26822 (PUPA_MOD_INIT): Likewise.
26823 * hello/hello.c (pupa_cmd_hello): Likewise.
26824 (PUPA_MOD_INIT): Likewise.
26825 * include/pupa/disk.h: Include <pupa/device.h>.
26826 (pupa_print_partinfo): New prototype.
26827 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
26828 (pupa_dl_get_prefix): Likewise.
26829 * include/pupa/misc.h: Include <pupa/err.h>.
26830 (pupa_isgraph): New prototype.
26831 (pupa_isdigit): Likewise.
26832 (pupa_split_cmdline): Likewise.
26833 * include/pupa/normal.h: Include <pupa/arg.h>.
26834 (pupa_command): Changed the prototype of the member `func' to
26835 match the argument parsing interface. Added member `options'.
26836 (pupa_register_command): Updated to match function.
26837 (pupa_arg_parse): New prototype.
26838 (pupa_hello_init) [PUPA_UTIL]: New prototype.
26839 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
26840 (pupa_ls_init) [PUPA_UTIL]: Likewise.
26841 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
26842 (pupa_cat_init) [PUPA_UTIL]: Likewise.
26843 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
26844 (pupa_boot_init) [PUPA_UTIL]: Likewise.
26845 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
26846 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
26847 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
26848 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
26849 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
26850 * kern/disk.c: Include <pupa/file.h>.
26851 (pupa_print_partinfo): New function.
26852 * kern/dl.c: Include <pupa/env.h>.
26853 (pupa_dl_dir): Variable removed.
26854 (pupa_dl_load): Use the environment variable `prefix' instead of
26855 the variable pupa_dl_dir.
26856 (pupa_dl_set_prefix): Function removed.
26857 (pupa_dl_get_prefix): Likewise.
26858 * kern/i386/pc/init.c: Include <pupa/env.h>.
26859 (pupa_machine_init): Use the environment variable `prefix' instead of
26860 using pupa_dl_set_prefix to set the prefix.
26861 * kern/main.c: Include <pupa/env.h>.
26862 (pupa_set_root_dev): Use the environment variable `prefix' instead of
26863 using pupa_dl_get_prefix to get the prefix.
26864 * kern/misc.c: Include <pupa/env.h>.
26865 (pupa_isdigit): New function.
26866 (pupa_isgraph): Likewise.
26867 (pupa_ftoa): Likewise.
26868 (pupa_vsprintf): Added support for printing values of the type
26869 `double'. Make it possible to format variable output when using
26870 formatting like `%1.2%f'.
26871 (pupa_split_cmdline): New function.
26872 * kern/rescue.c: Include <pupa/env.h>.
26873 (next_word): Removed function.
26874 (pupa_rescue_cmd_prefix): Likewise.
26875 (pupa_rescue_cmd_set): New function.
26876 (pupa_rescue_cmd_unset): New function.
26877 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
26878 split the command line instead of splitting it here. Added
26879 support for setting variables using the syntax `foo=bar'. Don't
26880 initialize the prefix command anymore. Initialized the set and
26881 unset commands.
26882 * normal/cmdline.c: Include <pupa/env.h>.
26883 (pupa_tab_complete): Added prototypes for print_simple_completion,
26884 print_partition_completion, add_completion, iterate_commands,
26885 iterate_dev, iterate_part and iterate_dir. Moved code to print
26886 partition information from here to kern/disk.c.
26887 (pupa_cmdline_run): Don't check if the function exists anymore.
26888 * normal/main.c: Include <pupa/env.h>.
26889 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
26890 instead of using pupa_dl_get_prefix to get the prefix.
26891 * term/i386/pc/vga.c: Include <pupa/arg.h>.
26892 (check_vga_mem): Cast pointers to `void *' to silence a gcc
26893 warning.
26894 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
26895 (pupa_vga_setcolor): Declare unused variables with `__attribute__
26896 ((unused))' to silence a gcc warning.
26897 (pupa_vga_setcolor): Likewise.
26898 (debug_command): Changed to match argument parsing
26899 interface changes.
26900 * util/pupa-emu.c: Include <pupa/env.h>.
26901 (options): Added 0's for unused fields to silence a gcc warning.
26902 (argp): Likewise.
26903 (main): Use the environment variable `prefix' instead of using
26904 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
26905 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
26906 and terminal.
26907
26908 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
26909 * util/misc.c: Include <malloc.h>.
26910 (pupa_malloc): Rewritten so errors are correctly reported.
26911 (pupa_realloc): Likewise.
26912 (pupa_memalign): Likewise.
26913 (pupa_mm_init_region): Declare unused variables with
26914 `__attribute__ ((unused))' to silence a gcc warning.
26915 * normal/i386/setjmp.S: Remove tab at the end of the file to
26916 silence a gcc warning.
26917 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
26918 variables with `__attribute__ ((unused))' to silence a gcc
26919 warning.
26920 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
26921 local variable i unsigned to silence a gcc warning.
26922
26923 * kern/term.c: Include <pupa/misc.h>.
26924 (pupa_more_lines): New variable.
26925 (pupa_more): Likewise.
26926 (pupa_putcode): When the pager is active pause at the end of every
26927 screen.
26928 (pupa_set_more): New function.
26929 * include/pupa/term.h (pupa_set_more): New prototype.
26930
26931
26932 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
26933
26934 Now this project is GRUB 2 rather than PUPA. The location of
26935 the CVS repository was moved to GRUB's.
26936
26937 * configure.ac: Use bug-grub as the reporting address.
26938 Use GRUB instead of PUPA.
26939 Change the version number to 1.90.
26940
26941 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
26942
26943 * genkernsyms.sh: Updated copyright information.
26944 * genmk.rb: Likewise.
26945 * genmodsrc.sh: Likewise.
26946 * gensymlist.sh: Likewise.
26947 * boot/i386/pc/boot.S: Likewise.
26948 * boot/i386/pc/diskboot.S: Likewise.
26949 * disk/i386/pc/biosdisk.c: Likewise.
26950 * disk/i386/pc/partition.c: Likewise.
26951 * font/manager.c: Likewise.
26952 * fs/ext2.c: Likewise.
26953 * fs/fat.c: Likewise.
26954 * include/pupa/boot.h: Likewise.
26955 * include/pupa/device.h: Likewise.
26956 * include/pupa/disk.h: Likewise.
26957 * include/pupa/dl.h: Likewise.
26958 * include/pupa/elf.h: Likewise.
26959 * include/pupa/err.h: Likewise.
26960 * include/pupa/file.h: Likewise.
26961 * include/pupa/font.h: Likewise.
26962 * include/pupa/fs.h: Likewise.
26963 * include/pupa/kernel.h: Likewise.
26964 * include/pupa/loader.h: Likewise.
26965 * include/pupa/misc.h: Likewise.
26966 * include/pupa/mm.h: Likewise.
26967 * include/pupa/net.h: Likewise.
26968 * include/pupa/normal.h: Likewise.
26969 * include/pupa/rescue.h: Likewise.
26970 * include/pupa/setjmp.h: Likewise.
26971 * include/pupa/symbol.h: Likewise.
26972 * include/pupa/term.h: Likewise.
26973 * include/pupa/types.h: Likewise.
26974 * include/pupa/i386/setjmp.h: Likewise.
26975 * include/pupa/i386/types.h: Likewise.
26976 * include/pupa/i386/pc/biosdisk.h: Likewise.
26977 * include/pupa/i386/pc/boot.h: Likewise.
26978 * include/pupa/i386/pc/console.h: Likewise.
26979 * include/pupa/i386/pc/init.h: Likewise.
26980 * include/pupa/i386/pc/kernel.h: Likewise.
26981 * include/pupa/i386/pc/linux.h: Likewise.
26982 * include/pupa/i386/pc/loader.h: Likewise.
26983 * include/pupa/i386/pc/memory.h: Likewise.
26984 * include/pupa/i386/pc/multiboot.h: Likewise.
26985 * include/pupa/i386/pc/partition.h: Likewise.
26986 * include/pupa/i386/pc/time.h: Likewise.
26987 * include/pupa/i386/pc/vga.h: Likewise.
26988 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
26989 * include/pupa/util/getroot.h: Likewise.
26990 * include/pupa/util/misc.h: Likewise.
26991 * include/pupa/util/resolve.h: Likewise.
26992 * kern/device.c: Likewise.
26993 * kern/disk.c: Likewise.
26994 * kern/dl.c: Likewise.
26995 * kern/err.c: Likewise.
26996 * kern/file.c: Likewise.
26997 * kern/fs.c: Likewise.
26998 * kern/loader.c: Likewise.
26999 * kern/main.c: Likewise.
27000 * kern/misc.c: Likewise.
27001 * kern/mm.c: Likewise.
27002 * kern/rescue.c: Likewise.
27003 * kern/term.c: Likewise.
27004 * kern/i386/dl.c: Likewise.
27005 * kern/i386/pc/init.c: Likewise.
27006 * kern/i386/pc/lzo1x.S: Likewise.
27007 * kern/i386/pc/startup.S: Likewise.
27008 * loader/i386/pc/chainloader.c: Likewise.
27009 * loader/i386/pc/linux.c: Likewise.
27010 * loader/i386/pc/multiboot.c: Likewise.
27011 * normal/cmdline.c: Likewise.
27012 * normal/command.c: Likewise.
27013 * normal/main.c: Likewise.
27014 * normal/menu.c: Likewise.
27015 * normal/i386/setjmp.S: Likewise.
27016 * term/i386/pc/console.c: Likewise.
27017 * term/i386/pc/vga.c: Likewise.
27018 * util/console.c: Likewise.
27019 * util/genmoddep.c: Likewise.
27020 * util/misc.c: Likewise.
27021 * util/pupa-emu.c: Likewise.
27022 * util/resolve.c: Likewise.
27023 * util/unifont2pff.rb: Likewise.
27024 * util/i386/pc/biosdisk.c: Likewise.
27025 * util/i386/pc/getroot.c: Likewise.
27026 * util/i386/pc/pupa-mkimage.c: Likewise.
27027 * util/i386/pc/pupa-setup.c: Likewise.
27028
27029 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
27030
27031 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
27032 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
27033 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
27034 reading and reset it after reading.
27035 (pupa_ext2_close): Return PUPA_ERR_NONE.
27036
27037 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
27038 Correct value.
27039 (struct linux_kernel_header): Add kernel_version and
27040 initrd_addr_max.
27041 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
27042 pupa_file_read succeeds.
27043 (pupa_rescue_cmd_initrd): Implement.
27044
27045 2003-12-03 Marco Gerards <metgerards@student.han.nl>
27046
27047 * fs/ext2.c (pupa_ext2_label): New function.
27048 (pupa_ext2_fs): Added label.
27049 * fs/fat.c (pupa_fat_label): New function.
27050 (pupa_fat_fs): Added label.
27051 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
27052
27053 * kern/misc.c (pupa_strndup): New function.
27054 * include/pupa/misc.h (pupa_strndup): New prototype.
27055
27056 * include/pupa/normal.h: Include <pupa/err.h>.
27057 (pupa_set_history): New prototype.
27058 (pupa_iterate_commands): New prototype.
27059 * normal/cmdline.c: Include <pupa/machine/partition.h>,
27060 <pupa/disk.h>, <pupa/file.h>.
27061 (hist_size): New variable.
27062 (hist_lines): Likewise.
27063 (hist_end): Likewise.
27064 (hist_used): Likewise.
27065 (pupa_set_history): New function.
27066 (pupa_history_get): Likewise.
27067 (pupa_history_add): Likewise.
27068 (pupa_history_replace): Likewise.
27069 (pupa_tab_complete): Likewise.
27070 (pupa_cmdline_run): Added tab completion and history buffer. Tab
27071 completion shows partitionnames while completing partitions, this
27072 feature was suggested by Jeff Bailey.
27073 * normal/command.c (pupa_iterate_commands): New function.
27074 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
27075 (pupa_normal_init): Initialize history buffer.
27076 (PUPA_MOD_INIT): Likewise.
27077 (pupa_normal_fini): Free the history buffer.
27078 (PUPA_MOD_FINI): Likewise.
27079
27080 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
27081 key.
27082
27083 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
27084 * configure.ac [i386]: Check for regparam bug.
27085 (NESTED_FUNC_ATTR) [! i386]: Defined.
27086
27087 2003-11-17 Marco Gerards <metgerards@student.han.nl>
27088
27089 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
27090 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
27091 (pupa_emu_SOURCES): New variable.
27092 (pupa_emu_LDFLAGS): Likewise.
27093 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
27094 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
27095 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
27096 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
27097 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
27098 (pupa_jmp_buf): New typedef.
27099 (pupa_setjmp) [PUPA_UTIL]: New macro.
27100 (pupa_longjmp) [PUPA_UTIL]: Likewise.
27101 * include/pupa/term.h (struct pupa_term): New member `refresh'.
27102 (pupa_refresh): New prototype.
27103 * include/pupa/util/getroot.h: New file.
27104 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
27105 it.
27106 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
27107 (pupa_rescue_cmd_cat): Likewise.
27108 (pupa_rescue_cmd_ls): Likewise.
27109 (pupa_rescue_cmd_testload): Likewise.
27110 (pupa_rescue_cmd_lsmod): Likewise.
27111 * normal/cmdline.c (pupa_cmdline_get): Likewise.
27112 * normal/menu.c (run_menu): Likewise.
27113 * kern/term.c (pupa_cls): Likewise.
27114 (pupa_refresh): New function.
27115 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
27116 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
27117 * util/console.c: New file.
27118
27119 * util/i386/pc/getroot.c: New file.
27120 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
27121 (pupa_putchar): New function.
27122 (pupa_refresh): Likewise.
27123 (xgetcwd): Function moved to ...
27124 (strip_extra_slashes): Likewise.
27125 (get_prefix): Likewise.
27126 * util/i386/pc/getroot.c: ... here.
27127 (find_root_device): Function moved and renamed to...
27128 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
27129 Changed all callers.
27130 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
27131 and renamed to...
27132 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
27133 Changed all callers.
27134 * util/misc.c (pupa_memalign): New function.
27135 (pupa_mm_init_region): Likewise.
27136 (pupa_register_exported_symbols): Likewise.
27137 (pupa_putchar): Function removed.
27138 * util/pupa-emu.c: New file.
27139
27140 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
27141
27142 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
27143 (_multiboot_mod_SOURCES): New variable.
27144 (_multiboot_mod_CFLAGS): Likewise.
27145 * loader/i386/pc/multiboot.c: New file.
27146 * include/pupa/i386/pc/multiboot.h: Likewise.
27147 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
27148 (pupa_multiboot_real_boot): New function.
27149 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
27150 (pupa_multiboot_real_boot): New prototype.
27151 (pupa_rescue_cmd_multiboot): Likewise
27152 (pupa_rescue_cmd_module): Likewise.
27153
27154 * kern/loader.c (pupa_loader_set): Continue when
27155 pupa_loader_unload_func() fails.
27156 (pupa_loader_unset): New function.
27157 * include/pupa/loader.h (pupa_loader_unset): New prototype.
27158
27159 * kern/misc.c (pupa_stpcpy): New function.
27160 * include/pupa/misc.h (pupa_stpcpy): New prototype.
27161
27162 2003-11-12 Marco Gerards <metgerards@student.han.nl>
27163
27164 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
27165 for available extensions.
27166
27167 * include/pupa/i386/pc/time.h: New file.
27168 * kern/disk.c: Include <pupa/machine/time.h>.
27169 (PUPA_CACHE_TIMEOUT): New macro.
27170 (pupa_last_time): New variable.
27171 (pupa_disk_open): Flush the cache when there was a timeout.
27172 (pupa_disk_close): Reset the timer.
27173 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
27174 pupa_currticks.
27175 * util/misc.c: Include <sys/times.h>
27176 (pupa_get_rtc): New function.
27177
27178 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
27179
27180 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
27181 as blocks.
27182 (pupa_ext2_get_file_block): Use blocks member.
27183
27184 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
27185 first block. Return -1 instead of pupa_errno on error.
27186
27187 2003-10-27 Marco Gerards <metgerards@student.han.nl>
27188
27189 * README: In the pupa-mkimage example use _chain instead of chain
27190 and ext2 instead of fat.
27191 * TODO: Replace ext2fs with jfs as an example. Add an item for
27192 adding journal playback for ext2fs.
27193 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
27194 (pkgdata_MODULES): Added ext2.mod.
27195 (ext2_mod_SOURCES): New variable.
27196 (ext2_mod_CFLAGS): Likewise.
27197 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
27198 * include/pupa/misc.h (pupa_strncpy): New prototype.
27199 (pupa_strcat): Likewise.
27200 (pupa_strncmp): Likewise.
27201 * kern/misc.c (pupa_strcat): Enable function.
27202 (pupa_strncpy): New function.
27203 (pupa_strncmp): Likewise.
27204 * fs/ext2.c: New file.
27205
27206 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
27207 when the read failed before retrying.
27208 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
27209 (_FILE_OFFSET_BITS): Likewise.
27210 * configure.ac: Added AC_SYS_LARGEFILE.
27211
27212 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
27213
27214 * genmk.rb (PModule#rule): Make sure to get only symbol names
27215 from the output of nm.
27216 Reported by Robert Millan <rmh.grub@aybabtu.com>.
27217
27218 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
27219
27220 I forgot to check in these changes for a long time. This adds
27221 incomplete support for VGA console, and this is still very
27222 buggy. Also, a lot of consideration is required for I18N,
27223 UNICODE, and VGA font issues. Therefore, assume that this is
27224 such that "better than nothing".
27225
27226 * font/manager.c: New file.
27227 * include/pupa/font.h: Likewise.
27228 * include/pupa/i386/pc/vga.h: Likewise.
27229 * term/i386/pc/vga.c: Likewise.
27230 * util/unifont2pff.rb: Likewise.
27231
27232 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
27233 (pkgdata_MODULES): Added vga.mod and font.mod.
27234 (vga_mod_SOURCES): New variables.
27235 (vga_mod_CFLAGS): Likewise.
27236 (font_mod_SOURCES): Likewise.
27237 (font_mod_CFLAGS): Likewise.
27238
27239 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
27240
27241 * include/pupa/term.h: Include pupa/err.h.
27242 (struct pupa_term): Added init and fini.
27243 Changed the argument of putchar to pupa_uint32_t.
27244
27245 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
27246 (pupa_console_real_putchar): New prototype.
27247 (pupa_console_putchar): Removed.
27248 (pupa_console_checkkey): Exported.
27249 (pupa_console_getkey): Likewise.
27250
27251 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
27252 characters.
27253
27254 * kern/term.c (pupa_term_set_current): Rewritten.
27255 (pupa_putchar): Likewise.
27256 (pupa_putcode): New function.
27257
27258 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
27259 (pupa_console_real_putchar): ... this.
27260 (pupa_vga_set_mode): New function.
27261 (pupa_vga_get_font): Likewise.
27262
27263 * normal/command.c: Include pupa/term.h.
27264 (terminal_command): New function.
27265 (pupa_command_init): Register the command "terminal".
27266
27267 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
27268 (DISP_UP): Likewise.
27269 (DISP_RIGHT): Likewise.
27270 (DISP_DOWN): Likewise.
27271 (DISP_HLINE): Likewise.
27272 (DISP_VLINE): Likewise.
27273 (DISP_UL): Likewise.
27274 (DISP_UR): Likewise.
27275 (DISP_LL): Likewise.
27276 (DISP_LR): Likewise.
27277
27278 * term/i386/pc/console.c (pupa_console_putchar): New function.
27279
27280 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
27281
27282 * util/resolve.c (pupa_util_resolve_dependencies): BUG
27283 FIX. Reverse the path_list.
27284
27285 * include/pupa/normal.h: Export pupa_register_command and
27286 pupa_unregister_command.
27287
27288 * hello/hello.c (pupa_cmd_hello): New module.
27289 * conf/i386-pc.rmk: Added hello.mod.
27290
27291 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
27292
27293 * kern/i386/pc/lzo1x.S: New file.
27294
27295 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
27296 (compress_kernel): New variable.
27297 (generate_image): Heavily modified to support compressing a
27298 large part of the core image.
27299
27300 * util/misc.c (pupa_util_read_image): Fix a file descriptor
27301 leak.
27302 (pupa_util_load_image): New function.
27303
27304 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
27305 (pupa_compressed_size): New variable.
27306 (codestart): Enable Gate A20 here.
27307 Decompress the compressed part of the core image.
27308 Rearrange the code to put functions and variables which are
27309 required for initialization in the non-compressed part.
27310 Include lzo1x.S.
27311
27312 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
27313 here.
27314
27315 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
27316
27317 * include/pupa/i386/pc/kernel.h
27318 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
27319 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
27320 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
27321 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
27322 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
27323
27324 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
27325
27326 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
27327 (Utility#rule): Likewise.
27328
27329 * configure.ac: Check if LZO is available.
27330
27331 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
27332
27333 * include/pupa/normal.h: New file.
27334 * include/pupa/setjmp.h: Likewise.
27335 * include/pupa/i386/setjmp.h: Likewise.
27336 * normal/cmdline.c: Likewise.
27337 * normal/command.c: Likewise.
27338 * normal/main.c: Likewise.
27339 * normal/menu.c: Likewise.
27340 * normal/i386/setjmp.S: Likewise.
27341
27342 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
27343 (pupa_rescue_cmd_initrd): Likewise.
27344
27345 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
27346 Likewise.
27347
27348 * kern/i386/pc/startup.S (translation_table): New variable.
27349 (translate_keycode): New function.
27350 (pupa_console_getkey): Call translate_keycode.
27351
27352 * kern/rescue.c (attempt_normal_mode): New function.
27353 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
27354 it failed, print a message.
27355
27356 * kern/mm.c (pupa_real_malloc): Print more information when a
27357 free magic is broken.
27358 (pupa_free): If the first free header is not free actually, set
27359 it to P.
27360
27361 * kern/main.c (pupa_load_normal_mode): Just load the module
27362 "normal".
27363 (pupa_main): Don't print the message
27364 "Entering into rescue mode..." here.
27365
27366 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
27367 Declared.
27368 (pupa_rescue_cmd_initrd): Likewise.
27369 (pupa_rescue_cmd_initrd): Likewise.
27370
27371 * include/pupa/symbol.h (FUNCTION): Specify the type.
27372 (VARIABLE): Likewise.
27373
27374 * include/pupa/err.h (pupa_err_t): Added
27375 PUPA_ERR_UNKNOWN_COMMAND.
27376
27377 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
27378 (pupa_dl_get_prefix): Likewise.
27379
27380 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
27381 Added _chain.mod and _linux.mod instead of chain.mod and
27382 linux.mod.
27383 (chain_mod_SOURCES): Renamed to ...
27384 (_chain_mod_SOURCES): ... this.
27385 (chain_mod_CFLAGS): Renamed to ...
27386 (_chain_mod_CFLAGS): ... this.
27387 (linux_mod_SOURCES): Renamed to ...
27388 (_linux_mod_SOURCES): ... this.
27389 (linux_mod_CFLAGS): Renamed to ...
27390 (_linux_mod_CFLAGS): ... this.
27391 (normal_mod_SOURCES): New variable.
27392 (normal_mod_CFLAGS): Likewise.
27393 (normal_mod_ASFLAGS): Likewise.
27394
27395 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
27396
27397 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
27398 possible.
27399
27400 * kern/dl.c (pupa_dl_ref): Refer depending modules
27401 recursively.
27402 (pupa_dl_unref): Unrefer depending modules recursively.
27403 Don't call pupa_dl_unload implicitly, because PUPA can crash if
27404 a module is unloaded before one depending on that module is
27405 unloaded.
27406 (pupa_dl_unload): Unload depending modules explicitly,
27407 if possible.
27408
27409 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
27410
27411 * include/pupa/i386/pc/linux.h: New file.
27412 * loader/i386/pc/linux.c: Likewise.
27413
27414 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
27415 Removed.
27416 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
27417 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
27418 of PUPA_CHAINLOADER_BOOT_SECTOR.
27419
27420 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
27421 (pupa_linux_prot_size): New variable.
27422 (pupa_linux_tmp_addr): Likewise.
27423 (pupa_linux_real_addr): Likewise.
27424 (pupa_linux_boot_zimage): New function.
27425 (pupa_linux_boot_bzimage): Likewise.
27426
27427 * kern/i386/pc/init.c (struct mem_region): New structure.
27428 (MAX_REGIONS): New macro.
27429 (mem_regions): New variable.
27430 (num_regions): Likewise.
27431 (pupa_os_area_addr): Likewise.
27432 (pupa_os_area_size): Likewise.
27433 (pupa_lower_mem): Likewise.
27434 (pupa_upper_mem): Likewise.
27435 (add_mem_region): New function.
27436 (compact_mem_regions): Likewise.
27437 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
27438 the size of the conventional memory and that of so-called upper
27439 memory (before the first memory hole).
27440 Instead of adding each found region to free memory, use
27441 add_mem_region and add them after removing overlaps.
27442 Also, add only 1/4 of the upper memory to free memory. The rest
27443 is used for loading OS images. Maybe this is ad hoc, but this
27444 makes it much easier to relocate OS images when booting.
27445
27446 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
27447 (pupa_enter_rescue_mode): Don't register initrd and module.
27448
27449 * kern/mm.c: Include pupa/dl.h.
27450
27451 * kern/main.c: Include pupa/file.h and pupa/device.h.
27452
27453 * kern/loader.c (pupa_loader_load_module_func): Removed.
27454 (pupa_loader_load_module): Likewise.
27455
27456 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
27457 ``.o''.
27458
27459 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
27460 (pupa_linux_tmp_addr): Likewise.
27461 (pupa_linux_real_addr): Likewise.
27462 (pupa_linux_boot_zimage): Likewise.
27463 (pupa_linux_boot_bzimage): Likewise.
27464
27465 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
27466 (pupa_upper_mem): Likewise.
27467 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
27468 module is too dangerous.
27469
27470 * include/pupa/loader.h (pupa_os_area_addr): Declared.
27471 (pupa_os_area_size): Likewise.
27472 (pupa_loader_set): Remove the first argument. Loader doesn't
27473 manage modules or initrd any longer.
27474 (pupa_loader_load_module): Removed.
27475
27476 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
27477 (linux_mod_SOURCES): New variable.
27478 (linux_mod_CFLAGS): Likewise.
27479
27480 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
27481
27482 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
27483 the length of a blocklist correctly.
27484
27485 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
27486 Use ioctl only if the OS file is a block device.
27487 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
27488 not very useful for normal files.
27489
27490 * kern/main.c (pupa_set_root_dev): New function.
27491 (pupa_load_normal_mode): Likewise.
27492 (pupa_main): Call those above.
27493
27494 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
27495 pupa_uint16_t.
27496
27497 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
27498
27499 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
27500
27501 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
27502 (setup): Configure the installed partition information and the
27503 dl prefix.
27504
27505 * loader/i386/pc/chainloader.c (my_mod): New variable.
27506 (pupa_chainloader_unload): New function.
27507 (pupa_rescue_cmd_chainloader): Refer itself.
27508 (PUPA_MOD_INIT): Save its own module in MY_MOD.
27509
27510 * kern/i386/pc/startup.S (install_partition): Removed.
27511 (version_string): Likewise.
27512 (config_file): Likewise.
27513 (pupa_install_dos_part): New variable.
27514 (pupa_install_bsd_part): Likewise.
27515 (pupa_prefix): Likewise.
27516 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
27517
27518 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
27519 and pupa/misc.h.
27520 (make_install_device): New function.
27521 (pupa_machine_init): Set the dl prefix.
27522
27523 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
27524 (buf): Renamed to ...
27525 (linebuf): ... this.
27526 (pupa_rescue_cmd_prefix): New function.
27527 (pupa_rescue_cmd_insmod): Likewise.
27528 (pupa_rescue_cmd_rmmod): Likewise.
27529 (pupa_rescue_cmd_lsmod): Likewise.
27530 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
27531 rmmod and lsmod.
27532
27533 * kern/mm.c (pupa_memalign): If failed even after invalidating
27534 disk caches, unload unneeded modules and retry.
27535
27536 * kern/misc.c (pupa_memmove): New function.
27537 (pupa_memcpy): Removed.
27538 (pupa_strcpy): New function.
27539 (pupa_itoa): Made static.
27540
27541 * kern/dl.c (pupa_dl_iterate): New function.
27542 (pupa_dl_ref): Likewise.
27543 (pupa_dl_unref): Likewise.
27544 (pupa_dl_unload): Return if succeeded or not.
27545 (pupa_dl_unload_unneeded): New function.
27546 (pupa_dl_unload_all): Likewise.
27547 (pupa_dl_init): Renamed to ...
27548 (pupa_dl_set_prefix): ... this.
27549 (pupa_dl_get_prefix): New function.
27550
27551 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
27552 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
27553 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
27554 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
27555 (pupa_install_dos_part): Declared.
27556 (pupa_install_bsd_part): Likewise.
27557 (pupa_prefix): Likewise.
27558 (pupa_boot_drive): Likewise.
27559
27560 * include/pupa/types.h: Fix a typo.
27561
27562 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
27563 pupa_memmove.
27564 (pupa_memmove): Declared.
27565 (pupa_strcpy): Likewise.
27566
27567 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
27568 pupa_mod_init takes one argument, its own module.
27569 (pupa_dl_unload_unneeded): Declared.
27570 (pupa_dl_unload_all): Likewise.
27571 (pupa_dl_ref): Likewise.
27572 (pupa_dl_unref): Likewise.
27573 (pupa_dl_iterate): Likewise.
27574 (pupa_dl_init): Renamed to ...
27575 (pupa_dl_set_prefix): ... this.
27576 (pupa_dl_get_prefix): Declared.
27577
27578 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
27579 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
27580 unloaded.
27581 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
27582 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
27583
27584 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
27585 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
27586
27587 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
27588
27589 * util/i386/pc/pupa-setup.c (setup): Define the internal
27590 function find_first_partition_start at the top level, because GCC
27591 3.0.x cannot compile internal functions in deeper scopes
27592 correctly.
27593 (find_root_device): Use lstat instead of stat.
27594 Don't follow symbolic links.
27595 Fix the path-constructing code.
27596
27597 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
27598 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
27599 by a BLKGETSIZE ioctl first, because block devices don't fill
27600 the member st_mode of the structure stat on Linux.
27601 [__linux__] (linux_find_partition): Use a temporary buffer
27602 REAL_DEV for the working space. Copy it to DEV before returning.
27603 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
27604 buffer cache consistent.
27605 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
27606 strncmp. The previous value was merely wrong.
27607 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
27608
27609 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
27610 FAT size is 12. The previous value was merely wrong.
27611
27612 * kern/main.c (pupa_main): Don't split the starting message from
27613 newlines.
27614
27615 * kern/term.c (pupa_putchar): Put CR after LF instead of before
27616 LF, because BIOS goes crazy about character attributes in this
27617 case.
27618
27619 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
27620
27621 * include/i386/pc/util/biosdisk.h: New file.
27622 * util/i386/pc/biosdisk.c: Likewise.
27623 * util/i386/pc/pupa-setup.c: Likewise.
27624
27625 * Makefile.in (INCLUDE_DISTFILES): Added
27626 include/pupa/i386/pc/util/biosdisk.h.
27627 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
27628 directory util/i386/pc.
27629 (install-local): Added a rule for sbin_UTILITIES.
27630 (uninstall): Likewise.
27631
27632 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
27633
27634 * util/misc.c (xrealloc): New function.
27635 (pupa_malloc): Likewise.
27636 (pupa_free): Likewise.
27637 (pupa_realloc): Likewise.
27638 (pupa_stop): Likewise.
27639 (pupa_putchar): Likewise.
27640
27641 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
27642
27643 * include/pupa/util/misc.h (xrealloc): Declared.
27644
27645 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
27646 macro.
27647 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
27648 (PUPA_BOOT_MACHINE_BPB_END): ... this.
27649
27650 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
27651 [PUPA_UTIL] (pupa_fat_fini): Likewise.
27652
27653 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
27654 way should be implemented.
27655 [PUPA_UTIL] (pupa_fat_fini): Likewise.
27656
27657 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
27658 the size of NAME for safety.
27659 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
27660 0x88.
27661
27662 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
27663 (pupa_setup_SOURCES): Likewise.
27664
27665 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
27666
27667 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
27668
27669 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
27670 bunch of pushl's from pusha, because this destroys the return
27671 value.
27672
27673 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
27674
27675 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
27676 This means that any missing prototypes could be fatal. Also, you
27677 must take care when writing assembly code. See the comments at
27678 the beginning of startup.S, for more details.
27679
27680 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
27681 compilation mechanism.
27682 (pupa_chainloader_real_boot): Likewise.
27683 (pupa_biosdisk_rw_int13_extensions): Likewise.
27684 (pupa_biosdisk_rw_standard): Likewise.
27685 (pupa_biosdisk_check_int13_extensions): Likewise.
27686 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
27687 (pupa_biosdisk_get_diskinfo_standard): Likewise.
27688 (pupa_get_memsize): Likewise.
27689 (pupa_get_mmap_entry): Likewise.
27690 (pupa_console_putchar): Likewise.
27691 (pupa_console_setcursor): Likewise.
27692 (pupa_getrtsecs): Use pushl instead of push.
27693
27694 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
27695 memory instead of the stack for a mmap entry, because some
27696 BIOSes may ignore the maximum size and overflow.
27697
27698 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
27699
27700 * genmk.rb (PModule#rule): Compile automatically generated
27701 sources with module-specific CFLAGS as well as other sources.
27702
27703 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
27704
27705 * configure.ac: Check ld.
27706 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
27707 respectively, before checking endianness and sizes.
27708
27709 * Makefile.in (LD): New variable.
27710
27711 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
27712
27713 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
27714
27715 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
27716
27717 * Changelog: New file.
27718