]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* include/grub/crypto.h (GRUB_MD_CRC32): New definition.
[grub2.git] / ChangeLog
CommitLineData
b81e40a3
SJ
12010-09-05 Szymon Janc <szymon@janc.net.pl>
2
3 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
4
fc2ef117
VS
52010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
8 Made static.
9 (grub_gzfile_open): Removed. All users updated.
10 (GRUB_MOD_INIT): New function.
11 (GRUB_MOD_FINI): Likewise.
12 * grub-core/kern/file.c (grub_file_filters_all): New variable.
13 (grub_file_filters_enabled): Likewise.
14 (grub_file_open): Handle filters.
15 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
16 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
17 * include/grub/file.h (grub_file_filter_id_t): New type.
18 (grub_file_filter_t): Likewise.
19 (grub_file_filters_all): New extern variable.
20 (grub_file_filters_enabled): Likewise.
21 (grub_file_filter_register): New inline function.
22 (grub_file_filter_unregister): Likewise.
23 (grub_file_filter_disable): Likewise.
24 (grub_file_filter_disable_compression): Likewise.
25 * include/grub/gzio.h: Removed.
26
35ee15e0
BC
272010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
28
29 Filename expansion support for wildcards in GRUB script.
30
31 * tests/grub_script_expansion.in: New test.
32 * Makefile.util.def: Rule for new test.
33
34 * grub-core/commands/wildcard.c: New file, implements filename
35 expansion support for GRUB script.
36 * grub-core/Makefile.core.def: Rule update for regexp.mod.
37 * grub-core/script/argv.c: Cosmetic changes.
38 * grub-core/script/execute.c (grub_script_arglist_to_argv):
39 Refactored to perform wildcard expansion on arguments.
40 * include/grub/script_sh.h (grub_script_wildcard_translator): New
41 struct.
42
43 * tests/util/grub-shell.in: Fix quoting for read input.
44
5f0c4aca
BC
452010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
46
47 Support for updating environment variables with matched substrings
48 of regexp.
49
50 * tests/grub_cmd_regexp.in: New test.
51 * Makefile.util.def: Rule for new test.
52
53 * grub-core/commands/regexp.c: New option -s to update environment
54 variables with regexp matches.
55
3759a35f
SJ
562010-09-04 Szymon Janc <szymon@janc.net.pl>
57
58 * include/grub/file.h (grub_file): New member not_easly_seekable.
59 (grub_file_seekable): New inline function.
60 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
61 easily seekable.
62 (grub_gzio_open): Set not_easly_seekable.
63 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
64 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
65
ed8c6dec
BC
662010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
67
68 Support for options to appear multiple times on cmdline.
69
70 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
71 * grub-core/commands/extcmd.c: Support for repeatable option.
72 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
73 repeatable option support.
74
75 Refactor menuentry into a regular command.
76
77 * grub-core/commands/menuentry.c: New file, menuentry command
78 implementation.
79 * grub-core/Makefile.core.def: Rule update for normal.mod.
80 * grub-core/normal/main.c: Moved menuentry creation to
81 grub-core/commands/menuentry.c.
82 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
83 (grub_menu_execute_entry_real): Removed.
84 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
85 function.
86 (grub_script_execute_menuentry): Removed.
87 * grub-core/script/parser.y (menuentry): Removed.
88 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
89 * grub-core/script/yylex.l (menuentry): Removed.
90 * include/grub/menu.h (grub_menu_init): New prototype.
91 (grub_menu_fini): New prototype.
92 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
93 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
94 (grub_script_execute_sourcecode): New prototype.
95
dacd0cf0
BC
962010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
97
98 "return" command for GRUB script functions.
99
100 * tests/grub_script_return.in: New test.
101 * Makefile.util.def: Rules for new test.
102
103 * grub-core/script/execute.c (grub_script_return): New function.
104 * grub-core/script/main.c: Register/unregister return commaond.
105 * include/grub/script_sh.h (grub_script_return): New prototype.
106
52e72f9d
BC
1072010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
108
109 "setparams" command to update positional parameters.
110
111 * tests/grub_script_setparams.in: New test.
112 * Makefile.util.def: Rules for new test.
113
114 * grub-core/script/argv.c (grub_script_argv_make): New function.
115 * grub-core/script/execute.c (replace_scope): New function.
116 (grub_script_setparams): New function.
117 * grub-core/script/lexer.c: Remove unused variables.
118 * grub-core/script/main.c: Register/unregister setparams command.
119 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
120 (grub_script_setparams): New prototype.
121
25b60c91
BC
1222010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
123
124 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
125 grub_free order.
126
37e7bf68
BC
1272010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
128
129 Support for passing block of commands as an argument to extcmds.
130
131 * Makefile.util.def: Rules for new test.
132 * tests/grub_script_blockarg.in: New test.
133 * grub-core/tests/test_blockarg.c: New file, block argument
134 command used in the test.
135
136 * include/grub/extcmd.h (grub_extcmd_context): New struct.
137 (grub_register_extcmd_prio): New function prototype.
138 (grub_extcmd_dispatcher): New function prototype.
139 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
140 type.
141 * include/grub/script_sh.h (struct grub_script): New members
142 `children', `next_siblings' and `refcnt' for block arguments and
143 reference counting.
144 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
145 (grub_script_arg): New member `script' for block argument.
146 (grub_script_argv): New member `script' for block argument.
147 (grub_parser_param): New member `scripts' for block argument.
148 (grub_script_mem_free): New extern function prototype.
149 (grub_script_ref): New function prototype.
150 (grub_script_unref): New function prototype.
151
152 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
153 extcmd form to support block arguments.
154 * grub-core/script/argv.c: Block arguments support.
155 * grub-core/script/execute.c: Likewise.
156 * grub-core/script/lexer.c: Likewise.
157 * grub-core/script/main.c: Likewise.
158 * grub-core/script/script.c: Likewise.
159 * grub-core/script/parser.y: Likewise. New `block' and `block0'
160 non-terminals.
161
162 * grub-core/commands/acpi.c: Update extcmd implementations with
163 grub_extcmd_context_t.
164 * grub-core/commands/cat.c: Likewise.
165 * grub-core/commands/echo.c: Likewise.
166 * grub-core/commands/extcmd.c: Likewise.
167 * grub-core/commands/hashsum.c: Likewise.
168 * grub-core/commands/hdparm.c: Likewise.
169 * grub-core/commands/help.c: Likewise.
170 * grub-core/commands/hexdump.c: Likewise.
171 * grub-core/commands/i386/cpuid.c: Likewise.
172 * grub-core/commands/i386/pc/drivemap.c: Likewise.
173 * grub-core/commands/i386/pc/halt.c: Likewise.
174 * grub-core/commands/i386/pc/sendkey.c: Likewise.
175 * grub-core/commands/iorw.c: Likewise.
176 * grub-core/commands/keystatus.c: Likewise.
177 * grub-core/commands/loadenv.c: Likewise.
178 * grub-core/commands/ls.c: Likewise.
179 * grub-core/commands/lspci.c: Likewise.
180 * grub-core/commands/memrw.c: Likewise.
181 * grub-core/commands/probe.c: Likewise.
182 * grub-core/commands/search_wrap.c: Likewise.
183 * grub-core/commands/setpci.c: Likewise.
184 * grub-core/commands/sleep.c: Likewise.
185 * grub-core/disk/loopback.c: Likewise.
186 * grub-core/hello/hello.c: Likewise.
187 * grub-core/loader/i386/bsd.c: Likewise.
188 * grub-core/loader/xnu.c: Likewise.
189 * grub-core/term/gfxterm.c: Likewise.
190 * grub-core/term/serial.c: Likewise.
191 * grub-core/tests/lib/functional_test.c: Likewise.
192
888d1500
BC
1932010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
194
195 Multi-line quoted strings support.
196
197 * grub-core/script/lexer.c (append_newline): Removed.
198 (grub_script_lexer_yywrap): Refactored.
199 (grub_script_lexer_init): Refactored.
200 * grub-core/script/yylex.l (yywrap): New function.
201 (grub_lexer_resplit): New function.
202 (grub_lexer_unput): New function.
203 * include/grub/script_sh.h (grub_lexer_param): New members, unput
204 and resplit.
205 * tests/grub_script_echo1.in: Added few more testcases.
206
dda060dd
VS
2072010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
208
209 * grub-core/kern/misc.c: Don't add abort alias in utils.
210 Reported by: echoline.
211
6556eba9
BC
2122010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
213
214 Add missing files into "make dist" tarball for other platforms.
215
216 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
217 * conf/Makefile.common (dist_noinst_DATA): New variable.
218 * conf/Makefile.extra-dist: Added missing make dist files.
219 * grub-core/Makefile.core.def: Likewise.
220
c8e7bf5f
VS
2212010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
222
223 Compress grub_prefix.
224
225 * grub-core/boot/i386/pc/lnxboot.S: Use
226 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
227 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
228 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
229 GRUB_MACHINE_PREFIX_END. All users updated.
230 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
231 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
232 + 0x40.
233 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
234 * util/grub-mkimage.c (image_target_desc): Change data_end to
235 prefix_end. All users updated.
236
a7c00cdb
VS
2372010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
238
239 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
240 value.
241 (grub_openbsd_boot): Likewise.
242 (grub_netbsd_boot): Likewise.
243 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
244 (grub_xnu_boot): Likewise.
245
9f915872
VS
2462010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * configure.ac: Clean LIBS variable after tests.
249
efa1bee7
CW
2502010-09-02 Colin Watson <cjwatson@ubuntu.com>
251
252 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
253
61d720e5
VS
2542010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
255
256 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
257 echo if libdevmapper will be used.
258
ef8e0ec8
IT
2592010-09-02 Ian Turner <Ian.Turner@deshaw.com>
260
261 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
262 constant for the same file.
263
03e261d8
VS
2642010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
267
c2a4eba6
CW
2682010-09-02 Colin Watson <cjwatson@ubuntu.com>
269
270 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
271 grub-core/*.pp.
272
9056cbf3
CW
2732010-09-02 Colin Watson <cjwatson@ubuntu.com>
274
275 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
276 required by the boot protocol.
277
278 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
279 ebp and edi members.
280 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
281 state.ebp and state.edi.
282 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
283 %ebp and %edi according to grub_relocator32_ebp and
284 grub_relocator32_edi respectively.
285 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
286 and state.edi.
287
529cc99a
VS
2882010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
289
290 Add i386-pc-pxe image target.
291
292 * util/grub-mkimage.c (image_target_desc): New enum value
293 IMAGE_I386_PC_PXE.
294 (image_targets): New target i386-pc-pxe.
295 (generate_image): Handle i386-pc-pxe image.
296
9a093920
VS
2972010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
298
299 Fix grub_pxe_scan.
300
301 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
302 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
303 All users updated.
304 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
305 (grub_pxe_pxenv): Correct type.
306
f9cefc4e
CW
3072010-09-01 Colin Watson <cjwatson@ubuntu.com>
308
309 * NEWS: Document most of the important changes since 1.98.
310
4066f57f
CW
3112010-09-01 Colin Watson <cjwatson@ubuntu.com>
312
313 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
314 generated manual page) a little.
315
da2891f9
CW
3162010-09-01 Colin Watson <cjwatson@ubuntu.com>
317
318 * docs/grub.texi: Add myself as an author.
319
ad717fae
VS
3202010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * Makefile.util.def (libgrub.a): Add missing sunpc.
323 Reported by: Seth Goldberg.
324
eefe8abd
VS
3252010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
326
327 Interrupt wrapping and code simplifications.
328
9494ef9a
VS
329 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
330 x86_noieee1275 which are functionaly equivalent in this case.
331 (grub-install): Make source on each platform explicit. Enable on
332 all noemu.
333 * gentpl.py (x86_efi_pc): Removed group.
334 (x86_noefi): Likewise.
335 (i386_noefi): Likewise.
336 (x86_noieee1275): Likewise.
337 (i386_noieee1275): Likewise.
338 (i386_noefi_noieee1275): Likewise.
339 (i386_pc_qemu_coreboot): Likewise.
340 (i386_coreboot_multiboot): Likewise.
341 (i386_pc_coreboot_multiboot_qemu): Likewise.
342 (x86_noefi_mips): Likewise.
343 (noieee1275): Likewise.
344 (ieee1275_mips): Likewise.
345 (noemu_noieee1275): Likewise.
346 (cmos): New group.
347 (usb): Likewise.
348 (videoinkernel): Likewise.
349 (videomodules): Likewise.
eefe8abd 350 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
351 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
352 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
353 include/grub/loader.h, include/grub/msdos_partition.h,
354 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
355 include/grub/machine/console.h, include/grub/machine/vga.h,
356 include/grub/machine/vbe.h, include/grub/machine/init.h,
357 include/grub/machine/kernel.h, include/grub/cpu/time.h,
358 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 359 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
360 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
361 * grub-core/Makefile.core.def (kernel): Explicit the source for
362 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
363 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
364 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
365 Use videoinkernel tag.
366 (usb): Enable on all usb.
367 (usbserial_common): Likewise.
368 (usbserial_pl2303): Likewise.
369 (usbserial_ftdi): Likewise.
370 (uhci): Enable on all x86.
371 (ohci): Enable on all pci.
372 (cmostest): Enable on all CMOS.
373 (acpi): Include commands/acpi.c on all platforms.
374 (halt): Add relevant lib/*/halt.c.
375 (hdparm): Enable on all pci.
376 (lspci): Likewise.
377 (usbtest): Enable on all usb.
378 (ata): Enable on all pci.
379 (ata_pthru): Likewise.
380 (usbms): Enable on all usb.
381 (usb_keyboard): Likewise.
382 (font): Use tag videomodules.
383 (bufio): Likewise.
384 (datetime): Use tag cmos. Enable on all noemu.
385 (mmap): Use tags common and x86.
386 (gfxterm): Use tag videomodules.
387 (bitmap): Likewise.
388 (bitmap_scale): Likewise.
389 (video_fb): Likewise.
390 (video): Likewise.
391 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
392 adjust padding accordingly. All users updated.
393 (grub_ohci_transaction): Fix bad format specification.
394 (GRUB_MOD_INIT): Add asserts for struct size.
395 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
396 (grub_alloc_td): Likewise.
397 (grub_free_queue): Likewise.
398 (grub_uhci_transfer): Likewise.
399 (grub_uhci_transaction): Fix bad format specification.
400 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
401 (grub_usb_bulk_readwrite): Likewise.
402 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
403 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
404 Made static.
405 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
406 Made static.
407 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
408 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
409 Transformed into C.
410 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
411 Moved from here ...
412 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
413 ... here. Transformed into C. Made static.
414 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
415 Moved from here ...
416 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
417 ... here. Transformed into C. Made static.
418 * grub-core/kern/i386/pc/startup.S
419 (grub_biosdisk_check_int13_extensions): Moved from here ...
420 * grub-core/disk/i386/pc/biosdisk.c
421 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
422 Made static.
423 * grub-core/kern/i386/pc/startup.S
424 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
425 * grub-core/disk/i386/pc/biosdisk.c
426 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
427 Transformed into C. Made static.
428 * grub-core/kern/i386/pc/startup.S
429 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
430 * grub-core/disk/i386/pc/biosdisk.c
431 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
432 Transformed into C. Made static.
433 * grub-core/kern/i386/pc/startup.S
434 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
435 * grub-core/disk/i386/pc/biosdisk.c
436 (grub_biosdisk_get_diskinfo_standard): ... here.
437 Transformed into C. Made static.
438 * grub-core/kern/i386/pc/startup.S
439 (grub_biosdisk_get_num_floppies): Moved from here ...
440 * grub-core/disk/i386/pc/biosdisk.c
441 (grub_biosdisk_get_num_floppies): ... here.
442 Transformed into C. Made static.
443 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
444 New function.
445 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
446 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
447 Transformed into C. Made static.
448 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
449 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
450 Transformed into C. Made static.
451 * grub-core/kern/i386/ieee1275/init.c: Removed.
452 * grub-core/kern/i386/misc.S: Likewise.
453 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
454 Splitted from here ...
455 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
456 Transformed into C. Made static. All users updated.
457 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
458 Transformed into C. Made static. All users updated.
459 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
460 Moved from here...
461 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
462 Transformed into C. Made static. All users updated.
463 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
464 Moved from here...
465 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
466 Transformed into C. Made static. All users updated.
467 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
468 Removed (replaced by C version).
469 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
470 Moved from here...
471 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
472 Transformed into C. Made static.
473 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
474 Moved from here...
475 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
476 ... here. Transformed into C.
477 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
478 Moved from here...
479 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
480 ... here. Transformed into C.
481 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
482 Moved from here...
483 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
484 ... here. Transformed into C. Made static.
485 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
486 Moved from here...
487 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
488 ... here. Transformed into C.
21ed554b
VS
489 * grub-core/kern/i386/pc/startup.S
490 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
491 * grub-core/video/i386/pc/vbe.c
492 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
493 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
494 Moved from here...
495 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
496 ... here. Transformed into C.
497 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
498 Moved from here...
499 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
500 ... here. Transformed into C.
501 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
502 Moved from here...
503 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
504 ... here. Transformed into C.
505 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
506 Moved from here...
507 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
508 ... here. Transformed into C.
509 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
510 Moved from here...
511 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
512 ... here. Transformed into C. Made static.
513 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
514 Moved from here...
515 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
516 ... here. Transformed into C. Made static.
517 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
518 Moved from here...
519 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
520 ... here. Transformed into C. Made static.
521 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
522 pxe_rm_entry as third argument.
523 (grub_bios_interrupt): New function.
524 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
525 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
526 of calling grub_stop.
527 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
528 * grub-core/lib/efi/halt.c (grub_halt): ...here.
529 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
530 * grub-core/lib/emu/halt.c (grub_halt): ... here.
531 * grub-core/lib/i386/halt.c: Moved from here ...
532 * grub-core/lib/i386/halt.c: ... here.
533 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
534 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
535 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
536 grub_stop_floppy.
537 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
538 * include/grub/i386/coreboot/init.h: Removed.
539 * include/grub/i386/multiboot/init.h: Likewise.
540 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
541 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
542 * include/grub/i386/pc/int.h: New file.
543 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
544 (grub_pxe_scan): Removed.
545 (grub_pxe_call): Update prototype.
546 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
547 prototypes.
548 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
549 * include/grub/i386/qemu/init.h: Removed.
550 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
551 noreturn.
552 (grub_halt): Likewise.
553 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
554 (grub_reboot): Likewise.
555 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
556 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
557 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
558
215dd471
RM
5592010-08-30 Robert Millan <rmh@gnu.org>
560
561 * NEWS: Document addition of ZFS support in `grub-install' and
562 `grub-mkconfig'.
563
ebd65b82
BC
5642010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
565
566 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
567 dprintf output.
568
11721d19
VS
5692010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
570
571 Remove leftover embedding of font objects.
572
573 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
574 * util/grub-install.in (font): Removed.
575 * util/grub-mkimage.c (generate_image): Remove font support. All users
576 updated.
577
b4c1aae0
VS
5782010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
579
580 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 581 Reported by: Ian Turner
b4c1aae0 582
8920a08d
VS
5832010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
584
585 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
586 timeout to avoid indefinite boot stalling.
587
f21db033
VS
5882010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
589
590 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
591 (grub_env_write_color_highlight): Likewise.
592
9a9de209
VS
5932010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
594
595 * grub-core/normal/term.c (print_more): Return to normal and not
596 to standard state after printing "---MORE---".
597
3dca01d7
VS
5982010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
601 Mask out the bit 0x80 since it has other meaning that specifiing color.
602
0b986c40
VS
6032010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
604
605 New relocator. Allows for more kernel support and more straightforward
606 loader writing.
607
608 * Makefile.am (BOOTTARGET): New variable.
609 (QEMU32): Likewise.
610 (linux.init.x86_64): New target.
611 (linux.init.i386): Likewise.
612 (multiboot.elf): Likewise.
613 (kfreebsd.elf): Likewise.
614 (kfreebsd.aout): Likewise.
615 (pc-chainloader.elf): Likewise.
616 (pc-chainloader.bin): Likewise.
617 (ntldr.elf): Likewise.
618 (ntldr.bin): Likewise.
619 (multiboot2.elf): Likewise.
620 (kfreebsd.init.x86_64): Likewise.
621 (kfreebsd.init.i386): Likewise.
622 (knetbsd.init.i386): Likewise.
623 (kopenbsd.init.i386): Likewise.
624 (knetbsd.init.x86_64): Likewise.
625 (kopenbsd.init.x86_64): Likewise.
626 (linux-initramfs.i386): Likewise.
627 (linux-initramfs.x86_64): Likewise.
628 (kfreebsd-mfsroot.i386.img): Likewise.
629 (knetbsd.image.i386): Likewise.
630 (kopenbsd.image.i386): Likewise.
631 (kopenbsd.image.x86_64): Likewise.
632 (knetbsd.miniroot-image.i386.img): Likewise.
633 (kfreebsd-mfsroot.x86_64.img): Likewise.
634 (knetbsd.image.x86_64): Likewise.
635 (knetbsd.miniroot-image.x86_64.img): Likewise.
636 (kfreebsd-mfsroot.i386.gz): Likewise.
637 (bootcheck-kfreebsd-i386): Likewise.
638 (kfreebsd-mfsroot.x86_64.gz): Likewise.
639 (bootcheck-kfreebsd-x86_64): Likewise.
640 (knetbsd.miniroot-image.i386.gz): Likewise.
641 (bootcheck-knetbsd-i386): Likewise.
642 (bootcheck-kopenbsd-i386): Likewise.
643 (bootcheck-kopenbsd-x86_64): Likewise.
644 (knetbsd.miniroot-image.x86_64.gz): Likewise.
645 (bootcheck-knetbsd-x86_64): Likewise.
646 (bootcheck-linux-i386): Likewise.
647 (bootcheck-linux-x86_64): Likewise.
648 (bootcheck-linux16-i386): Likewise.
649 (bootcheck-linux16-x86_64): Likewise.
650 (bootcheck-multiboot): Likewise.
651 (bootcheck-multiboot2): Likewise.
652 (bootcheck-kfreebsd-aout): Likewise.
653 (bootcheck-pc-chainloader): Likewise.
654 (bootcheck-ntldr): Likewise.
655 (CLEANFILES): Add new targets.
656 (BOOTCHECKS): New variable.
657 (.PHONY): Add bootchecks.
658 (SUCCESSFUL_BOOT_STRING): New variable.
659 (BOOTCHECK_TIMEOUT): Likewise.
660 (bootcheck): New target
661 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
662 * configure.ac: Correct efiemu excuse.
663 * docs/grub.texi (Supported kernels): New chapter.
664 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
665 include/grub/mm_private.h. Simplify inclusion of
666 include/grub/boot.h, include/grub/loader.h
667 and include/grub/msdos_partition.h
668 (KERNEL_HEADER_FILES) [i386_coreboot]:
669 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
670 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
671 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
672 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
673 include/grub/machine/loader.h.
674 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
675 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
676 extra_dist.
677 (pci.mod): Enable on i386-multiboot.
678 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
679 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
680 i386-qemu.
681 (relocator.mod): Rewritten.
682 (aout.mod): Enable on all x86.
683 (bsd.mod): Likewise.
684 (ntldr.mod): New module.
685 (linux.mod): Use loader/i386/linux.c on all x86.
686 (xnu.mod): Enable on all x86.
687 (vga_text.mod): disable on EFI and QEMU.
688 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
689 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
690 * grub-core/efiemu/loadcore.c: Likewise.
691 * grub-core/efiemu/main.c: Likewise.
692 (grub_efiemu_exit_boot_services): Removed.
693 (grub_efiemu_finish_boot_services): Likewise.
694 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
695 function.
696 * grub-core/efiemu/i386/nocfgtables.c: New file.
697 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
698 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
699 (grub_efi_finish_boot_services): Moved from here ...
700 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
701 Fille finish memory map and related data.
702 (finish_mmap_buf): New variable.
703 (grub_efi_uintn_t finish_mmap_size): Likewise.
704 (grub_efi_uintn_t finish_key): Likewise.
705 (grub_efi_uintn_t finish_desc_size): Likewise.
706 (grub_efi_uint32_t finish_desc_version): Likewise.
707 (grub_efi_is_finished): Likewise.
708 (grub_efi_get_memory_map): Use saved memory map if EFI is already
709 finished.
710 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
711 (grub_elf64_phdr_iterate): Likewise.
712 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
713 (grub_os_area_size): Likewise.
714 (grub_machine_init): Don't reserve os area.
715 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
716 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
717 * grub-core/kern/i386/loader.S: Removed.
718 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
719 (grub_os_area_size): Likewise.
720 (grub_machine_init): Don't reserve os area.
721 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
722 Don't call grub_dl_unload_all.
723 Don't include loader.S.
724 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
725 Declare the memory after _end as available.
726 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 727 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 728 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
729 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
730 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
731 * include/grub/mm_private.h (grub_mm_header): ... here.
732 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
733 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
734 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
735 (grub_mm_region): ..here. Removed addr. Added pre_size.
736 All users updated.
737 * grub-core/kern/mm.c (base): Renamed to ...
738 (grub_mm_base): ... this. Made global.
739 (grub_real_malloc): Alloc from end of region.
740 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
741 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
742 * grub-core/kern/powerpc/cache_flush.S: ... here.
743 * grub-core/lib/efi/relocator.c: New file.
744 * grub-core/lib/i386/relocator.c: Rewritten.
745 * grub-core/lib/i386/relocator16.S: New file.
746 * grub-core/lib/i386/relocator32.S: Likewise.
747 * grub-core/lib/i386/relocator64.S: Likewise.
748 * grub-core/lib/i386/relocator_asm.S: Rewritten.
749 * grub-core/lib/i386/relocator_common.S: New file.
750 * grub-core/lib/ieee1275/relocator.c: Likewise.
751 * grub-core/lib/mips/relocator.c: Rewritten.
752 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
753 stylistic adjustments.
754 * grub-core/lib/powerpc/relocator.c: New file.
755 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
756 * grub-core/lib/relocator.c: Rewritten.
757 * grub-core/lib/x86_64/relocator_asm.S: New file.
758 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
759 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
760 (bsd_tag): New struct.
761 (tags): New variable.
762 (tags_last): Likewise.
763 (netbsd_module): New struct.
764 (netbsd_mods): New variable.
765 (netbsd_mods_last): Likewise.
766 (openbsd_opts): New parameter "serial".
767 (OPENBSD_SERIAL_ARG): New definition.
768 (netbsd_opts): New parameter "serial".
769 (NETBSD_SERIAL_ARG): New definition.
770 (grub_freebsd_add_meta): Reorganised into ...
771 (grub_bsd_add_meta): ...this. All users updated.
772 (grub_freebsd_add_mmap): Reorganised into ...
773 (generate_e820_mmap): ...this...
774 (grub_bsd_add_mmap): ...and this. All users updated.
775 (grub_freebsd_list_modules): Use tags.
776 (grub_netbsd_add_meta_module): New function.
777 (grub_netbsd_list_modules): Likewise.
778 (grub_freebsd_boot): Use relocator and finish EFI.
779 (grub_openbsd_boot): Likewise.
780 (grub_netbsd_setup_video): New function.
781 (grub_netbsd_add_modules): Likewise.
782 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
783 and finish EFI.
784 (grub_bsd_unload): Unload tags.
785 (grub_bsd_load_aout): Use relocator.
786 (grub_bsd_elf32_size_hook): New function.
787 (grub_bsd_elf32_hook): Use relocator.
788 (grub_bsd_elf64_size_hook): New function.
789 (grub_bsd_elf64_hook): Use relocator.
790 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
791 (grub_bsd_load): Zero-out openbsd_ramdisk.
792 (grub_bsd_load): Use relocator.
793 (grub_cmd_openbsd): Support serial.
794 (grub_cmd_netbsd): Support modules.
795 (grub_cmd_freebsd_module): Use relocator.
796 (grub_netbsd_module_load): New function.
797 (grub_cmd_netbsd_module): Likewise.
798 (grub_cmd_openbsd_ramdisk): Likewise.
799 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
800 kopenbsd_ramdisk.
801 (GRUB_MOD_FINI): Unregister new commands.
802 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
803 (grub_freebsd_load_elfmodule_obj): Use relocator.
804 (grub_freebsd_load_elfmodule): Likewise.
805 (grub_freebsd_load_elf_meta): Likewise.
806 (grub_netbsd_load_elf_meta): New function.
807 (grub_openbsd_find_ramdisk): Likewise.
808 * grub-core/loader/i386/bsd_helper.S: Removed.
809 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
810 * grub-core/loader/i386/bsd_trampoline.S: Removed.
811 * grub-core/loader/i386/efi/linux.c: Likewise.
812 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
813 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
814 (DEFAULT_VIDEO_MODE): Likewise.
815 (real_mode_target): New variable.
816 (prot_mode_target): Likewise.
817 (initrd_mem_target): Likewise.
818 (relocator): Likewise.
819 (efi_mmap_buf): Likewise.
820 (efi_mmap_size): Likewise.
821 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
822 (free_pages): Use relocator.
823 (allocate_pages): Account for efi_mmap and use relocator. Return error.
824 (grub_linux_setup_video): Return error.
825 (grub_linux_trampoline_start): Removed.
826 (grub_linux_trampoline_end): Likewise.
827 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
828 andd video parameters depending on firmware.
829 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
830 [GRUB_MACHINE_EFI]: Pass EFI parameters.
831 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
832 (grub_cmd_initrd): Use relocator.
833 * grub-core/loader/i386/linux_trampoline.S: Removed.
834 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
835 (elf_sec_entsize): Likewise.
836 (elf_sec_shstrndx): Likewise.
837 (elf_sections): Likewise.
838 (grub_multiboot_load): Use relocator.
839 (grub_multiboot_get_mbi_size): Account for sections.
840 (grub_multiboot_make_mbi): Use relocator and support sections.
841 (grub_multiboot_add_elfsyms): New function.
842 (grub_multiboot_free_mbi): Free sections.
843 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
844 (grub_linux_real_target): Likewise.
845 (grub_linux_real_chunk): Likewise.
846 (grub_linux16_prot_size): Likewise.
847 (grub_linux16_boot): Use relocator.
848 (grub_linux_unload): Unload relocator.
849 (grub_cmd_linux): Use relocator.
850 (grub_cmd_initrd): Likewise.
851 * grub-core/loader/i386/pc/ntldr.c: New file.
852 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
853 Don't try to guess CPU frequency.
854 (grub_xnu_set_video): Stretch bitmap.
855 (grub_xnu_boot): Use relocator.
856 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
857 (grub_linux_unload): Free relocator.
858 (grub_linux_load32): Use relocator.
859 (grub_linux_load64): Likewise.
860 (grub_cmd_initrd): Likewise.
861 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
862 (grub_multiboot_unload): Unload relocator.
863 (grub_cmd_multiboot): Use relocator.
864 (grub_cmd_module): Likewise.
865 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
866 Use relocator and support sections.
867 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
868 (elf_sec_entsize): Likewise.
869 (elf_sec_shstrndx): Likewise.
870 (elf_sections): Likewise.
871 (grub_multiboot_load): Use relocator.
872 (grub_multiboot_get_mbi_size): Account for sections.
873 (grub_multiboot_make_mbi): Use relocator and support sections.
874 (grub_multiboot_add_elfsyms): New function.
875 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
876 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
877 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
878 Prototype changed. All users updated.
879 (grub_xnu_align_heap): Simplified.
880 (grub_xnu_writetree_toheap): Likewise.
881 (grub_xnu_unload): Unload relocator.
882 (grub_cmd_xnu_kernel): Use relocator.
883 (grub_cmd_xnu_kernel64): Likewise.
884 (grub_xnu_register_memory): Simplified.
885 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
886 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
887 EFI is finished.
888 (grub_console_checkkey): Likewise.
889 (grub_console_getkey): Likewise.
890 (grub_console_getwh): Likewise.
891 (grub_console_getxy): Likewise.
892 (grub_console_gotoxy): Likewise.
893 (grub_console_cls): Likewise.
894 (grub_console_setcolorstate): Likewise.
895 (grub_console_setcursor): Likewise.
896 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
897 * grub-core/tests/boot/kbsd.init-i386.S: New file.
898 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
899 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
900 * grub-core/tests/boot/kernel-8086.S: Likewise.
901 * grub-core/tests/boot/kernel-i386.S: Likewise.
902 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
903 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
904 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
905 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
906 * grub-core/tests/boot/knetbsd.cfg: Likewise.
907 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
908 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
909 * grub-core/tests/boot/linux.cfg: Likewise.
910 * grub-core/tests/boot/linux.init-i386.S: Likewise.
911 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
912 * grub-core/tests/boot/linux16.cfg: Likewise.
913 * grub-core/tests/boot/multiboot.cfg: Likewise.
914 * grub-core/tests/boot/multiboot2.cfg: Likewise.
915 * grub-core/tests/boot/ntldr.cfg: Likewise.
916 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
917 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
918 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
919 New definition.
920 * include/grub/dl.h (grub_dl_unload_all): Removed.
921 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
922 (grub_efi_finish_boot_services): Change prototype.
923 (grub_efi_is_finished): New variable.
924 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
925 Changed prototype.
926 (grub_efiemu_finish_boot_services): Removed.
927 (grub_machine_efiemu_init_tables): New prototype.
928 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
929 (grub_elf64_phdr_iterate): Likewise.
930 * include/grub/i386/bsd.h: Include relocator.h.
931 (freebsd_tag_header): New struct.
932 (grub_openbsd_bios_mmap): Removed.
933 (grub_unix_real_boot): Removed.
934 (grub_freebsd_load_elfmodule32): Changed prototype.
935 (grub_freebsd_load_elfmodule_obj64): Likewise.
936 (grub_freebsd_load_elf_meta32): Likewise.
937 (grub_freebsd_load_elf_meta64): Likewise.
938 (grub_freebsd_add_meta): Removed.
939 (grub_netbsd_load_elf_meta32): New prototype.
940 (grub_netbsd_load_elf_meta64): Likewise.
941 (grub_bsd_add_meta): Likewise.
942 (grub_openbsd_ramdisk_descriptor): New struct.
943 (grub_openbsd_find_ramdisk32): New prototype.
944 (grub_openbsd_find_ramdisk64): Likewise.
945 * include/grub/i386/coreboot/loader.h: Removed.
946 * include/grub/i386/efi/loader.h: Likewise.
947 * include/grub/i386/ieee1275/loader.h: Likewise.
948 * include/grub/i386/linux.h (linux_kernel_header): Change void *
949 to grub_uint32_t.
950 * include/grub/i386/loader.h: Removed.
951 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
952 value.
953 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
954 (grub_phys_addr_t): New type.
955 (grub_vtop): New inline function.
956 (grub_map_memory): Likewise.
957 (grub_unmap_memory): Likewise.
958 * include/grub/i386/multiboot/loader.h: Removed.
959 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
960 (NETBSD_BTINFO_CONSOLE): New definition.
961 (NETBSD_BTINFO_SYMTAB): Likewise.
962 (NETBSD_BTINFO_MODULES): Likewise.
963 (NETBSD_BTINFO_FRAMEBUF): Likewise.
964 (grub_netbsd_bootinfo): New struct.
965 (grub_netbsd_btinfo_common): Use explicit bitsize.
966 (grub_netbsd_btinfo_mmap_entry): Removed.
967 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
968 (grub_netbsd_btinfo_bootdisk): New struct.
969 (grub_netbsd_btinfo_symtab): Likewise.
970 (grub_netbsd_btinfo_serial): Likewise.
971 (grub_netbsd_btinfo_modules): Likewise.
972 (grub_netbsd_btinfo_framebuf): Likewise.
973 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
974 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
975 Likewise.
976 (grub_openbsd_bootargs): Use explicit bitsize.
977 (grub_openbsd_bootarg_console): New struct.
978 (GRUB_OPENBSD_COM_MAJOR): New definition.
979 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
980 * include/grub/i386/pc/efiemu.h: Removed.
981 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
982 * include/grub/i386/qemu/loader.h: Removed.
983 * include/grub/i386/relocator.h: Rewritten.
984 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
985 * include/grub/mips/memory.h: New file.
986 * include/grub/mips/multiboot.h: Rewritten.
987 * include/grub/mips/relocator.h: Rewritten.
988 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
989 (grub_vtop): New function.
990 (grub_map_memory): Likewise.
991 (grub_unmap_memory): Likewise.
992 * include/grub/misc.h (ALIGN_DOWN): New definition.
993 * include/grub/mm.h (grub_mm_check_real): New proto.
994 (GRUB_MM_CHECK): New definition.
995 * include/grub/mm_private.h: New file.
996 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
997 (grub_multiboot_get_mbi_size): Removed.
998 (grub_multiboot_make_mbi): Change prottype.
999 (grub_multiboot_set_accepts_video): New proto.
1000 (grub_multiboot_add_elfsyms): Likewise.
1001 (grub_multiboot_payload_eip): New variable.
1002 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
1003 New prototype.
1004 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
1005 New definition.
1006 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
1007 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
1008 * include/grub/powerpc/ieee1275/loader.h: Removed.
1009 * include/grub/powerpc/memory.h: New file.
1010 * include/grub/powerpc/relocator.h: Likewise.
1011 * include/grub/relocator.h: Likewise.
1012 * include/grub/relocator_private.h: Likewise.
1013 * include/grub/sparc64/ieee1275/loader.h: Removed.
1014 * include/grub/x86_64/memory.h: New file.
1015 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
1016 (grub_xnu_heap_malloc): Likewise.
1017 (grub_xnu_heap_real_start): Removed.
1018 (grub_xnu_heap_start): Likewise.
1019 (grub_xnu_relocator): New variable.
1020 (grub_xnu_heap_target_start): Likewise.
1021 * tests/util/grub-shell.in: Support non-pc.
1022 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 1023
5303b85d
VS
10242010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1025
1026 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
1027 on malloc error.
1028 (grub_bidi_logical_to_visual): Check that malloc succeded.
1029 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
1030 puts.
1031 (grub_xputs_normal): Likewise.
1032
d768d159
VS
10332010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
1036 extra_dist.
1037
10382010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 * grub-core/efiemu/runtime/efiemu.sh: Removed.
1041
5bf84df4
VS
10422010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
1045
3626810e
VS
10462010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
1049 dprintf.
1050
a7363f53
BC
10512010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
1052
1053 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
1054
902f75f6
VS
10552010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1056
1057 * grub-core/normal/term.c (print_more): Fix a memory leak.
1058 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
1059 (grub_xputs_normal): Likewise.
1060
3c707967
VS
10612010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
1064 the begining of the string
1065
2053cc07
VS
10662010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 * grub-core/script/script.c (grub_script_parse): Free parsed on
1069 failure.
1070
46422ebf
VS
10712010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
1074 on failure.
1075
9e0fa3f6
VS
10762010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
1079 return.
1080
3393cf16
VS
10812010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
1084 (scroll_up): Fix a memory leak.
1085
b17540cb
VS
10862010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1087
1088 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
1089 errors.
1090
67140446
VS
10912010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 Handle USB pendrives exposed as floppies.
1094
1095 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
1096 floppy.
1097 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
1098 Check for partitions on all devices.
1099
e35e46fc
VS
11002010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
1103 (readkey): Likewise.
1104
d24c6190
BC
11052010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
1106
1107 Multiple variable names support to "export" command.
1108
1109 * normal/context.c (grub_cmd_export): "export" command supports
1110 multiple variable names.
1111
04ddcc6a
ST
11122010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
1113
1114 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
1115 --target=drive output to Mach device name.
1116
0c8b61d8
BC
11172010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
1118
1119 New Automake based build system for GRUB.
1120
1121 * ABOUT-NLS: New file.
1122 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
1123 in Makefile.util.def file.
1124 * Makefile.util.def: New file. Autogen build definitions file for
1125 GRUB host utils.
1126 * conf/Makefile.common: New file. Common variables for GRUB host
1127 utils and target modules.
1128 * conf/Makefile.extra-dist: New file. Extra files for make dist.
1129 * docs/Makefile.am: New file. Automake file for docs.
1130 * gentpl.py: New file. Python script to generate Autogen
1131 template.
1132 * grub-core/Makefile.am: New file. GRUB target modules' rules
1133 that doesn't fit in Makefile.core.def file.
1134 * grub-core/Makefile.core.def: New file. Autogen build
1135 definitions file for GRUB target modules.
1136 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
1137 specific setjmp.S file.
1138 * po/Makefile.am: New file.
1139
1140 * .bzrignore: New ignores.
1141 * INSTALL: New requirements, without Ruby.
1142 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
1143 * autogen.sh: Updated to invoke autogen as necessary.
1144 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
1145 and defines for Automake conditionals.
1146 * geninit.sh: Refactoring.
1147
1148 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
1149 necessary.
1150 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
1151 New prototype.
1152
1153 * include/grub/test.h: Fix functional test modules' naming.
1154 * grub-core/tests/example_functional_test.c: Fix test module name.
1155
1156 * util/misc.c: Hosted versions' of grub functions for libgrub.a
1157 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
1158 * util/grub-editenv.c: Likewise.
1159 * util/grub-fstest.c: Likewise.
1160 * util/grub-mkdevicemap.c: Likewise.
1161 * util/grub-mkfont.c: Likewise.
1162 * util/grub-mkimage.c: Likewise.
1163 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1164 * util/grub-probe.c: Likewise.
1165 * util/grub-script-check.c: Likewise.
1166 * util/i386/pc/grub-setup.c: Likewise.
1167 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1168
1169 * tests/util/grub-shell.in: Fix override directory path.
1170 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
1171 * util/import_gcry.py: Create Makefile.gcry.def file instead.
1172
1173 * util/lvm.c: Update #includes.
1174 * util/raid.c: Likewise.
1175 * util/resolve.c: Likewise.
1176 * grub-core/bus/emu/pci.c: Likewise.
1177 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
1178 * grub-core/lib/posix_wrap/string.h: Likewise.
1179 * grub-core/kern/emu/main.c: Likewise.
1180
1181 * grub-core/gensymlist.sh: New file. Script for generating kernel
1182 symbols file.
1183 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
1184
1185 * grub-core/gentrigtables.c: Fix unused variable warnings.
1186
1187 * Makefile.in: Removed.
1188 * conf/any-emu.rmk: Removed.
1189 * conf/common.rmk: Removed.
1190 * conf/i386-coreboot.rmk: Removed.
1191 * conf/i386-efi.rmk: Removed.
1192 * conf/i386-ieee1275.rmk: Removed.
1193 * conf/i386-multiboot.rmk: Removed.
1194 * conf/i386-pc.rmk: Removed.
1195 * conf/i386-qemu.rmk: Removed.
1196 * conf/i386.rmk: Removed.
1197 * conf/mips-yeeloong.rmk: Removed.
1198 * conf/mips.rmk: Removed.
1199 * conf/powerpc-ieee1275.rmk: Removed.
1200 * conf/sparc64-ieee1275.rmk: Removed.
1201 * conf/tests.rmk: Removed.
1202 * conf/x86-efi.rmk: Removed.
1203 * conf/x86_64-efi.rmk: Removed.
1204 * gendistlist.sh: Removed.
1205 * geninitheader.sh: Removed.
1206 * genkernsyms.sh.in: Removed.
1207 * genmk.rb: Removed.
1208 * gensymlist.sh.in: Removed.
1209 * mkinstalldirs: Removed.
1210 * boot: Moved ...
1211 * grub-core/boot: ... to here.
1212 * bus: Moved ...
1213 * grub-core/bus: ... to here.
1214 * commands: Moved ...
1215 * grub-core/commands: ... to here.
1216 * disk: Moved ...
1217 * grub-core/disk: ... to here.
1218 * efiemu: Moved ...
1219 * grub-core/efiemu: ... to here.
1220 * font: Moved ...
1221 * grub-core/font: ... to here.
1222 * fs: Moved ...
1223 * grub-core/fs: ... to here.
1224 * gencmdlist.sh: Moved ...
1225 * grub-core/gencmdlist.sh: ... to here.
1226 * genemuinit.sh: Moved ...
1227 * grub-core/genemuinit.sh: ... to here.
1228 * genemuinitheader.sh: Moved ...
1229 * grub-core/genemuinitheader.sh: ... to here.
1230 * genfslist.sh: Moved ...
1231 * grub-core/genfslist.sh: ... to here.
1232 * genhandlerlist.sh: Moved ...
1233 * grub-core/genhandlerlist.sh: ... to here.
1234 * genmoddep.awk: Moved ...
1235 * grub-core/genmoddep.awk: ... to here.
1236 * genmodsrc.sh: Moved ...
1237 * grub-core/genmodsrc.sh: ... to here.
1238 * genpartmaplist.sh: Moved ...
1239 * grub-core/genpartmaplist.sh: ... to here.
1240 * genparttoollist.sh: Moved ...
1241 * grub-core/genparttoollist.sh: ... to here.
1242 * genterminallist.sh: Moved ...
1243 * grub-core/genterminallist.sh: ... to here.
1244 * gentrigtables.c: Moved ...
1245 * grub-core/gentrigtables.c: ... to here.
1246 * genvideolist.sh: Moved ...
1247 * grub-core/genvideolist.sh: ... to here.
1248 * gettext: Moved ...
1249 * grub-core/gettext: ... to here.
1250 * gfxmenu: Moved ...
1251 * grub-core/gfxmenu: ... to here.
1252 * gnulib: Moved ...
1253 * grub-core/gnulib: ... to here.
1254 * hello: Moved ...
1255 * grub-core/hello: ... to here.
1256 * hook: Moved ...
1257 * grub-core/hook: ... to here.
1258 * io: Moved ...
1259 * grub-core/io: ... to here.
1260 * kern: Moved ...
1261 * grub-core/kern: ... to here.
1262 * lib: Moved ...
1263 * grub-core/lib: ... to here.
1264 * loader: Moved ...
1265 * grub-core/loader: ... to here.
1266 * mmap: Moved ...
1267 * grub-core/mmap: ... to here.
1268 * normal: Moved ...
1269 * grub-core/normal: ... to here.
1270 * partmap: Moved ...
1271 * grub-core/partmap: ... to here.
1272 * parttool: Moved ...
1273 * grub-core/parttool: ... to here.
1274 * script: Moved ...
1275 * grub-core/script: ... to here.
1276 * term: Moved ...
1277 * grub-core/term: ... to here
1278 * tests/example_functional_test.c: Moved ...
1279 * grub-core/tests/example_functional_test.c: ... to here.
1280 * tests/lib/functional_test.c: Moved ...
1281 * grub-core/tests/lib/functional_test.c: ... to here.
1282 * tests/lib/test.c: Moved ...
1283 * grub-core/tests/lib/test.c: ... to here.
1284 * video: Moved ...
1285 * grub-core/video: ... to here.
1286
645586e6
BC
12872010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
1288
1289 Replace --enable-grub-emu-modules with grub-emu-lite.
1290
1291 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
1292 cache.S.
1293
1294 * include/grub/emu/misc.h (grub_emu_init): New prototype.
1295 * kern/emu/full.c: New file. For grub-emu specific initialization.
1296 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
1297 * kern/emu/main.c: Call initialization function grub_emu_init.
1298
1299 * Makefile.in: Include grub-emu-lite in install.
1300 * commands/parttool.c: Use grub_no_autoload to differentiate
1301 between grub-emu and grub-emu-lite.
1302 * include/grub/misc.h: New variable grub_no_autoload.
1303
1304 * conf/any-emu.rmk: New rules for grub-emu-lite.
1305 * configure.ac: Remove --enable-grub-emu-modules.
1306 * genmk.rb: Cleanup unnecessary rules.
1307 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
1308
1309 * normal/main.c: Don't load list files on grub-emu-lite.
1310 * util/misc.c (grub_arch_sync_caches): Removed.
1311
f86a4030
CW
13122010-08-23 Colin Watson <cjwatson@ubuntu.com>
1313
1314 * kern/mips/startup.S (grub_prefix): Update comment to refer to
1315 grub-mkimage rather than grub-mkelfimage.
1316 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
1317
06776944
VS
13182010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1319
1320 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
1321 a key after CapsLock or NumLock. It's just a qemu bug.
1322
df262419
VS
13232010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
1326 needed by libusb wrapper.
1327
b40ea81b
ST
13282010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
1329
1330 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
1331
dee50575
VS
13322010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1333
1334 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
1335 --nounzip is passed.
1336
fb1d7b79
VS
13372010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
1338
1339 USB hotunplugging and USB serial support.
1340
1341 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
1342 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
1343 (grub_uhci_transfer): Respect timeout and set *actual.
1344 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
1345 non-standard length.
1346 (grub_usb_device_attach): Autoload modules.
1347 (GRUB_MOD_INIT): Set grub_term_poll_usb.
1348 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
1349 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
1350 users updated.
1351 (grub_usb_add_hub): Fill nports and children.
1352 (attach_root_port): Receive hub instead of controller.
1353 All users updated. Fill hub->devices.
1354 (grub_usb_root_hub): Allocate hub->devices.
1355 (detach_device): New function.
1356 (poll_nonroot_hub): Fill children and detach devices.
1357 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
1358 actual arguments. All users updated.
1359 (grub_usb_bulk_read_extended): New function.
1360 * bus/usb/serial/common.c: New file.
1361 * bus/usb/serial/ftdi.c: Likewise.
1362 * bus/usb/serial/pl2303.c: Likewise.
1363 * commands/terminal.c (handle_command): Support wildcard.
1364 * commands/usbtest.c: Output "Unknown" instead of empty string.
1365 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
1366 (usbserial_common_mod_SOURCES): New variable.
1367 (usbserial_common_mod_CFLAGS): Likewise.
1368 (usbserial_common_mod_LDFLAGS): Likewise.
1369 (pkglib_MODULES): Add usbserial_pl2303.mod.
1370 (usbserial_pl2303_mod_SOURCES): New variable.
1371 (usbserial_pl2303_mod_CFLAGS): Likewise.
1372 (usbserial_pl2303_mod_LDFLAGS): Likewise.
1373 (pkglib_MODULES): Add usbserial_ftdi.mod.
1374 (usbserial_ftdi_mod_SOURCES): New variable.
1375 (usbserial_ftdi_mod_CFLAGS): Likewise.
1376 (usbserial_ftdi_mod_LDFLAGS): Likewise.
1377 (pkglib_MODULES): Add serial.mod.
1378 (serial_mod_SOURCES): New variable.
1379 (serial_mod_CFLAGS): Likewise.
1380 (serial_mod_LDFLAGS): Likewise.
1381 * conf/i386-pc.rmk: Likewise.
1382 * conf/mips-yeeloong.rmk: Likewise.
1383 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
1384 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
1385 * disk/usbms.c (first_available_slot): New variable.
1386 (grub_usbms_attach): Don't reuse free slots due to potential cache
1387 problems.
1388 * include/grub/serial.h: Moved to ..
1389 * include/grub/ns8250.h: ...this.
1390 * include/grub/serial.h: New file.
1391 * include/grub/term.h (grub_term_poll_usb): New variable.
1392 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
1393 readkey. All users updated.
1394 (grub_terminfo_output_state): Pass term to put.
1395 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
1396 (grub_usb_controller_dev): Add timeout and actual arguments to
1397 transfer. All users updated.
1398 (grub_usb_interface): New field detach_data.
1399 (grub_usb_device): New fields children and nports.
1400 (grub_usb_ep_type_t): New type.
1401 (grub_usb_get_ep_type): New function.
1402 (grub_usb_bulk_read_extended): Likewise.
1403 * include/grub/usbdesc.h (grub_usb_desc): New type.
1404 * include/grub/usbserial.h: New file.
1405 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
1406 * kern/term.c (grub_term_poll_usb): New variable.
1407 (grub_getkey): Call grub_term_poll_usb if set.
1408 (grub_checkkey): Likewise.
1409 (grub_getkeystatus): Likewise.
1410 * term/serial.c: Moved controller-specific parts to ...
1411 * term/ns8250.c: ... here.
1412 * term/serial.c: Mostly rewritten.
1413 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
1414 according to spec.
1415
21a313de
RM
14162010-08-20 Robert Millan <rmh@gnu.org>
1417
1418 Make kFreeBSD code more generic to support ext2fs as root, ufs as
1419 a separate module and maybe other interesting combinations.
1420
1421 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
1422 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
1423 (kfreebsd_entry): Add generic filesystem module load routine.
1424 Map GRUB `ext2' to kFreeBSD `ext2fs'.
1425
63c734a6
CW
14262010-08-20 Colin Watson <cjwatson@ubuntu.com>
1427
1428 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
1429 "numcenter" (I misunderstood the purpose of this entry).
1430 * docs/grub.texi (sendkey): Likewise.
1431
c4d16542
CW
14322010-08-20 Colin Watson <cjwatson@ubuntu.com>
1433
1434 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
1435 status flag options; simply omitting the option is equivalent and
1436 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
1437 (keysym_table): Rename "num5numlock" to "numlock".
1438 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
1439 can uniformly say that only the last of multiple `sendkey'
1440 invocations has any effect.
1441 * docs/grub.texi (sendkey): New section.
1442
93541d66
CW
14432010-08-19 Colin Watson <cjwatson@ubuntu.com>
1444
1445 * commands/i386/pc/sendkey.c (options): Fix three typos.
1446
b4ece5e1
VS
14472010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 Implement sendkey support.
1450
1451 * commands/i386/pc/sendkey.c: New file.
1452 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
1453 (sendkey_mod_SOURCES): New variable.
1454 (sendkey_mod_CFLAGS): Likewise.
1455 (sendkey_mod_LDFLAGS): Likewise.
1456
51f1f5af
CW
14572010-08-18 Colin Watson <cjwatson@ubuntu.com>
1458
1459 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
1460 fix warnings from Autoconf.
1461
9da94e05
CW
14622010-08-18 Colin Watson <cjwatson@ubuntu.com>
1463
1464 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
1465 to avoid false positives with some assemblers that output things
1466 like "someprefix_func" as part of their output.
1467
729a0f2e
RM
14682010-08-15 Robert Millan <rmh@gnu.org>
1469
1470 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
1471 errors.
1472 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
1473 grub_get_libzfs_handle() errors.
1474
f3710e08
RM
14752010-08-14 Robert Millan <rmh@gnu.org>
1476
1477 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
1478 filesystem is not ZFS.
1479
7a3c13de
BC
14802010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
1481
1482 Fix for misspelled color names defaulting to black/black (bug
1483 reported by Doug Nazar)
1484
1485 * include/grub/normal.h (grub_parse_color_name_pair): Add return
1486 status to prototype.
1487 * normal/color.c (grub_parse_color_name_pair): Return failure
1488 status.
1489 (grub_env_write_color_normal): Ignore bad color names.
1490 (grub_env_write_color_highlight): Likewise.
1491 * normal/main.c (GRUB_MOD_INIT): Set default color names.
1492
ab8ba50d
BC
14932010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
1494
1495 "shift" command support to GRUB script.
1496
1497 * include/grub/script_sh.h (grub_script_shift): New prototype.
1498 * script/execute.c (grub_script_shift): New function.
1499 * script/main.c (grub_script_init): Register shift command.
1500 (grub_script_fini): Unregister shift command.
1501 * util/grub-script-check.c (grub_script_cmd_shift): New function.
1502
1503 * tests/grub_script_shift.in: New testcase.
1504 * conf/tests.rmk: Rules for new testcase.
1505
4d61999e
BC
15062010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
1507
1508 "continue" command support to GRUB script.
1509
1510 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
1511 (grub_script_break): Continue support.
1512 * script/main.c (grub_script_init): Register continue command.
1513 (grub_script_fini): Unregister continue command.
1514
1515 * tests/grub_script_continue.in: New testcase.
1516 * conf/tests.rmk: Rules for new testcase.
1517
4df51e00
BC
15182010-08-12 BVK Chaitanya <bvk@dbook>
1519
1520 "break" command support to GRUB script.
1521
1522 * conf/common.rmk: Rule updates to grub-script-check.
1523 * include/grub/misc.h (grub_min): New function.
1524 * include/grub/script_sh.h (grub_script_init): New prototype.
1525 (grub_script_fini): New prototype.
1526 (grub_script_break): New prototype.
1527 * script/main.c (grub_script_init): New function.
1528 (grub_script_fini): New function.
1529 * script/execute.c (grub_script_break): New function.
1530 * normal/main.c: Calls to grub_script_{init,fini}.
1531 * util/grub-script-check.c (grub_script_break): New function.
1532
1533 * tests/grub_script_break.in: New testcase.
1534 * conf/tests.rmk: Rules for new test case.
1535
f12c8420
BC
15362010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
1537
1538 Function parameters support to GRUB script.
1539
1540 * script/yylex.l (VARIABLE): Regular expression update.
1541 * script/function.c (grub_script_function_call): Moved ...
1542 * script/execute.c (grub_script_function_call): ... to here.
1543 (grub_script_execute_arglist_to_argv): Removed.
1544 (grub_script_arglist_to_argv): New function.
1545 * script/argv.c: New file.
1546 (grub_script_argv_free): New function.
1547 (grub_script_argv_next): Likewise.
1548 (grub_script_argv_append): Likewise.
1549 (grub_script_argv_split_append): Likewise.
1550 * include/grub/script_sh.h (grub_script_argv): New struct.
1551 (grub_script_argv_free): New function.
1552 (grub_script_argv_next): Likewise.
1553 (grub_script_argv_append): Likewise.
1554 (grub_script_argv_split_append): Likewise.
1555
1556 * conf/common.rmk (normal.mod): New source script/argv.c.
1557
1558 * tests/grub_script_echo1.in: More tests.
1559 * tests/grub_script_vars1.in: Likewise.
1560 * tests/grub_script_functions.in: New test case.
1561 * conf/tests.rmk: Rules for new testcase.
1562
8022b748
BC
15632010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
1564
1565 Remove grub_script_cmdblock struct.
1566
1567 * include/grub/script_sh.h: Remove grub_script_cmdblock.
1568 * script/parser.y: Likewise.
1569 * script/execute.c: Rename cmdblock suffix to cmdlist.
1570 * script/script.c: Likewise.
1571 * util/grub-script-check.c: Likewise.
1572
79a6ba61
YB
15732010-08-11 Yves Blusseau <blusseau@zetam.org>
1574
1575 * .bzrignore: add grub-macho2img
1576
d04b9414
VS
15772010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
1580
f947ab49
VS
15812010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 Remove the dump of sm712 initialisation sequence.
1584
1585 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
1586 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
1587 (GRUB_VGA_IO_MISC_WRITE): Likewise.
1588 (GRUB_VGA_CR_*): Added many registers.
1589 (GRUB_VGA_SR_*): Likewise.
1590 (GRUB_VGA_GR_*): Likewise.
1591 (grub_vga_write_arx): New function.
1592 (grub_video_hw_config): New struct.
1593 (grub_vga_set_geometry): New function.
1594 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
1595 GRUB_PCI_CLASS_SUBCLASS_VGA.
1596 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
1597 * video/sm712.c (grub_sm712_write_reg): New function
1598 (grub_sm712_read_reg): Likewise.
1599 (grub_sm712_sr_write): Likewise.
1600 (grub_sm712_gr_write): Likewise.
1601 (grub_sm712_cr_write): Likewise.
1602 (grub_sm712_write_arx): Likewise.
1603 (grub_sm712_cr_shadow_write): Likewise.
1604 (grub_sm712_write_dda_lookup): Likewise.
1605 (grub_video_sm712_setup): Initialise the video rather then
1606 blindly replay the dump.
1607 (main) [TEST]: Add a routine to be able to compile as standalone for
1608 tests.
1609 * video/sm712_init.c (sm712_init): Removed.
1610 (sm712_sr_seq1): New array.
1611 (sm712_sr_seq2): Likewise.
1612
f0206638
VS
16132010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 * include/grub/vga.h: Add missing grub/pci.h include.
1616
2764da3b
YB
16172010-08-10 Yves Blusseau <blusseau@zetam.org>
1618
1619 * util/grub-macho2img.c (main): fix typo
1620
cf0c775e
VS
16212010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
1624 (grub_vga_gr_read): Likewise.
1625 (grub_vga_cr_write): Likewise.
1626 (grub_vga_cr_read): Likewise.
1627 (grub_vga_sr_write): Likewise.
1628 (grub_vga_sr_read): Likewise.
1629 (grub_vga_palette_read): Likewise.
1630 (grub_vga_palette_write): Likewise.
1631 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
1632 (grub_sm712_sr_read): New function.
1633 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
1634 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
1635
07f360e9
RM
16362010-08-09 Robert Millan <rmh@gnu.org>
1637
1638 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
1639 out unused variables on non-ZFS build.
1640
346c2072
RM
16412010-08-08 Robert Millan <rmh@gnu.org>
1642
1643 Fix path generation for sub-filesystems in ZFS.
1644
1645 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
1646 missing slash.
1647
71175420
RM
16482010-08-08 Robert Millan <rmh@gnu.org>
1649
1650 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
1651
0d8286f3
RM
16522010-08-08 Robert Millan <rmh@gnu.org>
1653
1654 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
1655 exist, issue a proper error message (rely on `ls' for translated
1656 strings).
1657
55dd2924
RM
16582010-08-08 Robert Millan <rmh@gnu.org>
1659
1660 Fix grub-probe invocation.
1661
1662 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
1663
d3dd9e80
RM
16642010-08-04 Robert Millan <rmh@gnu.org>
1665
1666 * configure.ac: Remove checks for getfsstat() and getmntany().
1667 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
1668 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
1669 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
1670 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
1671 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
1672 function.
1673 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
1674 via find_mount_point_from_dir() and getfsstat() / getmntany().
1675
0de22aa9
RM
16762010-08-04 Robert Millan <rmh@gnu.org>
1677
1678 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
1679 (grub_find_zpool_from_mount_point): Merge into ...
1680 (grub_find_zpool_from_dir): ... this.
1681 * kern/emu/misc.c: Likewise.
1682
1683 * kern/emu/misc.c
1684 (grub_make_system_path_relative_to_its_root): Replace
1685 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
1686 with grub_find_zpool_from_dir().
1687 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
1688
62858144
RM
16892010-08-04 Robert Millan <rmh@gnu.org>
1690
1691 Support OpenSolaris in ZFS device resolution.
1692
1693 * configure.ac: Check for getmntany().
1694 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
1695 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
1696 support.
1697
9dd6fd50
RM
16982010-08-03 Robert Millan <rmh@gnu.org>
1699
1700 Fix grub-emu build.
1701
1702 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
1703 * include/grub/emu/misc.h: ... here.
1704
1705 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
1706 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
1707
1708 * util/misc.c: Remove `<grub/util/libzfs.h>'.
1709 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
1710 (grub_get_libzfs_handle): Move to ...
1711 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
1712 (grub_get_libzfs_handle): ... here.
1713
c9f7ff97
BC
17142010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
1715
1716 * script/execute.c (grub_script_execute_cmdline): Check for NULL
1717 as command name case.
1718
a870a783
CW
17192010-08-02 Colin Watson <cjwatson@ubuntu.com>
1720
1721 * disk/raid.c (insert_array): Select unique numbers for named arrays
1722 as well, for use as keys in the disk cache.
1723
c7db243b
RM
17242010-08-01 Robert Millan <rmh@gnu.org>
1725
1726 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
1727 kFreeBSD device name, except on ZFS where the filesystem label is
1728 used.
1729 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
1730 `/boot/zfs/zpool.cache'.
1731 Set mountfrom kernel variable using ${kfreebsd_device}.
1732
f7abdefb
RM
17332010-08-01 Robert Millan <rmh@gnu.org>
1734
1735 Make it even harder to use uninitialized `libzfs_handle' (and
1736 make the interface a bit simpler).
1737
1738 * include/grub/util/misc.h (grub_util_init_libzfs)
1739 (libzfs_handle): Remove.
1740 (grub_get_libzfs_handle): New prototype.
1741
1742 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
1743 attribute.
1744 (grub_util_init_libzfs): Remove.
1745 (grub_get_libzfs_handle): New function.
1746
1747 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
1748 grub_get_libzfs_handle() to obtain a libzfs handle instead of
1749 accessing `libzfs_handle' directly.
1750
c882acc0
RM
17512010-08-01 Robert Millan <rmh@gnu.org>
1752
1753 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
1754 (grub_find_zpool_from_mount_point): New function prototypes.
1755
1756 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
1757 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
1758
1759 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
1760 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
1761 `static' attribute.
1762
1763 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
1764 finding zpool from mount point into ...
1765 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
1766
1767 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
1768 requested path is part of a ZFS pool, use
1769 grub_find_zpool_from_mount_point() to detect its filesystem name,
1770 and generate a path with `/fsname@path' syntax.
1771
8bfe31d8
CW
17722010-08-01 Colin Watson <cjwatson@ubuntu.com>
1773
1774 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
1775 (void) rather than () so that this is a proper prototype.
1776
553df63d
VS
17772010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
1780
8687cf07
VS
17812010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
1784 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
1785
ea9be8ea
CW
17862010-08-01 Colin Watson <cjwatson@ubuntu.com>
1787
1788 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
1789
6eea041a
CW
17902010-08-01 Colin Watson <cjwatson@ubuntu.com>
1791
1792 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
1793
2cfb45df
CW
17942010-08-01 Colin Watson <cjwatson@ubuntu.com>
1795
1796 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
1797 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
1798 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
1799 disable gfxpayload.
1800 (Shell-like scripting): Add real content.
1801 (Serial terminal): Suggest `terminal_input serial; terminal_output
1802 serial' rather than putting the two commands on separate lines,
1803 since console input will be inoperative after the first command.
1804 (menuentry): Document --class, --users, and --hotkey options.
1805 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
1806 Vladimir Serbinenko).
1807
7decd202
VS
18082010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18092010-08-01 Colin Watson <cjwatson@ubuntu.com>
1810
1811 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
1812
c882acc0
RM
18132010-08-01 Robert Millan <rmh@gnu.org>
1814
1815 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
1816 (grub_find_zpool_from_mount_point): New function prototypes.
1817
1818 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
1819 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
1820
1821 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
1822 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
1823 `static' attribute.
1824
1825 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
1826 finding zpool from mount point into ...
1827 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
1828
1829 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
1830 requested path is part of a ZFS pool, use
1831 grub_find_zpool_from_mount_point() to detect its filesystem name,
1832 and generate a path with `/fsname@path' syntax.
1833
deb0caa3
RM
18342010-08-01 Robert Millan <rmh@gnu.org>
1835
1836 Prevent accidental use of uninitialized libzfs_handle.
1837
1838 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
1839 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
1840 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
1841
ce04ef47
CW
18422010-08-01 Colin Watson <cjwatson@ubuntu.com>
1843
1844 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
1845 util/grub.d/10_linux.in). Fixes Debian bug #591093.
1846
ebf53056
RM
18472010-08-01 Robert Millan <rmh@gnu.org>
1848
1849 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 1850
3710bb6b
RM
18512010-07-31 Robert Millan <rmh@gnu.org>
1852
1853 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
1854
8072efeb
RM
18552010-07-31 Robert Millan <rmh@gnu.org>
1856
1857 * kern/emu/misc.c: Add missing license header.
1858
3169f4c7
RM
18592010-07-31 Robert Millan <rmh@gnu.org>
1860
1861 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
1862
1863 * include/grub/util/libnvpair.h: Include `<config.h>'.
1864 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
1865 declaring libnvpair prototypes ourselves.
1866 * include/grub/util/libzfs.h: Include `<config.h>'.
1867 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
1868 declaring libzfs prototypes ourselves.
1869
1870 (libzfs_handle): Moved to ...
1871 * include/grub/util/misc.h (libzfs_handle): ... here.
1872 Include `<grub/util/libzfs.h>'.
1873
c9a00aee
RM
18742010-07-30 Robert Millan <rmh@gnu.org>
1875
1876 * include/grub/emu/misc.h: Add missing license header.
1877
a184f9c8
RM
18782010-07-30 Robert Millan <rmh@gnu.org>
1879
1880 Enable `grub-probe -t device' resolution on ZFS.
1881
1882 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
1883 * include/grub/util/libnvpair.h: New file.
1884 * include/grub/util/libzfs.h: New file.
1885
1886 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
1887 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
1888 `<grub/util/libnvpair.h>'.
1889 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
1890
1891 (find_mount_point_from_dir): New static function.
1892 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
1893 function.
1894 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
1895 find_root_device_from_libzfs() before ressorting to find_root_device().
1896
1897 * include/grub/util/misc.h (grub_util_init_libzfs): New function
1898 prototype.
1899 * util/misc.c: Include `<grub/util/libzfs.h>'.
1900 (grub_util_init_libzfs): New function.
1901 [HAVE_LIBZFS] (libzfs_handle): New global variable.
1902 [HAVE_LIBZFS] (fini_libzfs): New static function.
1903 (grub_util_init_libzfs): New function.
1904 * util/grub-probe.c (main): Call grub_util_init_libzfs().
1905
f7790cdd
RM
19062010-07-30 Robert Millan <rmh@gnu.org>
1907
1908 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
1909 (xmalloc, xrealloc, xstrdup, xasprintf): Add
1910 `warn_unused_result' attribute.
1911 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
1912 (grub_xasprintf, grub_xvasprintf): Likewise.
1913 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
1914
0806b63c
RM
19152010-07-29 Robert Millan <rmh@gnu.org>
1916
1917 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
1918 (probe): Handle `PRINT_FS_LABEL'.
1919 (main): Handle `-t fs_label'.
1920
9f841f5c
RM
19212010-07-29 Robert Millan <rmh@gnu.org>
1922
1923 * configure.ac: Remove grub-mkisofs checks.
1924
46371121
VS
19252010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
1926
1927 * util/ieee1275/grub-install.in: Don't use empty grub_device.
1928 Reported by: Lennart Sorensen.
1929
19302010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
1933 prior to terminal_input/terminal_output separation. It's been over 1.5
1934 years and those versions weren't widely deployed.
1935
a9600892
CW
19362010-07-22 Colin Watson <cjwatson@ubuntu.com>
1937
1938 * disk/raid.c (insert_array): Don't count named arrays when looking
1939 for unused array numbers.
697e053c 1940 Reported and tested by: Michael Guntsche.
a9600892 1941
c03507df
CW
19422010-07-20 Colin Watson <cjwatson@ubuntu.com>
1943
1944 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
1945 implementation of this so that grub-emu links again, with a note
1946 that this should support hotplugging in the future.
1947
b26f1c11
CW
19482010-07-20 Colin Watson <cjwatson@ubuntu.com>
1949
1950 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
1951
efc9d7f1
CW
19522010-07-20 Colin Watson <cjwatson@ubuntu.com>
1953
1954 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
1955 handle on failure.
1956 (grub_loopback_close): Remove empty function.
1957 (grub_loopback_dev): Remove close method.
1958
dd8ff5c9
CW
19592010-07-20 Colin Watson <cjwatson@ubuntu.com>
1960
1961 Disable EFI cursor when the EFI console becomes inactive.
1962
1963 * term/efi/console.c (grub_efi_console_init): New function.
1964 (grub_efi_console_fini): New function.
1965 (grub_console_term_output): Register init and fini methods.
1966
5e3bec67
VS
19672010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 * tests/util/grub-shell-tester.in: Remove bashism and declare as
1970 sh script.
1971
afaec079
VS
19722010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 * disk/loopback.c (grub_loopback): Replace filename with file.
1975 (delete_loopback): Handle new semantics.
1976 (grub_cmd_loopback): Likewise.
1977 (grub_loopback_iterate): Likewise.
1978 (grub_loopback_close): Likewise.
1979
a6a11f3c
VS
19802010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
1983 with -p "".
1984 Reported by: Tito Keitel.
1985
64a638b0
VS
19862010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 * docs/grub.texi (Naming convention): Document new naming convention.
1989
ab8ba957
VS
19902010-07-20 Vadim Solomin <vadic052@gmail.com>
19912010-07-20 Colin Watson <cjwatson@ubuntu.com>
1992
1993 Generate device.map in something closer to the old ordering.
1994
1995 * util/deviceiter.c (struct device): New declaration.
1996 (compare_file_names): Rename to ...
1997 (compare_devices): ... this. Sort by kernel name in preference to
1998 the stable by-id name, but keep the latter as a fallback comparison.
1999 Update header comment.
2000 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
2001 of `struct device' rather than of plain file names.
2002
a29d6a4b
TF
20032010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
2004
2005 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
2006 on i386.
2007
39d824e8
VS
20082010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * commands/acpi.c (setup_common_tables): Use sizeof instead of
2011 hardcoding size.
2012 (setv1table): Likewise.
2013
f058276b
FZ
20142010-07-20 Colin Watson <cjwatson@ubuntu.com>
2015
2016 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
2017 removing the homehost if present.
2018 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
2019 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
2020 removing the homehost if present.
2021 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
2022 if possible.
2023 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
2024
2025 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
2026 parameter. Set its pointer target to 0.
2027 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
2028 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
2029 `data_offset' value from the superblock for 1.x metadata.
2030 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
2031 data on the device.
2032 (insert_array): Record the start sector of data on the device.
2033 (grub_raid_register): Pass start_sector parameters to
2034 grub_raid_list->detect and insert_array.
2035 * include/grub/raid.h (struct grub_raid_array): Add start_sector
2036 member.
2037 (struct grub_raid): Add start_sector parameter to `detect'.
2038
2039 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
2040 __attribute__ ((packed)), leaving a comment.
2041 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
2042 (grub_mdraid_detect_09): ... here and ...
2043 (grub_mdraid_detect_1x): ... here.
2044
20452010-07-20 Peter Henn <peter.henn@web.de>
2046
2047 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
2048 chunk size and disk size, which are already given as sector counts
2049 as distinct from the 0.90 units. Fetch the correct device number
2050 from the role table instead of using the table index.
2051
20522010-07-20 Felix Zielcke <fzielcke@z-51.de>
2053
2054 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
2055 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
2056 (WriteMostly1): New macro.
2057 Set array->name to NULL for metadata format 0.90. Add support for
2058 metadata 1.x. Fix some comments.
2059 * disk/raid.c (): Add support for name based RAID arrays. Fix a
2060 few comments.
2061 * util/getroot.c (grub_util_get_grub_dev): Add support for
2062 /dev/md/name style devices.
2063
4b761da9
CW
20642010-07-20 Colin Watson <cjwatson@ubuntu.com>
2065
2066 * .bzrignore: Ignore 20_linux_xen.
2067
5771289a
CW
20682010-07-17 Colin Watson <cjwatson@ubuntu.com>
2069
2070 * util/import_unicode.py: Remove unnecessary imports.
2071
5dab68df
AN
20722010-07-17 Aleš Nesrsta <starous@volny.cz>
2073
2074 Hotplugging and USB hub support.
2075
2076 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
2077 (grub_ohci): Likewise.
2078 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
2079 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
2080 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
2081 (GRUB_OHCI_CTRL_EDS): Likewise.
2082 (GRUB_OHCI_BULK_EDS): Likewise.
2083 (GRUB_OHCI_TDS): Likewise.
2084 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
2085 (grub_ohci_ed_phys2virt): New function.
2086 (grub_ohci_virt_to_phys): Likewise.
2087 (grub_ohci_td_phys2virt): Likewise.
2088 (grub_ohci_td_virt2phys): Likewise.
2089 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
2090 attachment.
2091 (grub_ohci_find_ed): New function.
2092 (grub_ohci_alloc_td): Likewise.
2093 (grub_ohci_free_td): Likewise.
2094 (grub_ohci_free_tds): Likewise.
2095 (grub_ohci_transfer): Use previously allocated memory.
2096 (grub_ohci_portstatus): Reset status changed bit.
2097 (grub_ohci_detect_dev): Supply status changed.
2098 (grub_ohci_fini_hw): Free memory.
2099 (grub_ohci_restore_hw): Reallocate memory.
2100 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
2101 Reset status change.
2102 (grub_uhci_detect_dev): Supply status_change.
2103 * bus/usb/usb.c (attach_hooks): New var.
2104 (grub_usb_device_attach): New function.
2105 (grub_usb_register_attach_hook_class): Likewise.
2106 (grub_usb_unregister_attach_hook_class): Likewise.
2107 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
2108 (grub_usb_add_hub): Reset connection changed bit.
2109 (attach_root_port): New function.
2110 (grub_usb_root_hub): Likewise.
2111 (poll_nonroot_hub): Likewise.
2112 (grub_usb_poll_devices): Likewise.
2113 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
2114 * disk/usbms.c (grub_usbms_open): Use device hooks.
2115 (grub_usbms_iterate) :Poll devices.
2116 (grub_usbms_finddevs): Split into ...
2117 (grub_usbms_attach): ... this ...
2118 (grub_usbms_attach): ... and this.
2119 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
2120 in detect_dev.
2121 (grub_usb_interface): New fields attached and detach_hook.
2122 (grub_usb_attach_hook_class): New type.
2123 (grub_usb_attach_desc): New struct.
2124 (grub_usb_register_attach_hook_class): New function.
2125 (grub_usb_unregister_attach_hook_class): Likewise.
2126 (grub_usb_poll_devices): Likewise.
2127 (grub_usb_device_attach): Likewise.
2128 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
2129 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
2130
3222efaf
VS
21312010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
2132
2133 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
2134 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
2135 delta determination style. Works with most NetBSD partitions too.
2136
139b714a
VS
21372010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
2140 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
2141
986aad56
VS
21422010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
2143
2144 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
2145
99be513c
AB
21462010-07-14 Anton Blanchard <anton@samba.org>
2147
2148 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
2149 ET_DYN files.
2150
18075f62
GS
21512010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
2152
2153 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
2154
8d9a5b15
GS
21552010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
2156
2157 * kern/partition.c (grub_partition_check_containment): New function to
2158 check that a partition is physically contained in a parent. Since
2159 offsets are relative (and non-negative), this reduces to checking that
2160 the partition ends before its parent.
2161 (grub_partition_map_probe): Discard out-of-range sub-partitions.
2162 (grub_partition_iterate): Likewise.
2163 * include/grub/partition.h (grub_partition_map): Slightly more detailed
2164 comments.
2165 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
2166 partitions that start before their parent, and add debug printfs.
2167
19563c25
CW
21682010-07-13 Colin Watson <cjwatson@ubuntu.com>
2169
2170 * Makefile.in (.SUFFIX): Spell correctly, as ...
2171 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
2172 bare module name without `.mod', e.g. `test') tried to invoke a
2173 Modula-2 compiler.
2174
1a1f1e67
CW
21752010-07-13 Colin Watson <cjwatson@ubuntu.com>
2176
2177 * README: Point to the Info manual.
2178
811b0dca
JS
21792010-07-13 Jiro SEKIBA <jir@unicus.jp>
2180
2181 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
2182 2nd superblock position from partition size.
2183
e4f4eafc
CW
21842010-07-10 Colin Watson <cjwatson@ubuntu.com>
2185
2186 * Makefile.in (MAINTAINER_CLEANFILES): Remove
2187 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
2188 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
2189 outputs.
2190
4274c30f
VS
21912010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 Restructure SCSI .id handling.
2194 Reported and tested by: Aleš Nesrsta.
2195
2196 * disk/ata.c (grub_atapi_close): Removed. All users updated.
2197 (grub_atapi_dev): Changed .name to "ata". New field .id.
2198 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
2199 (grub_usbms_dev): New field .id.
2200 * disk/scsi.c (grub_scsi_iterate): Generate name.
2201 (grub_scsi_open): Parse name.
2202 * include/grub/scsi.h (grub_make_scsi_id): New function.
2203 (grub_scsi_dev): Change iterate and open to number instead of naming
2204 busses. All users updated.
2205 (grub_scsi): Remove name. Add .bus.
2206
5bc24388
VS
22072010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * commands/help.c (grub_cmd_help): Fix a typo.
2210
249975ba
VS
22112010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
2214 Reported and tested by: Colin Watson.
2215
3eaac1a1
VS
22162010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
2219 in this context.
2220
becce1b1
VS
22212010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
2224
f7bf0918
CW
22252010-07-07 Colin Watson <cjwatson@ubuntu.com>
2226
2227 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
2228 indentation.
2229
0b0f9620
CW
22302010-07-06 Colin Watson <cjwatson@ubuntu.com>
2231
2232 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
2233 and disk/raid6_recover.c.
2234 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
2235 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
2236
1e545469
CW
22372010-07-06 Colin Watson <cjwatson@ubuntu.com>
2238
2239 * term/gfxterm.c (repaint_schedulded): Rename to ...
2240 (repaint_scheduled): ... this. Update all callers.
2241 (repaint_was_schedulded): Rename to ...
2242 (repaint_was_scheduled): ... this. Update all callers.
2243
5357687a
CW
22442010-07-06 Colin Watson <cjwatson@ubuntu.com>
2245
2246 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
2247 which we expect to be handled by upper layers.
2248
29d7e783
BC
22492010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
2250
2251 * bus/usb/usbhub.c: #include time.h header.
2252
37582066
CW
22532010-07-06 Colin Watson <cjwatson@ubuntu.com>
2254
2255 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
2256 entry_name also for entries without stat blocks (e.g. ".."); fixes
2257 corruption of the first entry in a directory.
2258
c8c06953
CW
22592010-07-06 Colin Watson <cjwatson@ubuntu.com>
2260
2261 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
2262 after setting gfxterm as the active terminal. GRUB_BACKGROUND
2263 doesn't work otherwise.
2264
e75056f1
CW
22652010-07-05 Colin Watson <cjwatson@ubuntu.com>
2266
2267 * docs/grub.texi (Features): Update list of supported file systems.
2268 (GNU/Linux): Update for GRUB 2.
2269 (Serial terminal): Remove mention of --disable-serial, which was a
2270 GRUB Legacy configure option. Update instructions to use
2271 `terminal_input' and `terminal_output' rather than `terminal'.
2272 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
2273 configuration' and `Installing GRUB using grub-install'.
2274 (Menu entry editor): Update for GRUB 2.
2275 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
2276 Document new -a, -u, and -v options.
2277 (initrd): New section.
2278 (initrd16): New section.
2279 (linux): New section.
2280 (linux16): New section.
2281 (search): The `var' argument to `--set' is optional.
2282 (GRUB only offers a rescue shell): Go into a little more detail on
2283 drive ordering.
2284
5cf69151
CW
22852010-07-05 Colin Watson <cjwatson@ubuntu.com>
2286
2287 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
2288
e3f90044
CW
22892010-07-05 Colin Watson <cjwatson@ubuntu.com>
2290
2291 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
2292 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
2293
38d8f4f3
CW
22942010-07-05 Colin Watson <cjwatson@ubuntu.com>
2295
2296 * util/i386/pc/grub-setup.c (setup): Rename prefix to
2297 install_prefix, in line with install_dos_part and install_bsd_part.
2298 Add new prefix variable, which is copied to install_prefix after
2299 comparing core.img in memory with the one read from disk in the
2300 no-embedding case, and use that rather than overwriting
2301 install_prefix immediately when installing to a partition.
2302 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
2303 Bicakci.
2304
57ebd41e
GS
23052010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
2306
2307 * configure.ac: Avoid == in test command, it's not portable.
2308 * util/grub.d/30_os-prober.in: Likewise.
2309
cb7f64b2
CW
23102010-07-04 Colin Watson <cjwatson@ubuntu.com>
2311
2312 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
2313
6b654bb0
GS
23142010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
2315
2316 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
2317 multiple (top-level) partmaps.
2318
72a2026d
VS
23192010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2320
2321 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 2322 Reported by: Tino Keitel.
72a2026d 2323
df3eb88f
VS
23242010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2325
2326 Bidi and diacritics support.
2327
2328 * Makefile.in (widthspec.bin): New target.
2329 (widthspec.h): Likewise.
2330 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
2331 * autogen.sh: Generate unidata.c.
2332 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
2333 * commands/ls.c (grub_ls_list_devices): Likewise.
2334 (grub_ls_list_files): Likewise.
2335 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
2336 (grub_mini_cmd_lsmod): Likewise.
2337 * commands/read.c: Likewise.
2338 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
2339 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
2340 * lib/arg.c (grub_arg_show_help): Likewise.
2341 * lib/crypto.c (grub_password_get): Likewise.
2342 * normal/auth.c (grub_username_get): Likewise.
2343 * normal/misc.c (grub_normal_print_device_info): Likewise.
2344 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
2345 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
2346 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
2347 (normal/charset.c_DEPENDENCIES): New variable.
2348 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
2349 (pkglib_MODULES): Remove charset.mod.
2350 (charset_mod_SOURCES): Removed.
2351 (charset_mod_CFLAGS): Likewise.
2352 (charset_mod_LDFLAGS): Likewise.
2353 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
2354 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
2355 and term/tparm.c.
2356 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
2357 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
2358 (kernel_img_HEADERS): Add terminfo.h.
2359 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
2360 Fill ->font. Reverse ascii bitmaps.
2361 (grub_font_get_xheight): New function.
2362 * font/font.c (grub_font_get_string_width): Moved from here ...
2363 * gfxmenu/font.c (grub_font_get_string_width): ... here.
2364 * font/font.c (grub_font_draw_string): Moved from here ...
2365 * gfxmenu/font.c (grub_font_draw_string): ... here.
2366 * font/font.c (grub_font_dup_glyph): New function.
2367 (grub_font_blit_glyph): Likewise.
2368 (grub_font_blit_glyph_mirror): Likewise.
2369 (blit_comb): Likewise.
2370 (grub_font_construct_dry_run): Likewise.
2371 (grub_font_get_constructed_device_width): Likewise.
2372 (grub_font_construct_glyph): Likewise.
2373 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
2374 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
2375 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
2376 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
2377 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
2378 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
2379 (grub_font_get_xheight): New proto.
2380 (grub_font_get_constructed_device_width): Likewise.
2381 (grub_font_construct_glyph): Likewise.
2382 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
2383 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
2384 * include/grub/font.h (grub_font_draw_string): Moved from here ...
2385 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
2386 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
2387 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
2388 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
2389 (grub_console_getcharwidth): Likewise.
2390 * include/grub/misc.h (grub_xputs): New proto.
2391 (grub_puts): Inlined.
2392 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
2393 (grub_normal_get_line_counter): Removed.
2394 (grub_install_newline_hook): Likewise.
2395 (grub_normal_get_char_counter): New proto.
2396 (grub_normal_reset_more): Likewise.
2397 (grub_xputs_normal): Likewise.
2398 * include/grub/powerpc/ieee1275/console.h: Removed.
2399 * include/grub/sparc64/ieee1275/console.h: Likewise.
2400 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
2401 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
2402 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
2403 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
2404 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
2405 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
2406 (grub_term_input): Pass reference to self. All users updated.
2407 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
2408 Pass reference to self. New fields normal_color, highlight_color and
2409 data. All users updated.
2410 (grub_putchar): Removed.
2411 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
2412 (grub_unicode_estimate_width): New function.
2413 (grub_term_getcharwidth): Add defaults.
2414 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
2415 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
2416 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
2417 (grub_cls): Remove EXPORT_FUNC.
2418 (grub_setcolorstate): Inline.
2419 (grub_newline_hook): Removed.
2420 * include/grub/terminfo.h: Rewritten. All users updated.
2421 * include/grub/unicode.h: New file.
2422 * include/grub/video.h (grub_video_signed_rect): New type.
2423 * kern/emu/console.c (grub_console_highlight_color): Removed.
2424 (grub_console_normal_color): Likewise.
2425 (grub_console_standard_color): Made static.
2426 (grub_ncurses_putchar): Remove mapping.
2427 (grub_ncurses_getcharwidth): Removed.
2428 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
2429 (grub_ncurses_setcolor): Removed.
2430 (grub_ncurses_getcolor): Likewise.
2431 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
2432 (grub_console_putchar): ... this.
2433 (grub_console_putchar): Handle argument difference.
2434 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
2435 console_init_early and console_init_lately.
2436 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
2437 * kern/misc.c (grub_puts): Removed.
2438 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
2439 (grub_vsnprintf_real): Remove str = NULL support.
2440 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
2441 * normal/charset.c (grub_utf8_to_ucs4): ... here.
2442 * kern/term.c (grub_putcode): Renamed to ...
2443 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
2444 (grub_putchar): Removed.
2445 (grub_xputs_dumb): New function.
2446 (grub_xputs): New variable.
2447 * lib/charset.c: Move from here ...
2448 * normal/charset.c: ... to here.
2449 (grub_ucs4_to_utf8): New function.
2450 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
2451 (join_types): New variable.
2452 (unpack_join): New function.
2453 (bidi_types): New variable.
2454 (unpack_bidi): New function.
2455 (get_bidi_type): Likewise.
2456 (get_join_type): Likewise.
2457 (is_mirrored): Likewise.
2458 (grub_unicode_get_comb_type): Likewise.
2459 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
2460 (is_type_after): Likewise.
2461 (grub_unicode_aglomerate_comb): Likewise.
2462 (bidi_line_wrap): Likewise.
2463 (grub_bidi_line_logical_to_visual): Likewise.
2464 (grub_bidi_logical_to_visual): Likewise.
2465 (grub_unicode_mirror_code): Likewise.
2466 (grub_unicode_shape_code): Likewise.
2467 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
2468 Don't use grub_putchar.
2469 * normal/main.c (grub_normal_init_page): Use grub_putcode.
2470 (grub_normal_reader_init): Likewise.
2471 (grub_xputs_saved): New variable.
2472 (GRUB_MOD_INIT): Set grub_xputs.
2473 (GRUB_MOD_FINI): Restore grub_xputs.
2474 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
2475 (menu_init): Avoid printing gfxmenu error.
2476 (show_menu): Use grub_normal_get_char_counter.
2477 * normal/menu_entry.c (update_screen): Fix out-of-array.
2478 (complete): Avoid NULL dereferencing.
2479 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
2480 * normal/menu_text.c (print_spaces): Removed.
2481 (grub_print_ucs4): Likewise.
2482 (grub_print_message_indented): Use grub_print_ucs4.
2483 (print_message): Use grub_putcode.
2484 (print_entry): Hanlde diacritics.
2485 * normal/term.c (term_state): New type.
2486 (grub_more_lines): Removed.
2487 (term_states): New variable.
2488 (grub_normal_line_counter): Renamed to ..
2489 (grub_normal_char_counter): ...this. All users updated.
2490 (grub_normal_get_line_counter): Renamed to ...
2491 (grub_normal_get_char_counter): ... this.
2492 (grub_normal_reset_more): New function.
2493 (process_newline): Removed.
2494 (print_more): New function.
2495 (grub_install_newline_hook): Removed.
2496 (map_code): New function.
2497 (grub_puts_terminal): Use grub_print_ucs4.
2498 (putglyph): New function.
2499 (putcode_real): Likewise.
2500 (grub_putcode): Use putcode_real.
2501 (get_maxwidth): New function.
2502 (get_startwidth): Likewise.
2503 (print_ucs4_terminal): Likewise.
2504 (find_term_state): Likewise.
2505 (put_glyphs_terminal): Likewise.
2506 (print_backlog): Likewise.
2507 (print_ucs4_real): Likewise.
2508 (grub_print_ucs4): Likewise.
2509 (grub_xputs_normal): Likewise.
2510 * term/efi/console.c (grub_console_putchar): Output diacritics.
2511 (grub_console_getcharwidth): Removed.
2512 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
2513 * term/gfxterm.c (clear_char): Free chars.
2514 (scroll_up): Avoid leaking memory.
2515 (grub_gfxterm_putchar): Support diacritics.
2516 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
2517 * term/i386/pc/console.c (grub_console_term_output): Declare as
2518 GRUB_TERM_CODE_TYPE_VGA.
2519 * term/i386/pc/vga.c (grub_vga_term): Declare as
2520 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
2521 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
2522 GRUB_TERM_CODE_TYPE_VGA.
2523 * term/i386/vga_common.c (map_char): Removed.
2524 (grub_console_putchar): Likewise.
2525 (grub_console_getcharwidth): Likewise.
2526 * term/ieee1275/ofconsole.c: Simplify using terminfo.
2527 (colors): Reordered to match terminfo.
2528 (grub_ofconsole_normal_color): Removed.
2529 (grub_ofconsole_writeesc): Likewise.
2530 (grub_ofconsole_highlight_color): Likewise.
2531 (grub_ofconsole_getcharwidth): Likewise.
2532 (grub_ofconsole_setcolorstate): Likewise.
2533 (grub_ofconsole_setcolor): Likewise.
2534 (grub_ofconsole_getcolor): Likewise.
2535 (grub_ofconsole_readkey): Renamed to ...
2536 (readkey): ... this. Remove escape sequence handling. Return -1 on no
2537 key.
2538 (grub_ofconsole_checkkey): Removed.
2539 (grub_ofconsole_getkey): Likewise.
2540 (grub_ofconsole_getxy): Likewise.
2541 (grub_ofconsole_gotoxy): Likewise.
2542 (grub_ofconsole_cls): Likewise.
2543 (grub_ofconsole_refresh): Likewise.
2544 (grub_ofconsole_terminfo_input): New struct.
2545 (grub_ofconsole_terminfo_output): Likewise.
2546 (grub_ofconsole_term_input): Use terminfo.
2547 (grub_ofconsole_term_output): Likewise.
2548 (grub_console_init): Split into ...
2549 (grub_console_init_early): ...this and ...
2550 (grub_console_init_lately): ...this. Use terminfo.
2551 (grub_ofconsole_putchar): Renamed to ...
2552 (put): ... this. Remove mapping.
2553 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
2554 * term/serial.c: Simplify using terminfo.
2555 (xpos): Removed.
2556 (ypos): Likewise.
2557 (keep_track): Likewise.
2558 (registered): Likewise.
2559 (input_buf): Likewise.
2560 (npending): Likewise.
2561 (serial_translate_key_sequence): Likewise.
2562 (fill_input_buf): Likewise.
2563 (grub_serial_checkkey): Likewise.
2564 (grub_serial_getkey): Likewise.
2565 (grub_serial_getxy): Likewise.
2566 (grub_serial_gotoxy): Likewise.
2567 (grub_serial_putchar): Likewise.
2568 (grub_serial_cls): Likewise.
2569 (grub_serial_setcolorstate): Likewise.
2570 (grub_serial_setcursor): Likewise.
2571 (serial_hw_init): Use serial_hw_fetch.
2572 (grub_serial_terminfo_input): New variable.
2573 (grub_serial_terminfo_output): Likewise.
2574 (grub_serial_term_input): Use terminfo.
2575 (grub_serial_term_output): Likewise.
2576 * term/terminfo.c (putstr): Use put.
2577 (grub_terminfo_all_free): New function
2578 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
2579 (grub_terminfo_output_register): New function.
2580 (grub_terminfo_output_unregister): Likewise.
2581 (grub_terminfo_getxy): Likewise.
2582 (grub_terminfo_readkey): Likewise.
2583 (grub_terminfo_checkkey): Likewise.
2584 (grub_terminfo_getkey): Likewise.
2585 (grub_terminfo_input_init): Likewise.
2586 (print_terminfo): Likewise.
2587 (grub_cmd_terminfo): Handle encoding.
2588 (grub_terminfo_gotoxy): Track position.
2589 (grub_terminfo_cls): Likewise.
2590 (grub_terminfo_putchar): Likewise.
2591 (grub_terminfo_setcolorstate): Handle colors
2592 (grub_terminfo_cursor_on): This ...
2593 (grub_terminfo_cursor_off): ... and this merged into ...
2594 (grub_terminfo_setcursor): ... this.
2595 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
2596 * unicode/ArabicShaping.txt: New file (imported from Unicode).
2597 * unicode/BidiMirroring.txt: Likewise.
2598 * unicode/UnicodeData.txt: Likewise.
2599 * unicode/COPYING: Likewise.
2600 * util/grub-editenv.c (grub_putchar): Removed.
2601 (grub_xputs_real): New function.
2602 (grub_xputs): New variable.
2603 * util/grub-fstest.c (grub_putchar): Removed.
2604 (grub_xputs_real): New function.
2605 (grub_xputs): New variable.
2606 * util/grub-mkdevicemap.c (grub_putchar): Removed.
2607 (grub_xputs_real): New function.
2608 (grub_xputs): New variable.
2609 * util/grub-probe.c (grub_putchar): Removed.
2610 (grub_xputs_real): New function.
2611 (grub_xputs): New variable.
2612 * util/grub-script-check.c (grub_putchar): Removed.
2613 (grub_xputs_real): New function.
2614 (grub_xputs): New variable.
2615 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
2616 (grub_xputs_real): New function.
2617 (grub_xputs): New variable.
2618 * util/import_unicode.py: New file.
2619 * util/grub-mkfont.c (ft_errmsgs): New array.
2620 (grub_glyph_info): Make bitmap a pointer.
2621 (file_formats): New type WIDTH_SPEC.
2622 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
2623 (options): Add width-spec.
2624 (help): Likewise.
2625 (add_char): Renamed to ...
2626 (add_glyph): ... this.
2627 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
2628 (glyph_replace): New type.
2629 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
2630 (add_char): New function.
2631 (add_subst): Likewise.
2632 (process_cursive): Likewise.
2633 (add_font): Handle GSUB.
2634 (write_font_width_spec): New function.
2635 (main): Sort glyphs.
2636 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
2637 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
2638 * kern/term.c (grub_cls): Moved from here...
2639 * normal/term.c (grub_cls): ... here.
2640
50f0bcda
CW
26412010-07-02 Colin Watson <cjwatson@ubuntu.com>
2642
2643 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
2644 suitable for using within the format argument of printf when
2645 converting grub_size_t.
2646 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
2647 "x" to convert grub_size_t arguments.
2648
40372103
VS
26492010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2650
2651 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
2652 too long captions.
2653 (list_get_minimal_size): Take selection box into account.
2654
942a10c7
VS
26552010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
2658 NULL font.
2659
2bdb2892
CW
26602010-07-02 Colin Watson <cjwatson@ubuntu.com>
2661
2662 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
2663 devices when iterating over /dev/disk/by-id; they will be handled
2664 later if appropriate, which they aren't always (e.g. LVM).
2665
e03ed6c1
CW
26662010-07-02 Colin Watson <cjwatson@ubuntu.com>
2667
2668 * include/grub/misc.h (grub_reboot): Declare as noreturn.
2669 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
2670 fails.
2671 (grub_halt): Likewise.
2672 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
2673 reset-all fails.
2674 (grub_halt): Don't return, even if all of shut-down, power-off, and
2675 poweroff fail.
2676
47695765
CW
26772010-07-02 Colin Watson <cjwatson@ubuntu.com>
2678
2679 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
2680 arguments, not three.
2681
507736c8
CW
26822010-07-02 Colin Watson <cjwatson@ubuntu.com>
2683
2684 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
2685 * util/grub.d/10_linux.in: Use it to check for LVM, so that
2686 LVM-on-RAID is handled correctly.
2687
e3c8cd37
CW
26882010-07-02 Colin Watson <cjwatson@ubuntu.com>
2689
2690 * docs/grub.texi (Changes from GRUB Legacy): New section.
2691 (Future): Fix typo.
2692
8d4a2fec
CW
26932010-07-02 Colin Watson <cjwatson@ubuntu.com>
2694
2695 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
2696 grub.d/README accidentally ends up executable for one reason or
2697 another. Ignore it.
2698
1c4827be
VS
26992010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2700
2701 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
2702 (gpt_partition_map_iterate): Support non-512B sectors.
2703
d9a0c941
VS
27042010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 * kern/efi/init.c (grub_efi_init): Disable watchdog.
2707 Tested by: Seth Goldberg.
2708
48f27e87
VS
27092010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
2712 Properly align mbi.
2713 Reported by: Seth Goldberg.
2714
b0c4f956
VS
27152010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
2716
2717 * util/grub-mkrescue.in: Avoid module duplication.
2718
105a2e8c
SF
27192010-07-01 Sean Finney <seanius@seanius.net>
2720
2721 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
2722
5944958c
SF
27232010-07-01 Sean Finney <seanius@seanius.net>
2724
2725 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
2726
27272010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 * disk/lvm.c (grub_lvm_checkvalue): New function.
2730 (grub_lvm_check_flag): Likewise.
2731
b79889ba
RM
27322010-07-01 Robert Millan <rmh@gnu.org>
2733
2734 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
2735 Support 'p' as partition separator on kernel of FreeBSD (used
2736 with GPT labels).
2737 (grub_util_biosdisk_get_grub_dev): Likewise.
2738
ec1d04f1
VS
27392010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
2740
2741 Yeeloong firmware port.
2742
2743 * boot/mips/yeeloong/fwstart.S: New file.
2744 * bus/cs5536.c (gpiodump): New const.
2745 (set_io_space): New function.
2746 (set_iod): Likewise.
2747 (set_p2d): Likewise.
2748 (grub_cs5536_init_geode): Likewise.
2749 * commands/mips/yeeloong/lsspd.c: New file.
2750 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
2751 (serial_mod_SOURCES): New variable.
2752 (serial_mod_CFLAGS): Likewise.
2753 (serial_mod_LDFLAGS): Likewise.
2754 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
2755 term/terminfo.c and term/tparm.c.
2756 (pkglib_IMAGES): Add fwstart.img.
2757 (fwstart_img_SOURCES): New variable.
2758 (fwstart_img_CFLAGS): Likewise.
2759 (fwstart_img_ASFLAGS): Likewise.
2760 (fwstart_img_LDFLAGS): Likewise.
2761 (fwstart_img_FORMAT): Likewise.
2762 (pkglib_MODULES): Add lsspd.mod.
2763 (lsspd_mod_SOURCES): New variable.
2764 (lsspd_mod_CFLAGS): Likewise.
2765 (lsspd_mod_LDFLAGS): Likewise.
2766 (pkglib_MODULES): Add halt.mod.
2767 (halt_mod_SOURCES): New variable.
2768 (halt_mod_CFLAGS): Likewise.
2769 (halt_mod_LDFLAGS): Likewise.
2770 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
2771 (serial_mod_SOURCES): Removed.
2772 (serial_mod_CFLAGS): Likewise.
2773 (serial_mod_LDFLAGS): Likewise.
2774 * disk/ata.c (check_device): New function.
2775 (grub_ata_device_initialize): Use check_device.
2776 (grub_ata_iterate): Recheck devices.
2777 (grub_ata_open): Likewise.
2778 (grub_atapi_iterate): Likewise.
2779 (grub_atapi_open): Likewise.
2780 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
2781 (GRUB_ATA_CH1_PORT1): Likewise.
2782 (GRUB_ATA_CH0_PORT2): Likewise.
2783 (GRUB_ATA_CH1_PORT2): Likewise.
2784 * include/grub/mips/loongson.h: New file.
2785 * include/grub/mips/yeeloong/ec.h: Likewise.
2786 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
2787 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
2788 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
2789 * include/grub/misc.h (grub_halt): Declare as noreturn.
2790 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
2791 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
2792 (UART_ENABLE_FIFO_TRIGGER1): New definition.
2793 (UART_ENABLE_DTRRTS): Likewise.
2794 (UART_ENABLE_MODEM): Removed.
2795 (UART_ENABLE_OUT2): New const.
2796 * include/grub/term.h (grub_term_register_input_active): New function.
2797 (grub_term_register_output_active): Likewise.
2798 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
2799 argument.
2800 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
2801 (init_pci): New function.
2802 (grub_machine_init): Execute platform init when firmware. Init serial.
2803 (grub_halt): Implement.
2804 (grub_exit): Likewise.
2805 (grub_reboot): Likewise.
2806 * term/serial.c (serial_hw_init): Update macros.
2807 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
2808 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
2809 (image_targets): New target mipsel-yeeloong-flash.
2810 (generate_image): Support IMAGE_YEELOONG_FLASH.
2811 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
2812 (grub_video_sm712_setup): Init card.
2813 (grub_video_sm712_set_palette): Removed.
2814 * video/sm712_init.c: New file.
2815
ff4a70d2
CW
28162010-06-30 Colin Watson <cjwatson@ubuntu.com>
2817
2818 * Makefile.in (install-local): Temporarily prepend $(builddir) to
2819 PATH when running help2man and then run it on the unadorned
2820 executable names, rather than passing $(builddir)/* paths to
2821 help2man. This avoids the build directory ending up in generated
2822 manual pages.
2823
1246efeb
CW
28242010-06-29 Colin Watson <cjwatson@ubuntu.com>
2825
2826 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
2827 to avoid accidents when debugging with 'sh -x'.
2828 * util/grub-mkrescue.in: Likewise.
2829 * util/grub.d/00_header.in: Likewise.
2830 * util/grub.d/10_hurd.in: Likewise.
2831 * util/grub.d/10_kfreebsd.in: Likewise.
2832 * util/grub.d/10_linux.in: Likewise.
2833 * util/grub.d/10_netbsd.in: Likewise.
2834 * util/grub.d/10_windows.in: Likewise.
2835 * util/grub.d/20_linux_xen.in: Likewise.
2836 * util/grub.d/30_os-prober.in: Likewise.
2837 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2838
1ba9b889
CW
28392010-06-29 Colin Watson <cjwatson@ubuntu.com>
2840
2841 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
2842 last character in the buffer.
2843 Reported by: Vladimir Serbinenko.
2844
dccaf99d
RM
28452010-06-29 Robert Millan <rmh@gnu.org>
2846
2847 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
2848 (Command-line and menu entry commands): Document `badram' command.
2849
d500ed12
RM
28502010-06-28 Robert Millan <rmh@gnu.org>
2851
2852 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
2853 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
2854 command using ${GRUB_BADRAM} as parameter.
2855
20bc84a6
CW
28562010-06-28 Colin Watson <cjwatson@ubuntu.com>
2857
2858 * docs/grub.texi (Device map): New section.
2859 (Themes): New section (stub).
2860 * Makefile.in (docs/grub.info): The info documentation now builds
2861 without errors. Make sure it stays that way.
2862
4045dee1
VS
28632010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 Use normal parser for menu entries.
2866 Reported by: Thomas Frauendorfer
2867
2868 * include/grub/parser.h (grub_parser_execute): Don't export.
2869 * normal/menu.c (grub_menu_execute_entry_real): New function.
2870 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
2871
bca58c7b
CW
28722010-06-28 Colin Watson <cjwatson@ubuntu.com>
2873
2874 * docs/grub.texi (Embedded configuration): New section (replacing
2875 old "Preset Menu" stub).
2876 (Images): New section.
2877 (configfile): Note that any menu entries defined in `file' are shown
2878 immediately.
2879
dec53e63
JT
28802010-06-28 Josh Triplett <josh@joshtriplett.org>
2881
2882 * mmap/i386/pc/mmap_helper.S: Set CF on return.
2883
c06e40f7
CW
28842010-06-28 Colin Watson <cjwatson@ubuntu.com>
2885
2886 * util/grub-install.in: Add --debug-image= option.
2887
cb88052b
CW
28882010-06-28 Colin Watson <cjwatson@ubuntu.com>
2889
2890 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
2891 possible on Linux.
2892
2893 * util/deviceiter.c (check_device): Rename to ...
2894 (check_device_readable_unique): ... this. Update all callers.
2895 Maintain and check a list of which devices (by canonicalized name)
2896 have already been seen.
2897 (clear_seen_devices): New function.
2898 (compare_file_names) [__linux__]: New function.
2899 (grub_util_iterate_devices): Clear the list of seen devices on exit
2900 and (just in case) on entry.
2901 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
2902 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
2903 seen-devices list, superseded by general code in check_device.
2904
bbe34652
CW
29052010-06-28 Colin Watson <cjwatson@ubuntu.com>
2906
2907 * commands/cat.c (options): New variable.
2908 (grub_cmd_cat): Parse options. If the --dos option is given, print
2909 DOS-style "\r\n" line endings as simple newlines (Debian bug
2910 #586358).
2911 (GRUB_MOD_INIT): Use extcmd.
2912 (GRUB_MOD_FINI): Likewise.
2913 * docs/grub.texi (cat): Document --dos.
2914
412e09f3
VS
29152010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 XEN with Linux grub-mkconfig support.
2918
2919 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
2920 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
2921 GRUB_CMDLINE_XEN_DEFAULT.
2922 * util/grub.d/20_linux_xen.in: New file.
2923
53f3ef38 29242010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
2925
2926 Initialise VGA video on qemu ourselves.
2927
2928 * boot/i386/qemu/boot.S: Don't call 0xc000.
2929 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
2930 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
2931 (kernel_img_HEADERS): Add pci.h.
2932 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
2933 * configure.ac: Force unifont on qemu and yeeloong.
2934 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
2935 (grub_vga_palette_write): Use correct register.
2936 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
2937 Call grub_qemu_init_cirrus.
2938 * kern/i386/qemu/init.c: New file.
2939 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
2940
2941 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
2942
c75be4fb
PR
29432010-06-26 Pavel Roskin <proski@gnu.org>
2944
2945 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
2946 13.
2947
d8034603
CW
29482010-06-26 Colin Watson <cjwatson@ubuntu.com>
2949
2950 * docs/grub.texi (Simple configuration): Explain that
2951 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
2952 set to `true' to disable their respective recovery entries, not
2953 merely set.
2954
3fa06487
CW
29552010-06-26 Colin Watson <cjwatson@ubuntu.com>
2956
2957 Make the `source' command slightly faster.
2958
2959 * normal/main.c (grub_normal_execute): Don't re-read list files when
2960 nested.
2961
e9b29642
CW
29622010-06-23 Colin Watson <cjwatson@ubuntu.com>
2963
2964 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
2965 field position and mask size to red fields from mode_info, not
2966 green.
2967 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
2968 Remove redundant tag->common.framebuffer_type assignment.
2969 Reported by: Seth Goldberg.
2970
e726542f
CW
29712010-06-23 Colin Watson <cjwatson@ubuntu.com>
2972
2973 Sync up other versions of the Linux loader with Robert Millan's
2974 change of 2010-01-09, "Make loader output a bit more user-friendly".
2975
2976 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
2977 grub_dprintf().
2978 (grub_cmd_linux): Likewise.
2979 (grub_cmd_initrd): Likewise.
2980 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
2981 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2982
d6e98a17
CW
29832010-06-21 Colin Watson <cjwatson@ubuntu.com>
2984
2985 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
2986 larger than MEMORY_MAP_SIZE.
2987
14d3f08e
BC
29882010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
2989
2990 Fix parallel build.
2991
2992 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
2993 dependency.
2994 * script/parser.y: #include grub_script.tab.h header.
2995
4f9613a3
VS
29962010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 Support >3GiB and <16MiB RAM in i386-qemu.
2999
3000 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
3001 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
3002 (grub_lower_mem): Removed.
3003 (grub_upper_mem): Likewise.
3004 (mem_size): Made static.
3005 (above_4g): New variable.
3006 (grub_machine_mmap_init): Detect small mem_size and above_4g.
3007 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
3008 support.
3009
05e51879
VS
30102010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3011
3012 Cirrus 5446 and Bochs video cards support.
3013
3014 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
3015 video_bochs.mod
3016 (video_cirrus_mod_SOURCES): New variable.
3017 (video_cirrus_mod_CFLAGS): Likewise.
3018 (video_cirrus_mod_LDFLAGS): Likewise.
3019 (video_bochs_mod_SOURCES): Likewise.
3020 (video_bochs_mod_CFLAGS): Likewise.
3021 (video_bochs_mod_LDFLAGS): Likewise.
3022 * include/grub/vga.h: New file.
3023 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
3024 (grub_video_fb_set_page_t): New type.
3025 (grub_video_fb_setup): New prototype.
3026 (grub_video_fb_swap_buffers): Likewise.
3027 (grub_video_fb_get_info_and_fini): Likewise.
3028 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
3029 (CRTC_DATA_PORT): Likewise.
3030 (CRTC_CURSOR): Likewise.
3031 (CRTC_CURSOR_ADDR_HIGH): Likewise.
3032 (CRTC_CURSOR_ADDR_LOW): Likewise.
3033 (CRTC_CURSOR_DISABLE): Likewise.
3034 (update_cursor): Use grub_vga_cr_write.
3035 (grub_vga_text_setcursor): Likewise.
3036 * video/bochs.c: New file.
3037 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
3038 (palette): Likewise.
3039 (palette_size): Likewise.
3040 (framebuffer): New variable.
3041 (grub_video_fb_init): Use 'framebuffer'.
3042 (grub_video_fb_fini): Likewise.
3043 (grub_video_fb_get_info): Likewise.
3044 (grub_video_fb_get_palette): Likewise.
3045 (grub_video_fb_set_palette): Likewise.
3046 (grub_video_fb_set_viewport): Likewise.
3047 (grub_video_fb_get_viewport): Likewise.
3048 (grub_video_fb_map_color): Likewise.
3049 (grub_video_fb_map_rgb): Likewise.
3050 (grub_video_fb_map_rgba): Likewise.
3051 (grub_video_fb_unmap_color): Likewise.
3052 (grub_video_fb_unmap_color_int): Likewise.
3053 (grub_video_fb_fill_rect): Likewise.
3054 (grub_video_fb_blit_bitmap): Likewise.
3055 (grub_video_fb_blit_render_target): Likewise.
3056 (grub_video_fb_scroll): Likewise.
3057 (grub_video_fb_create_render_target): Likewise.
3058 (grub_video_fb_doublebuf_blit_init): Likewise.
3059 (grub_video_fb_set_active_render_target): Handle doublebuffering.
3060 (doublebuf_pageflipping_update_screen): New function.
3061 (doublebuf_pageflipping_init): Likewise.
3062 (grub_video_fb_setup): Likewise.
3063 (grub_video_fb_swap_buffers): Likewise.
3064 (grub_video_fb_get_info_and_fini): Likewise.
3065 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
3066 All users updated.
3067 (doublebuf_pageflipping_commit): Restructured into ...
3068 (doublebuf_pageflipping_set_page): ... this.
3069 (doublebuf_pageflipping_update_screen): Removed.
3070 (doublebuf_pageflipping_init): Likewise.
3071 (double_buffering_init): Likewise.
3072 (grub_video_vbe_setup): Use grub_video_fb_setup.
3073 (grub_video_vbe_swap_buffers): Removed.
3074 (grub_video_vbe_set_active_render_target): Likewise.
3075 (grub_video_vbe_get_active_render_target): Likewise.
3076 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
3077 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
3078 grub_video_fb_set_active_render_target and
3079 grub_video_fb_get_active_render_target.
3080 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
3081 (SEQUENCER_DATA_PORT): Likewise.
3082 (MAP_MASK_REGISTER): Likewise.
3083 (CRTC_ADDR_PORT): Likewise.
3084 (CRTC_DATA_PORT): Likewise.
3085 (START_ADDR_HIGH_REGISTER): Likewise.
3086 (START_ADDR_LOW_REGISTER): Likewise.
3087 (GRAPHICS_ADDR_PORT): Likewise.
3088 (GRAPHICS_DATA_PORT): Likewise.
3089 (READ_MAP_REGISTER): Likewise.
3090 (INPUT_STATUS1_REGISTER): Likewise.
3091 (INPUT_STATUS1_VERTR_BIT): Likewise.
3092 (get_map_mask): Use grub_vga_sr_read.
3093 (set_map_mask): Use grub_vga_sr_write.
3094 (set_read_map): Use grub_vga_gr_write.
3095 (set_start_address): Use grub_vga_cr_write.
3096 * video/sm712.c (framebuffer): Remove leftover fields.
3097
4321c64a
CW
30982010-06-20 Colin Watson <cjwatson@ubuntu.com>
3099
3100 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
3101 setting GRUB_VIDEO_BACKEND. Make it available as a user override
3102 instead. Replace the gfxterm backend check with a check that
3103 ${GRUB_PREFIX}/video.lst is non-empty.
3104 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
3105 again.
3106 (load_video): New generated function. Call it before loading
3107 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
3108 * util/grub.d/10_linux.in (linux_entry): Call load_video.
3109 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
3110 * docs/grub.texi (Simple configuration): Document
3111 GRUB_VIDEO_BACKEND.
3112
31132010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 Use video functions in linux and xnu loaders.
3116
3117 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
3118 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
3119 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
3120 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
3121 loader/i386/pc/linux.c.
3122 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
3123 (find_line_len): Removed.
3124 (find_framebuf): Likewise.
3125 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
3126 * loader/i386/efi/xnu.c: Removed.
3127 * loader/i386/pc/xnu.c: Moved from here...
3128 * loader/i386/xnu.c: ...here.
3129
3130 Enable priorities in video drivers.
3131
3132 * include/grub/video.h (grub_video_adapter_prio_t): New type.
3133 (grub_video_adapter): New field prio.
3134 (grub_video_register): Respect prio when inserting.
3135 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
3136 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
3137 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
3138 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
3139 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
3140 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
3141 * video/sm712.c (grub_video_sm712_adapter): Likewise.
3142
3143 Fix SDL driver ID.
3144
3145 * include/grub/video.h (grub_video_driver_id_t): New value
3146 GRUB_VIDEO_DRIVER_SDL.
3147 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
3148
7d24e434
CW
31492010-06-17 Colin Watson <cjwatson@ubuntu.com>
3150
3151 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
3152 argument to printf.
3153 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
3154
c88a83f6
CW
31552010-06-17 Colin Watson <cjwatson@ubuntu.com>
3156
3157 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
3158 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
3159
094dfb69
CW
31602010-06-17 Colin Watson <cjwatson@ubuntu.com>
3161
3162 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
3163 directly, and recommend grub-install instead.
3164 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
3165
2164da6b
CW
31662010-06-17 Colin Watson <cjwatson@ubuntu.com>
3167
3168 Fix i386-pc prefix handling with nested partitions (Debian bug
3169 #585068). Note that the case where the core image is booted using
3170 multiboot and relocated from its original location still requires
3171 more work.
3172
3173 * kern/i386/pc/init.c (make_install_device): If the prefix starts
3174 with "(,", fill the boot drive in between those two characters, but
3175 expect that a full partition specification including partition map
3176 names will follow.
3177 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
3178 specified, write a prefix without the drive name but including a
3179 full partition specification.
3180
044e2e60
CW
31812010-06-16 Colin Watson <cjwatson@ubuntu.com>
3182
3183 * util/grub-mkconfig.in: Ignore non-option arguments, for
3184 compatibility with older versions (before 2010-06-12) which did the
3185 same. In particular, this makes it easier to ship an update-grub
3186 wrapper which is compatible with that used with GRUB Legacy (Debian
3187 bug #586056).
3188
5591324f
GS
31892010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
3190
3191 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
3192 for manual page generation.
3193
662e24d5
GS
31942010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
3195
3196 * po/POTFILES: Remove leftover commands/handler.c.
3197
8d70754e
CW
31982010-06-14 Colin Watson <cjwatson@ubuntu.com>
3199
3200 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
3201 left this script non-functional.
3202
41160e2e
CW
32032010-06-14 Colin Watson <cjwatson@ubuntu.com>
3204
3205 * docs/man/grub-emu.h2m: New file.
3206
b5309cc1
CW
32072010-06-13 Colin Watson <cjwatson@ubuntu.com>
3208
3209 * docs/grub.texi (Commands): Document reduced command set in rescue
3210 mode.
3211 (cpuid): New section.
3212
fcb2d090
GS
32132010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
3214
3215 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
3216 new partition naming style.
3217 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
3218
96e5c556
BC
32192010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
3220
3221 Add "-o grub.iso" like cmdline options support.
3222
3223 * util/grub-install.in: Improve cmdline option parsing.
3224 * util/grub-mkconfig.in: Likewise.
3225 * util/grub-mkrescue.in: Likewise.
3226 * util/grub-reboot.in: Likewise.
3227 * util/grub-set-default.in: Likewise.
3228 * util/i386/efi/grub-install.in: Likewise.
3229 * util/ieee1275/grub-install.in: Likewise.
3230 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3231
c16be99b
CW
32322010-06-12 Colin Watson <cjwatson@ubuntu.com>
3233
3234 * .bzrignore: Ignore 41_custom.
3235
ce08a9fb
TS
32362010-06-12 Thomas Schmitt <scdbackup@gmx.net>
3237
3238 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
3239
7beac90c
CW
32402010-06-12 Colin Watson <cjwatson@ubuntu.com>
3241
3242 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
3243 prototype declarations.
3244
3245 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
3246 generating fs, partmap, and video lists.
3247 * include/grub/fs.h (grub_fs_register): Omit prototype if
3248 GRUB_LST_GENERATOR is defined.
3249 * include/grub/partition.h (grub_partition_map_register): Likewise.
3250 * include/grub/video.h (grub_video_register): Likewise.
3251
1c8f0f8d
JM
32522010-06-12 Javier Martín <lordhabbit@gmail.com>
3253
3254 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
3255
a6085973
TS
32562010-06-12 Thomas Schmitt <scdbackup@gmx.net>
3257
3258 * util/grub-mkrescue.in: Support --xorriso argument.
3259
25c56d29
VS
32602010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
3261
3262 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
3263 Suggested by: Thomas Schmitt.
3264
e03e4b24
VS
32652010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
3268 Suggested by: Thomas Schmitt.
3269
57711df6
VS
32702010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
3271
3272 custom.cfg support.
3273
3274 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
3275 * util/grub.d/41_custom.in: New file.
3276
ee62c427
CW
32772010-06-12 Colin Watson <cjwatson@ubuntu.com>
3278
3279 * util/grub-mkrescue.in (make_image): Remove sh module, which has
3280 been merged back into normal.
3281
283af07a
CW
32822010-06-11 Colin Watson <cjwatson@ubuntu.com>
3283
3284 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
3285 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
3286
56a0d956
CW
32872010-06-11 Colin Watson <cjwatson@ubuntu.com>
3288
3289 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
3290 when generating manual pages.
3291 * docs/man/grub-bin2h.h2m: New file.
3292 * docs/man/grub-editenv.h2m: New file.
3293 * docs/man/grub-fstest.h2m: New file.
3294 * docs/man/grub-install.h2m: New file.
3295 * docs/man/grub-macho2img.h2m: New file.
3296 * docs/man/grub-mkconfig.h2m: New file.
3297 * docs/man/grub-mkdevicemap.h2m: New file.
3298 * docs/man/grub-mkfont.h2m: New file.
3299 * docs/man/grub-mkimage.h2m: New file.
3300 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
3301 * docs/man/grub-mkrelpath.h2m: New file.
3302 * docs/man/grub-mkrescue.h2m: New file.
3303 * docs/man/grub-ofpathname.h2m: New file.
3304 * docs/man/grub-pe2elf.h2m: New file.
3305 * docs/man/grub-probe.h2m: New file.
3306 * docs/man/grub-reboot.h2m: New file.
3307 * docs/man/grub-script-check.h2m: New file.
3308 * docs/man/grub-set-default.h2m: New file.
3309 * docs/man/grub-setup.h2m: New file.
3310
3a37e322
VS
33112010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 Use FOR_* macros instead of *_iterate whenever possible.
3314
3315 * commands/handler.c: Removed.
3316 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
3317 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
3318 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
3319 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
3320 (grub_probe_SOURCES): Remove kern/parser.c.
3321 (util/grub-script-check.c_DEPENDENCIES): Removed.
3322 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
3323 and grub_script_check_init.c.
3324 (grub_script_check_init.lst): Removed.
3325 (grub_script_check_init.h): Likewise.
3326 (grub_script_check_init.c): Likewise.
3327 (pkglib_MODULES): Remove handler.mod and sh.mod.
3328 (handler_mod_SOURCES): Removed.
3329 (handler_mod_CFLAGS): Likewise.
3330 (handler_mod_LDFLAGS): Likewise.
3331 (normal_mod_SOURCES): Remove normal/handler.c.
3332 Add script/main.c, script/script.c, script/execute.c,
3333 script/function.c, script/lexer.c, grub_script.tab.c
3334 and grub_script.yy.c.
3335 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
3336 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
3337 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
3338 (grub_setup_SOURCES): Remove kern/parser.c.
3339 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
3340 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
3341 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
3342 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
3343 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
3344 (grub_setup_SOURCES): Remove kern/parser.c.
3345 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
3346 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
3347 * include/grub/command.h (grub_command_iterate): Removed.
3348 (FOR_COMMANDS): New macro.
3349 * include/grub/dl.h (grub_dl): New member next.
3350 (grub_dl_iterate): Removed.
3351 (grub_dl_head): New variable declaration.
3352 (FOR_DL_MODULES): New macro.
3353 * include/grub/fs.h: Include list.h.
3354 (grub_fs): Make next first element.
3355 (grub_fs_list): New variable declaration.
3356 (grub_fs_register): Make inline.
3357 (grub_fs_unregister): Likewise.
3358 (grub_fs_iterate): Removed.
3359 (FOR_FILESYSTEMS): New macro.
3360 * include/grub/handler.h: Removed.
3361 * include/grub/list.h (grub_list_hook_t): Removed.
3362 (grub_list_test_t): Likewise.
3363 (grub_list_pop): Likewise.
3364 (grub_list_iterate): Likewise.
3365 (grub_list_insert): Likewise.
3366 (FOR_LIST_ELEMENTS): New macro.
3367 * include/grub/parser.h (grub_parser_class): Removed.
3368 (grub_parser_register): Likewise.
3369 (grub_parser_unregister): Likewise.
3370 (grub_parser_get_current): Likewise.
3371 (grub_parser_set_current): Likewise.
3372 (grub_register_rescue_parser): Likewise.
3373 (grub_rescue_parse_line): New function.
3374 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
3375 * include/grub/script_sh.h (grub_script_function_list): New variable
3376 declaration.
3377 (FOR_SCRIPT_FUNCTIONS): New macro.
3378 (grub_script_function_iterate): Removed.
3379 (grub_normal_parse_line): New prototype.
3380 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
3381 (FOR_DISABLED_TERM_INPUTS): Likewise.
3382 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
3383 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
3384 * include/grub/video.h (grub_video_adapter): Move 'next' to first
3385 element.
3386 (grub_video_register): Inline.
3387 (grub_video_unregister): Likewise.
3388 (grub_video_adapter_list): New variable declaration.
3389 (grub_video_iterate): Removed.
3390 (FOR_VIDEO_ADAPTERS): New macro.
3391 * kern/dl.c (grub_dl_list): Removed. All users updated.
3392 (grub_dl_iterate): Removed.
3393 * kern/fs.c (grub_fs_list): Make global.
3394 (grub_fs_register): Removed.
3395 (grub_fs_unregister): Likewise.
3396 (grub_fs_iterate): Likewise.
3397 * kern/handler.c: Removed.
3398 * kern/list.c (grub_list_pop): Removed.
3399 (grub_list_iterate): Likewise.
3400 (grub_list_insert): Likewise.
3401 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
3402 (grub_prio_list_insert): Don't use grub_list_insert.
3403 * kern/main.c (grub_register_rescue_parser): Don't call
3404 grub_register_rescue_parser.
3405 * kern/parser.c (grub_parser_class): Removed.
3406 (grub_parser_execute): Use grub_rescue_parse_line.
3407 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
3408 (grub_rescue_parser): Removed.
3409 (grub_register_rescue_parser): Likewise.
3410 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
3411 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
3412 (grub_auth_check_authentication): Likewise.
3413 * normal/completion.c (iterate_command): Removed.
3414 (grub_normal_do_completion): Use FOR_COMMANDS.
3415 * normal/handler.c: Removed.
3416 * normal/main.c (read_config_file): Remove parser changing.
3417 (grub_normal_execute): Don't call read_handler_list.
3418 (grub_normal_read_line_real): Statically allocate prompt.
3419 (grub_cmdline_run): Use grub_normal_parse_line.
3420 (GRUB_MOD_FINI): Don't call free_handler_list.
3421 * normal/menu_entry.c (run): Likewise.
3422 * script/function.c (grub_script_function_list): Make global.
3423 (grub_script_function_iterate): Removed.
3424 * script/main.c (grub_normal_parse_line): Make global.
3425 (grub_sh_parser): Removed.
3426 (GRUB_MOD_INIT): Likewise.
3427 (GRUB_MOD_FINI): Likewise.
3428 * tests/lib/functional_test.c (grub_functional_test): Use
3429 FOR_LIST_ELEMENTS.
3430 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
3431 (grub_test_run): Use FOR_LIST_ELEMENTS.
3432 * tests/lib/unit_test.c (main): Likewise.
3433 * util/deviceiter.c (grub_util_iterate_devices): Don't use
3434 grub_list_pop.
3435 * util/grub-fstest.c (grub_term_input_class): Removed.
3436 (grub_term_output_class): Likewise.
3437 * util/grub-probe.c: Likewise.
3438 * util/i386/pc/grub-setup.c: Likewise.
3439 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3440 * util/grub-script-check.c (main): Don't call grub_init_all and
3441 grub_fini_all.
3442 * video/video.c (grub_video_adapter_list): Make global.
3443 (grub_video_register): Removed.
3444 (grub_video_unregister): Likewise.
3445 (grub_video_iterate): Likewise.
3446
6289c3a7
VS
34472010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3448
3449 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
3450 reported by Henrique Ferreiro.
3451
91460247
RM
34522010-06-09 Robert Millan <rmh@gnu.org>
3453
3454 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
3455 ones, when both are available.
3456
0ea7c4f9
GS
34572010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
3458
3459 Make --version uniform and avoid hard-coded program name.
3460
3461 * util/grub-mkimage.c (main): Use `program_name' instead of
3462 hard-coded string.
3463 * util/i386/pc/grub-setup.c (main): Likewise.
3464 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
3465 * util/grub-install.in: Save the basename of $0 in $self, and use the
3466 latter in informational messages. Use the same format for --version
3467 as the binary programs.
3468 * util/grub-mkconfig.in: Likewise.
3469 * util/grub-mkrescue.in: Likewise.
3470 * util/grub-reboot.in: Likewise.
3471 * util/grub-set-default.in: Likewise.
3472 * util/i386/efi/grub-install.in: Likewise.
3473 * util/ieee1275/grub-install.in: Likewise.
3474 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3475
e8a6f3b6
GS
34762010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
3477
3478 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
3479 embedding area. Use <= instead of == when checking for non-emptiness.
3480
f4d095d7
GS
34812010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
3482
3483 * configure.ac: Add `.' to the directories searched for unifont.
3484
50e532ca
CW
34852010-06-08 Colin Watson <cjwatson@ubuntu.com>
3486
3487 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
3488 grub_script.yy.h.
3489
d39f3dec
CW
34902010-06-08 Colin Watson <cjwatson@ubuntu.com>
3491
3492 * docs/grub.texi (History): Expand to cover GRUB 2.
3493 (Serial terminal): Refer to `terminal_input' and `terminal_output'
3494 commands, not `terminal'.
3495 (serial): Likewise.
3496 (terminal_input): New section.
3497 (terminal_output): New section.
3498 (uppermem): New section (stub).
3499 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
3500
6ef0ddb4
CW
35012010-06-08 Colin Watson <cjwatson@ubuntu.com>
3502
3503 * docs/grub.texi (Security): Menu entries are unrestricted by
3504 default, not restricted to superusers as I had previously thought.
3505 Reword to account for this.
3506
e0f4c438
CW
35072010-06-07 Colin Watson <cjwatson@ubuntu.com>
3508
3509 * kern/emu/misc.c (device_mapper_null_log): New function.
3510 (grub_device_mapper_supported): New function.
3511 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
3512 prototype.
3513 * kern/emu/hostdisk.c (find_partition_start): Check whether
3514 device-mapper is supported before trying to use it.
3515 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
3516
da908200
CW
35172010-06-07 Colin Watson <cjwatson@ubuntu.com>
3518
3519 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
3520 (File name syntax): Likewise.
3521 (help): --all is no longer supported in GRUB 2. Be more precise
3522 about pattern matching.
3523
fb55c3ac
CW
35242010-06-07 Colin Watson <cjwatson@ubuntu.com>
3525
3526 * normal/completion.c (grub_normal_do_completion): When completing
3527 arguments to "set" and the current word contains an equals sign,
3528 skip to after the equals sign before starting completion.
3529
258c2573
CW
35302010-06-07 Colin Watson <cjwatson@ubuntu.com>
3531
3532 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
3533
ee75515e
CW
35342010-06-07 Colin Watson <cjwatson@ubuntu.com>
3535
3536 * docs/grub.texi (Network): New section.
3537 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
3538 `(nd)' as in GRUB Legacy.
3539 (pxe_unload): New section.
3540
a6a700aa
CW
35412010-06-07 Colin Watson <cjwatson@ubuntu.com>
3542
3543 * docs/grub.texi (Troubleshooting): `echo' is not usually available
3544 in the rescue shell, so recommend using `set' instead. Thanks,
3545 Jordan Uggla.
3546
4003dd38
CW
35472010-06-07 Colin Watson <cjwatson@ubuntu.com>
3548
3549 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
3550 (password): New section.
3551 (password_pbkdf2): New section.
3552 (search): New section.
3553 (Security): New section.
3554 (Troubleshooting): New section, currently very incomplete.
3555 (Invoking grub-mkpasswd-pbkdf2): New section.
3556 (Internals): New section, currently very incomplete.
3557
e1cbcc40
CW
35582010-06-07 Colin Watson <cjwatson@ubuntu.com>
3559
3560 * util/grub.d/00_header.in: Add some more quoting (of
3561 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
3562 work again.
3563 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
3564
db8fa1ad
CW
35652010-06-07 Colin Watson <cjwatson@ubuntu.com>
3566
3567 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
3568 to `count', fixing variable shadowing that broke the -c option.
3569
35702010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
3571
3572 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
3573 in case they contain spaces.
3574
f28a9212
CW
35752010-06-04 Colin Watson <cjwatson@ubuntu.com>
3576
3577 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
3578 "part_" to partmap module names, in line with grub-install.
3579 Reported by: Jindřich Makovička (Debian bug #584426).
3580
9cdfe32f
CW
35812010-06-04 Colin Watson <cjwatson@ubuntu.com>
3582
3583 * util/grub-mkimage.c: Make target-related error messages slightly
3584 more helpful; -O talks about "format". Explicitly point to the use
3585 of -O if no target is specified.
3586 Reported by: Didier Raboud (Debian bug #584415).
3587
795b593a
CW
35882010-06-03 Colin Watson <cjwatson@ubuntu.com>
3589
3590 * INSTALL: Document several build requirements for optional features
3591 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
3592
9d9b5833
GS
35932010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
3594
3595 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
3596 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
3597 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
3598
0819fec8
CW
35992010-06-02 Colin Watson <cjwatson@ubuntu.com>
3600
3601 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
3602 Thanks to Jordan Uggla for spotting this.
3603
49396b4f
VS
36042010-06-02 Aleš Nesrsta <starous@volny.cz>
3605
3606 Finally make USB usable.
3607
3608 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
3609 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
3610 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
3611 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
3612 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
3613 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
3614 (GRUB_OHCI_FSMPS): Likewise.
3615 (GRUB_OHCI_PERIODIC_START): Likewise.
3616 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
3617 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
3618 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
3619 (GRUB_OHCI_SET_PORT_RESET): Likewise.
3620 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
3621 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
3622 (grub_ohci_transaction): Likewise.
3623 (grub_ohci_transfer): Improve condition detection algorithms.
3624 Handle toggle property. Program the transactions correctly.
3625 Improve error handling. Various important fixups.
3626 (grub_ohci_portstatus): Put register writes in right order.
3627 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
3628 (grub_uhci_transfer): Don't show "failed" message on success.
3629 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
3630 array.
3631 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
3632 determine its size.
3633 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
3634 before initialization is completed. Use IN direction for empty
3635 transfers. Use last_trans and compute toggle.
3636 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
3637 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
3638 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
3639 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
3640 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
3641 (grub_usb_device): Increase toggle to 256.
3642 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
3643 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
3644 GRUB_USBMS_SUBCLASS_SFF8070.
3645 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
3646 (grub_scsi_inquiry): New member page and alloc_length.
3647 (grub_scsi_request_sense): New structure.
3648 (grub_scsi_request_sense_data): Likewise.
3649 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
3650 control.
3651 * disk/scsi.c (grub_scsi_request_sense): New function.
3652 (grub_scsi_test_unit_ready): Likewise.
3653 (grub_scsi_inquiry): Fill new fields.
3654 (grub_scsi_read_capacity): Likewise.
3655 (grub_scsi_read10): Add request sense at the end.
3656 (grub_scsi_read12): Likewise.
3657 (grub_scsi_write10): Likewise.
3658 (grub_scsi_write12): Likewise.
3659 (grub_scsi_open): Add Test Unit Ready.
3660 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
3661 Support additional subclasses. Con't clear halt yet. Activate the
3662 proper config. Calculate LUNs correctly.
3663 (grub_usbms_transfer): Various important fixups.
3664
36652010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3666
3667 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
3668 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
3669 (grub_ohci_fini_hw): New function.
3670 (grub_ohci_restore_hw): Likewise.
3671 (GRUB_MOD_INIT(ohci)): Register preboot hook.
3672 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
3673 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
3674
36752010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 Dedicated DMA allocations.
3678
3679 * bus/pci.c (grub_memalign_dma32): New function
3680 (grub_dma_free): Likewise.
3681 (grub_dma_get_virt): Likewise.
3682 (grub_dma_get_phys): Likewise.
3683 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
3684 (grub_ohci_pci_iter): Use dma32_alloc.
3685 (grub_ohci_transfer): Likewise.
3686 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
3687 (grub_usb_bulk_readwrite): Likewise.
3688 * include/grub/pci.h: Add declarations.
3689
36902010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 CS5536 support.
3693
3694 * bus/cs5536.c: New file.
3695 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
3696 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
3697 (cs5536_mod_SOURCES): New variable.
3698 (cs5536_mod_CFLAGS): Likewise.
3699 (cs5536_mod_LDFLAGS): Likewise.
3700 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
3701 machine/pci.h.
3702 (kernel_img_SOURCES): Add bus/cs5536.c.
3703 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
3704 usb_keyboard.mod.
3705 (usb_mod_SOURCES): New variable.
3706 (usb_mod_CFLAGS): New variable.
3707 (usb_mod_LDFLAGS): New variable.
3708 (usbtest_mod_SOURCES): New variable.
3709 (usbtest_mod_CFLAGS): New variable.
3710 (usbtest_mod_LDFLAGS): New variable.
3711 (ohci_mod_SOURCES): New variable.
3712 (ohci_mod_CFLAGS): New variable.
3713 (ohci_mod_LDFLAGS): New variable.
3714 (usbms_mod_SOURCES): New variable.
3715 (usbms_mod_CFLAGS): New variable.
3716 (usbms_mod_LDFLAGS): New variable.
3717 (usb_keyboard_mod_SOURCES): New variable.
3718 (usb_keyboard_mod_CFLAGS): New variable.
3719 (usb_keyboard_mod_LDFLAGS): New variable.
3720 * include/grub/smbus.h: New file.
3721 * include/grub/cs5536.h: New file.
3722
0b35b2a9
CW
37232010-06-02 Colin Watson <cjwatson@ubuntu.com>
3724
3725 * util/grub.d/00_header.in: Add safety check to make sure that
3726 ${locale_dir} exists before trying to probe it.
3727
ca0afd5b
CW
37282010-06-02 Colin Watson <cjwatson@ubuntu.com>
3729
3730 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
3731 per the GNU Coding Standards; this is now too obscure to be worth
3732 documenting.
3733 (QNX): Likewise.
3734 (chainloader): Remove cross-reference to `SCO UnixWare'.
3735
1c41aa78
CW
37362010-06-02 Colin Watson <cjwatson@ubuntu.com>
3737
3738 * docs/grub.texi (Chain-loading): New section.
3739 (DOS/Windows): New section, borrowed from GRUB Legacy with details
3740 adjusted for GRUB 2.
3741 (SCO UnixWare): Likewise.
3742 (QNX): Likewise.
3743 (chainloader): Add reference to `Block list syntax'.
3744 (drivemap): New section.
3745 (parttool): New section.
3746
bb8ea0f5
CW
37472010-06-02 Colin Watson <cjwatson@ubuntu.com>
3748
3749 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
3750 the grub shell'.
3751 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
3752 (Installing GRUB using grub-install): Remove reference to the grub
3753 shell; mention `grub-mkimage' and `grub-setup' instead.
3754 (Invoking grub-install): Likewise.
3755 (Interface): Add reference to `Menu entry editor'.
3756 (serial): Remove `--device' option.
3757
288dd6ed
CW
37582010-06-02 Colin Watson <cjwatson@ubuntu.com>
3759
3760 * docs/grub.texi (Configuration): New section, documenting
3761 configuration file generation using grub-mkconfig. I've left a slot
3762 for documenting the full shell scripting format but have not yet
3763 started on writing that up.
3764 (Invoking grub-mkconfig): New section.
3765
34c9f0e9
CW
37662010-06-02 Colin Watson <cjwatson@ubuntu.com>
3767
3768 * docs/grub.texi (direntry): Remove grub-terminfo reference.
3769 (GNU GRUB manual): Likewise.
3770 (General commands): Update description of `terminfo' for GRUB 2.
3771
9121567e
CW
37722010-06-02 Colin Watson <cjwatson@ubuntu.com>
3773
3774 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
3775 (GRUB_MOD_INIT): Fix capitalisation.
3776 * docs/grub.texi (Command-line and menu entry commands): Document
3777 gettext and gptsync commands.
3778
ab631611
CW
37792010-06-02 Colin Watson <cjwatson@ubuntu.com>
3780
3781 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
3782 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
3783
bde4a9ac
CW
37842010-06-01 Colin Watson <cjwatson@ubuntu.com>
3785
3786 Add btrfs probing support, currently only in the single-device case.
3787
3788 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
3789 function.
3790 (grub_guess_root_device): Call find_root_device_from_mountinfo
3791 before looking in /dev.
3792
b1d17e10
VS
37932010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
3796 GRUB_DISK_SIZE_UNKNOWN.
3797 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
3798
dfbfe004
JS
37992010-05-31 Jiro SEKIBA <jir@unicus.jp>
3800
3801 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
3802 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
3803 corrupted or not synced properly.
3804
c2ffc8e9
VS
38052010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
3808 Reported by: Seth Goldberg.
3809
56293166
VS
38102010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3811
3812 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
3813 addition of dest.
3814 Reported by: Seth Goldberg.
3815
7620e7de
VS
38162010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3817
3818 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
3819 Reported by: Seth Goldberg.
3820
c837af3f
VS
38212010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3822
3823 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
3824 64-bit address as signed on MIPS.
3825
c7c75cf4
CW
38262010-05-28 Colin Watson <cjwatson@ubuntu.com>
3827
3828 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
3829 to the empty string.
3830
fa4b8490
BC
38312010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
3832
3833 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
3834
3835 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
3836 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
3837 * kern/misc.c (__enable_execute_stack): Disable on
3838 GRUB_MACHINE_EMU.
3839
a33075b9
CW
38402010-05-28 Colin Watson <cjwatson@ubuntu.com>
3841
3842 Make grub-probe work with symbolic links under /dev/mapper as well
3843 as with real block devices. The Linux world seems to be (at best)
3844 in transition here, and GRUB shouldn't get caught in the middle.
3845
3846 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
3847 /dev/mapper.
3848
d8708134
CW
38492010-05-27 Colin Watson <cjwatson@ubuntu.com>
3850
3851 * util/grub-script-check.c (main): Ensure defined behaviour on empty
3852 input files (in which case exit zero).
3853
db2102a0
CW
38542010-05-27 Colin Watson <cjwatson@ubuntu.com>
3855
3856 * kern/emu/misc.c (canonicalize_file_name): realpath can still
3857 return NULL for various reasons even if it has a maximum-length
3858 buffer: for example, there might be a symlink loop, or the path
3859 might exceed PATH_MAX. If this happens, return NULL.
3860
5fdba519
RM
38612010-05-27 Robert Millan <rmh@gnu.org>
3862
3863 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
3864 partmap module to handle cross-partmap setups.
3865 Reported by Orestes Mas. Gràcies!
3866
d1d368e4
CW
38672010-05-27 Colin Watson <cjwatson@ubuntu.com>
3868
3869 * util/grub-mkrescue.in: Initialise override_dir rather than
3870 assuming that it's unset or empty in the environment.
3871
95ac3c73
GS
38722010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3873
3874 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
3875 variable index into p_index to suppress a warning with -Wshadow.
3876
7d8c0213
BC
38772010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
3878
3879 * INSTALL: Added flex >= 2.5.35 requirement.
3880
db4d5813
VS
38812010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
3884
f24f4300
VS
38852010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
3886
3887 cmostest support.
3888
3889 * commands/i386/cmostest.c: New file.
3890 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
3891 (cmostest_mod_SOURCES): New variable.
3892 (cmostest_mod_CFLAGS): Likewise.
3893 (cmostest_mod_LDFLAGS): Likewise.
3894 * conf/i386-pc.rmk: Likewise.
3895 * docs/grub.texi (Vendor power-on keys): New section.
3896 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
3897 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
3898 and GRUB_BUTTON_CMOS_ADDRESS.
3899 * util/grub.d/00_header.in: Handle powering-on by separate button.
3900
ad603f61
VS
39012010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
3902
3903 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
3904 Removed drawing_scrollbar argument. All users updated
3905 Fixes #29792.
3906 Reported by Jo Shields
3907
3ecb080a
VS
39082010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
3909
3910 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
3911 buffer since gfxterm handles double repaint.
3912
5f2316c1
VS
39132010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
3916 * term/gfxterm.c (real_scroll): Likewise.
3917
9a25f885
VS
39182010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
3921 before calling BIOS.
3922
39fbb79a
VS
39232010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3924
3925 * include/grub/i18n.h: Always enable grub_gettext.
3926
228cfa97
VS
39272010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
3930 partition naming style.
3931
21717c8f
CW
39322010-05-21 Colin Watson <cjwatson@ubuntu.com>
3933
3934 * util/grub-mkconfig.in: Fix handling of -o so that it works when
3935 not the first option.
3936
c0f48e65
CW
39372010-05-20 Colin Watson <cjwatson@ubuntu.com>
3938
3939 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
3940
96779aec
CW
39412010-05-20 Colin Watson <cjwatson@ubuntu.com>
3942
3943 * util/misc.c: Move inclusion of <limits.h> to ...
3944 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
3945
fa9d256e
GS
39462010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
3947
3948 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
3949 Fix merge error in NetBSD code.
3950 (find_partition_start) [__NetBSD__]: Likewise.
3951
123b7a85
BC
39522010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
3953
3954 Fix grub-mkrescue usage unit testing.
3955
3956 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
3957
74276c0d
CF
39582010-05-18 Christian Franke <franke@computer.org>
3959
3960 * util/grub.d/10_windows.in: Use path names instead of
3961 drive letters to prevent warning from Cygwin 1.7.
3962 Add drivemap command to menuentry if needed.
3963
c4f7b523
ST
39642010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
3965
3966 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
3967 gnumach and gnumach.gz.
3968
95b97950
VS
39692010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * include/grub/i18n.h (gettext): Inline instead of using #define.
3972 (grub_gettext): Likewise.
3973 (_): Likewise.
3974
01b8d2d7
VS
39752010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3976
3977 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
3978 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
3979 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
3980 (main): Add a slash after pkglibdirroot.
3981
654e1d1e
VS
39822010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 * util/grub-install.in: Add missing "in" keyword.
3985
26966aeb
VS
39862010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
3989 Reported by: Seth Goldberg.
3990
75006747
VS
39912010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3992
3993 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
3994
74cbf5bd
CW
39952010-05-18 Colin Watson <cjwatson@ubuntu.com>
3996
3997 * configure.ac: Check for Linux device-mapper support.
3998
3999 * util/hostdisk.c (device_is_mapped): New function.
4000 (find_partition_start): New function, partly broken out from
4001 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
4002 device-mapper support added.
4003 (linux_find_partition): Use find_partition_start.
4004 (convert_system_partition_to_system_disk): Add `st' argument.
4005 Support Linux /dev/mapper/* devices if device-mapper support is
4006 available; only DM-RAID devices are understood at present.
4007 (find_system_device): Add `st' argument. Pass it to
4008 convert_system_partition_to_system_disk.
4009 (grub_util_biosdisk_get_grub_dev): Pass stat result to
4010 find_system_device and convert_system_partition_to_system_disk. Use
4011 find_partition_start.
4012
4013 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
4014 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
4015 * util/deviceiter.c [__linux__]: Define MINOR.
4016 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
4017 * util/mkdevicemap.c (grub_putchar): New function.
4018 (grub_getkey): New function.
4019 (grub_refresh): New function.
4020 (main): Set debug=all if -v -v is used.
4021
355b51e9
CW
40222010-05-18 Colin Watson <cjwatson@ubuntu.com>
4023
4024 Fix build with non-GNU libcs.
4025
4026 * util/misc.c (canonicalize_file_name): Move to ...
4027 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
4028 grub_make_system_path_relative_to_its_root.
4029
7fb5c25f
CW
40302010-05-18 Colin Watson <cjwatson@ubuntu.com>
4031
4032 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
4033 we handle finding grub-mkimage. Default to finding grub-mkimage in
4034 ${bindir} with program_transform_name applied, and provide a
4035 --grub-mkimage option to override this.
4036
1d3293d6
VS
40372010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4038
4039 Remove grub-mkisofs.
4040
4041 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
4042 (grub_mkisofs_SOURCES): Removed.
4043 (grub_mkisofs_CFLAGS): Removed.
4044 * util/mkisofs/defaults.h: Removed.
4045 * util/mkisofs/eltorito.c: Likewise.
4046 * util/mkisofs/exclude.h: Likewise.
4047 * util/mkisofs/hash.c: Likewise.
4048 * util/mkisofs/include/: Likewise.
4049 * util/mkisofs/include/fctldefs.h: Likewise.
4050 * util/mkisofs/include/mconfig.h: Likewise.
4051 * util/mkisofs/include/prototyp.h: Likewise.
4052 * util/mkisofs/include/statdefs.h: Likewise.
4053 * util/mkisofs/iso9660.h: Likewise.
4054 * util/mkisofs/joliet.c: Likewise.
4055 * util/mkisofs/match.c: Likewise.
4056 * util/mkisofs/match.h: Likewise.
4057 * util/mkisofs/mkisofs.c: Likewise.
4058 * util/mkisofs/mkisofs.h: Likewise.
4059 * util/mkisofs/msdos_partition.h: Likewise.
4060 * util/mkisofs/multi.c: Likewise.
4061 * util/mkisofs/name.c: Likewise.
4062 * util/mkisofs/rock.c: Likewise.
4063 * util/mkisofs/tree.c: Likewise.
4064 * util/mkisofs/write.c: Likewise.
4065
5dde9afe
VS
40662010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 Unify grub-mkimage accross platforms.
4069
4070 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
4071 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
4072 (grub_mkelfimage_SOURCES): Removed.
4073 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
4074 (util/grub-mkimage.c_DEPENDENCIES): .. this.
4075 (bin_UTILITIES): Add grub-mkimage.
4076 (grub_mkimage_SOURCES): New variable.
4077 (kernel_img_HEADERS): Remove machine/kernel.h.
4078 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
4079 (pkglib_PROGRAMS): Add kernel.img.
4080 (kernel_img_HEADERS): Add machine/kernel.h.
4081 (kernel_img_FORMAT): Removed.
4082 (bin_UTILITIES): Remove grub-mkimage.
4083 (grub_mkimage_SOURCES): Removed.
4084 (grub_mkimage_CFLAGS): Likewise.
4085 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
4086 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
4087 (pkglib_PROGRAMS): Add kernel.img.
4088 (bin_UTILITIES): Remove grub-mkimage.
4089 (grub_mkimage_SOURCES): Removed.
4090 (grub_mkimage_CFLAGS): Likewise.
4091 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
4092 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
4093 (pkglib_PROGRAMS): Add kernel.img.
4094 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
4095 (pkglib_PROGRAMS): Add kernel.img.
4096 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
4097 (grub_mkimage_SOURCES): Removed.
4098 (grub_mkimage_CFLAGS): Likewise.
4099 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
4100 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
4101 (pkglib_PROGRAMS): Add kernel.img.
4102 (bin_UTILITIES): Remove grub-mkimage.
4103 (grub_mkimage_SOURCES): Removed.
4104 (grub_mkimage_CFLAGS): Likewise.
4105 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
4106 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
4107 (grub_mkimage_SOURCES): Removed.
4108 (grub_mkimage_CFLAGS): Likewise.
4109 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
4110 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
4111 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
4112 (grub_pe32_optional_header): ... this.
4113 (grub_pe64_optional_header): ... and this. All users updated.
4114 (GRUB_PE32_PE32_MAGIC): Split into ..
4115 (GRUB_PE32_PE32_MAGIC): .. this.
4116 (GRUB_PE32_PE64_MAGIC): .. and this.
4117 (GRUB_PE32_SIGNATURE_SIZE): New definition.
4118 * include/grub/elf.h (PT_GNU_STACK): New definition.
4119 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
4120 * include/grub/i386/efi/kernel.h: Likewise.
4121 * include/grub/i386/kernel.h: Likewise.
4122 * include/grub/i386/pc/kernel.h: Likewise.
4123 * include/grub/i386/qemu/boot.h: Likewise.
4124 * include/grub/mips/kernel.h: Likewise.
4125 * include/grub/mips/qemu-mips/kernel.h: Likewise.
4126 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
4127 * include/grub/powerpc/kernel.h: Likewise.
4128 * include/grub/sparc64/ieee1275/boot.h: Likewise.
4129 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
4130 * include/grub/sparc64/kernel.h: Likewise.
4131 * include/grub/x86_64/efi/kernel.h: Likewise.
4132 * include/grub/x86_64/kernel.h: Likewise.
4133 * include/grub/offsets.h: New file.
4134 * include/grub/kernel.h (grub_module_info): Split into ...
4135 (grub_module_info32): ... this.
4136 (grub_module_info64): ... and this.
4137 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
4138 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
4139 (grub_boot_blocklist): Moved from here ...
4140 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
4141 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
4142 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
4143 * include/grub/types.h (grub_target_to_host16): Removed.
4144 (grub_target_to_host32): Likewise.
4145 (grub_target_to_host64): Likewise.
4146 (grub_host_to_target16): Likewise.
4147 (grub_host_to_target32): Likewise.
4148 (grub_host_to_target64): Likewise.
4149 (grub_host_to_target_addr): Likewise.
4150
4151 Support grub-mkrescue for efi, coreboot and qemu.
4152
4153 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
4154 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
4155 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
4156 * util/grub-mkrawimage.c: Moved from here ...
4157 * util/grub-mkimage.c: ... here. All users updated.
4158 (ALIGN_ADDR): Use image_target.
4159 (TARGET_NO_FIELD): New const.
4160 (image_target_desc): New type.
4161 (image_targets): New array.
4162 (grub_target_to_host64): Use image_target.
4163 (grub_target_to_host32): Likewise.
4164 (grub_target_to_host16): Likewise.
4165 (grub_host_to_target64): Likewise.
4166 (grub_host_to_target32): Likewise.
4167 (grub_host_to_target16): Likewise.
4168 (grub_host_to_target_addr): Likewise.
4169 (generate_image): Handle multiimage.
4170 (main): Require -O parameter. All users updated.
4171 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
4172 util/efi/grub-mkimage.c
4173 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
4174 New option --rom-directory.
4175 Use xorriso.
4176 * util/i386/efi/grub-mkimage.c: Removed.
4177 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
4178 (grub_target_to_host32): Likewise.
4179 (grub_target_to_host64): Likewise.
4180 (grub_host_to_target16): Likewise.
4181 (grub_host_to_target32): Likewise.
4182 (grub_host_to_target64): Likewise.
4183 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
4184 (grub_target_to_host32): Likewise.
4185 (grub_target_to_host64): Likewise.
4186 (grub_host_to_target16): Likewise.
4187 (grub_host_to_target32): Likewise.
4188 (grub_host_to_target64): Likewise.
4189
f4fc97d0
BC
41902010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
4191
4192 Source tree is reorganized for emu build.
4193
4194 * include/grub/util/console.h: Move from here...
4195 * include/grub/emu/console.h: ...to here.
4196 * include/grub/util/getroot.h: Move from here...
4197 * include/grub/emu/getroot.h: ...to here.
4198 * include/grub/util/hostdisk.h: Move from here...
4199 * include/grub/emu/hostdisk.h: ...to here.
4200 * util/console.c: Move from here...
4201 * kern/emu/console.c: ...to here.
4202 * util/getroot.c: Move from here...
4203 * kern/emu/getroot.c: ...to here.
4204 * util/grub-emu.c: Move from here...
4205 * kern/emu/main.c: ...to here.
4206 * util/hostdisk.c: Move from here...
4207 * kern/emu/hostdisk.c: ...to here.
4208 * util/hostfs.c: Move from here...
4209 * kern/emu/hostfs.c: ...to here.
4210 * util/mm.c: Move from here...
4211 * kern/emu/mm.c: ...to here.
4212 * util/pci.c: Move from here...
4213 * bus/emu/pci.c: ...to here.
4214 * util/sdl.c: Move from here...
4215 * video/emu/sdl.c: ...to here.
4216 * util/time.c: Move from here...
4217 * kern/emu/time.c: ...to here.
4218 * util/usb.c: Move from here...
4219 * bus/usb/emu/usb.c: ...to here.
4220
4221 * include/grub/emu/misc.h: New header for grub-emu functions.
4222 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
4223
4224 * conf/any-emu.rmk: Rule updates for above renames.
4225 * conf/common.rmk: Likewise.
4226 * conf/i386-pc.rmk: Likewise.
4227 * conf/i386-qemu.rmk: Likewise.
4228 * conf/mips.rmk: Likewise.
4229 * conf/sparc64-ieee1275.rmk: Likewise.
4230 * conf/x86-efi.rmk: Likewise.
4231
4232 * disk/lvm.h: #include updates for above renames.
4233 * util/grub-mkrelpath.c: Likewise.
4234 * util/grub-probe.c: Likewise.
4235 * util/i386/pc/grub-setup.c: Likewise.
4236 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4237 * kern/emu/console.c: Likewise.
4238 * kern/emu/getroot.c: Likewise.
4239 * kern/emu/hostdisk.c: Likewise.
4240 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
4241
4242 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
4243 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
4244 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
4245 * util/misc.c: Remove grub-emu functions.
4246
cced9145
VS
42472010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 Fix gfxmenu crash.
4250 Reported by: Thorsten Grützmacher.
4251
4252 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
4253 timeout hook.
4254 (circprog_set_property): Register and unregister timeout hook.
4255 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
4256 (label_destroy): Free template. and unregister hook.
4257 (label_set_state): New function.
4258 (label_set_property): Handle templates and hooks.
4259 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
4260 timeout hook.
4261 (progress_bar_set_property): Register and unregister timeout hook.
4262 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
4263 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
4264 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
4265 (update_timeout_visit): Removed.
4266 (update_timeouts): New function.
4267 (redraw_timeouts): Likewise.
4268 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
4269 (grub_gfxmenu_clear_timeout): Likewise.
4270 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
4271 (grub_gfxmenu_timeout_notify): Likewise.
4272 (grub_gfxmenu_timeout_notifications): New external variable.
4273 (grub_gfxmenu_timeout_register): New function.
4274 (grub_gfxmenu_timeout_unregister): Likewise.
4275
c6e5caab
VS
42762010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4277
4278 Transform (broken) vga terminal into (working) vga video driver.
4279
4280 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
4281 video/i386/pc/vga.c.
4282 * include/grub/video.h (grub_video_driver_id):
4283 Add GRUB_VIDEO_DRIVER_VGA.
4284 * term/i386/pc/vga.c: Renamed to ...
4285 * video/i386/pc/vga.c: ...this
4286 (DEBUG_VGA): Removed.
4287 (CHAR_WIDTH): Likewise.
4288 (CHAR_HEIGHT): Likewise.
4289 (TEXT_WIDTH): Likewise.
4290 (TEXT_HEIGHT): Likewise.
4291 (DEFAULT_FG_COLOR): Likewise.
4292 (DEFAULT_BG_COLOR): Likewise.
4293 (colored_char): Likewise.
4294 (xpos): Likewise.
4295 (ypos): Likewise.
4296 (cursor_state): Likewise.
4297 (fg_color): Likewise.
4298 (bg_color): Likewise.
4299 (text_buf): Likewise.
4300 (page): Likewise.
4301 (font): Likewise.
4302 (framebuffer): New variable.
4303 (set_read_map): Disabled.
4304 (setup): New variable.
4305 (is_target): Likewise.
4306 (grub_vga_mod_init): Likewise.
4307 (grub_vga_mod_fini): Likewise.
4308 (check_vga_mem): Likewise.
4309 (write_char): Likewise.
4310 (write_cursor): Likewise.
4311 (scroll_up): Likewise.
4312 (grub_vga_putchar): Likewise.
4313 (grub_vga_getcharwidth): Likewise.
4314 (grub_vga_getwh): Likewise.
4315 (grub_vga_getxy): Likewise.
4316 (grub_vga_gotoxy): Likewise.
4317 (grub_vga_cls): Likewise.
4318 (grub_vga_setcolorstate): Likewise.
4319 (grub_vga_setcursor): Likewise.
4320 (grub_video_vga_init): New function.
4321 (grub_video_vga_setup): Likewise.
4322 (grub_video_vga_fini): Likewise.
4323 (update_target): Likewise.
4324 (grub_video_vga_blit_bitmap): Likewise.
4325 (grub_video_vga_blit_render_target): Likewise.
4326 (grub_video_vga_set_active_render_target): Likewise.
4327 (grub_video_vga_get_active_render_target): Likewise.
4328 (grub_video_vga_swap_buffers): Likewise.
4329 (grub_video_vga_set_palette): Likewise.
4330 (grub_video_vga_get_info_and_fini): Likewise.
4331 (grub_vga_term): Removed.
4332 (grub_video_vga_adapter): New variable.
4333 (GRUB_MOD_INIT): Register a video driver instead of terminal.
4334 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
4335
2bf61a98
VS
43362010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 * video/readers/jpeg.c: Indented.
4339
09ddcd11
VS
43402010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 Various jpeg cleanups.
4343
4344 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
4345 (grub_jpeg_decode_quan_table): Use sizeof.
4346 (grub_jpeg_decode_du): Use ARRAY_SIZE.
4347
e5507505
PH
43482010-05-05 Peter Hurley <No e-mail available> (tiny change)
4349
4350 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
4351 tables. Ignore non-last ac bit.
4352 (grub_jpeg_decode_quan_table): Likewise.
4353
7e720a9b
VS
43542010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
4357 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
4358 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4359 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
4360 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
4361 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
4362
a7fc080b
VS
43632010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
4366 error.
4367
2bf6012d
VS
43682010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
4371
265d68cd
VS
43722010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
4375 condition.
4376
43772010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
4378
4379 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
4380 part.
4381
265d68cd 43822010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
4383
4384 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
4385 pointers.
4386
265d68cd 43872010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
4388
4389 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
4390
d1b61374
CF
43912010-05-01 Christian Franke <franke@computer.org>
4392
4393 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
4394 Remove broken Cygwin path conversion.
4395 * util/misc.c: [__CYGWIN__] Add include and define.
4396 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
4397 for Cygwin 1.7.
4398 (make_system_path_relative_to_its_root): Simplify loop, replace early
4399 return by break.
4400 [__CYGWIN__] Add conversion to win32 path.
4401 Include "/" case in trailing slash removal.
4402
3558c6e9
VS
44032010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 * kern/main.c (grub_load_config): Fix copy-pasted comment.
4406 Reported by: Seth Goldberg
4407
f5f3ff93
VS
44082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 * commands/help.c (grub_cmd_help): Fix a typo.
4411 Reported by: Seth Goldberg
4412
d8b5cd40
VS
44132010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
4416 name and add N_.
4417 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
4418 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
4419 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
4420 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
4421 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
4422 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
4423 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
4424 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
4425 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
4426 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
4427 * normal/context.c (GRUB_MOD_INIT): Likewise.
4428 * normal/main.c (GRUB_MOD_INIT): Likewise.
4429 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
4430 * term/serial.c (GRUB_MOD_INIT): Likewise.
4431 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
4432
88c14915
VS
44332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4434
4435 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
4436 extra == 0.
4437
165134bc
VS
44382010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * commands/iorw.c: New file.
4441 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
4442 (iorw_mod_SOURCES): New variable.
4443 (iorw_mod_CFLAGS): Likewise.
4444 (iorw_mod_LDFLAGS): Likewise.
4445
c5ac9b32
VS
44462010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 Hotkey support
4449
4450 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
4451 * normal/main.c (hotkey_aliases): New variable.
4452 (grub_normal_add_menu_entry): Parse "--hotkey".
4453 * normal/menu_text.c (run_menu): Handle hotkeys.
4454
ce60689c
VS
44552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4456
4457 * kern/i386/coreboot/init.c (grub_machine_init): Call
4458 grub_machine_mmap_init on qemu.
4459
0359d006
VS
44602010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4461
4462 * boot/i386/qemu/boot.S: Add a missing .code16.
4463
7819a456
VS
44642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4465
4466 Use LBIO on coreboot.
4467
4468 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
4469 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
4470 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
4471 New declaration.
4472 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
4473 grub_machine_mmap_init on coreboot.
4474 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
4475 GRUB_LINUXBIOS_MEMBER_LINK.
4476 (grub_machine_mmap_iterate): Fix declaration.
4477 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
4478
7210dca9
VS
44792010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4480
4481 Split coreboot and multiboot ports.
4482
4483 * conf/i386-multiboot.rmk: New file.
4484 * configure.ac: Add multiboot port.
4485 * include/grub/i386/multiboot/boot.h: New file.
4486 * include/grub/i386/multiboot/console.h: Likewise.
4487 * include/grub/i386/multiboot/init.h: Likewise.
4488 * include/grub/i386/multiboot/kernel.h: Likewise.
4489 * include/grub/i386/multiboot/loader.h: Likewise.
4490 * include/grub/i386/multiboot/memory.h: Likewise.
4491 * include/grub/i386/multiboot/serial.h: Likewise.
4492 * include/grub/i386/multiboot/time.h: Likewise.
4493 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
4494 * loader/multiboot.c: Likewise.
4495 * loader/multiboot_mbi2.c: Likewise.
4496 * util/grub-mkrescue.in: Generate multiboot rescue.
4497
6f8aaf68
VS
44982010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4499
3080f7a7
VS
4500 * kern/parser.c (grub_parser_execute): Cope with read-only config.
4501
45022010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
4505
4506 * commands/terminal.c (abstract_terminal): New struct.
4507 (handle_command): New function. Based on grub_cmd_terminal_input.
4508 (grub_cmd_terminal_input): Use handle_command.
4509 (grub_cmd_terminal_output): Use handle_command.
4510
a8ebb841
BC
45112010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
4512
4513 Fix comment handling.
4514
4515 * tests/grub_script_comments.in: New testcase.
4516 * conf/tests.rmk: Rules for new testcase.
4517 * script/yylex.l: Updated flex rules.
4518
bb06ba08
ST
45192010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
4520
4521 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
4522 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
4523 if argc is 1.
bb06ba08 4524
cc9d2425
VS
45252010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
4528 autogen issues.
4529
460d8402
CF
45302010-04-26 Christian Franke <franke@computer.org>
4531
4532 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
4533 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
4534 (grub_get_prefix): Remove function.
4535 * util/grub-emu.c (main): Replace grub_get_prefix () call by
4536 make_system_path_relative_to_its_root ().
4537 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
4538
553c01f9
CF
45392010-04-24 Christian Franke <franke@computer.org>
4540
4541 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
4542 (kernel_img_LDFLAGS): Remove -static-libgcc.
4543
2aec1692
CF
45442010-04-24 Christian Franke <franke@computer.org>
4545
4546 * configure.ac: Do not CHECK_BSS_START_SYMBOL
4547 and CHECK_END_SYMBOL if grub-emu is built.
4548 Unset TARGET_OBJ2ELF if grub-emu is built
4549 without module support.
4550
f67dc308
JS
45512010-04-24 Jiro SEKIBA <jir@unicus.jp>
4552
4553 Nilfs2 support.
4554
4555 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
4556 (grub_fstest_SOURCES): Likewise.
4557 (pkglib_MODULES): Add nilfs2.mod.
4558 (nilfs2_mod_SOURCES): New variable.
4559 (nilfs2_mod_CFLAGS): Likewise.
4560 (nilfs2_mod_LDFLAGS): Likewise.
4561 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
4562 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
4563 * fs/nilfs2.c: New file.
4564
4ba8d354
VS
45652010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
4568 is not supported.
4569
0d2c20c6
GS
45702010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
4571
4572 Add grub-mkconfig support for NetBSD.
4573
4574 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
4575 * util/grub-mkconfig.in: export new NetBSD specific variables.
4576 * po/POTFILES-shell: added 10_netbsd.in.
4577 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
4578
bc4a2d83
BC
45792010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
4580
4581 Fix emu build with grub-emu-pci and grub-emu-modules.
4582
4583 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
4584 functions.
4585 * include/grub/libpciaccess.h: New file.
4586 * conf/any-emu.rmk: Update kernel headers for emu build.
4587
f48c87aa
VS
45882010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
4591
18959385
VS
45922010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
4595
0037de3f
VS
45962010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
4599 Retrieve chosen/bootpath if bootpath isn't hardcoded.
4600 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
4601 util/ieee1275/ofpath.c.
4602 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
4603 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
4604 * include/grub/sparc64/ieee1275/boot.h
4605 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
4606 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
4607 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
4608 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
4609 const char *.
4610 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
4611 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
4612 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
4613 install.
4614
38e55e90
GS
46152010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
4616
4617 * util/grub-mkconfig.in: Corrected two == equality tests.
4618 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
4619 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
4620 expect a number appended to it.
4621 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
4622 expects a number appended to it.
4623
a9e6ff28
VS
46242010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4625
4626 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
4627
0b830b8f
VS
46282010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4629
4630 * util/hostdisk.c (make_device_name): Change to new partition naming.
4631
0973daeb
VS
46322010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
4635
460d8402 46362010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
4637
4638 * Makefile.in: Add missing localedir setting.
4639
0b456309
CW
46402010-04-14 Colin Watson <cjwatson@ubuntu.com>
4641
4642 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
4643 mistake in r2156. Noticed by Anthony Fok.
4644
4645 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
4646 @localedir@.
4647 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
4648
08f46d62
BC
46492010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
4650
4651 Fix a spurious, uninitialized variable warning.
4652
4653 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
4654 Initialize variable, shdr.
4655 (grub_freebsd_load_elfmodule): Likewise.
4656 (grub_freebsd_load_elf_meta): Likewise.
4657
8c4a72d4
BC
46582010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
4659
4660 Fix for escaped dollar in double quoted strings.
4661
4662 * script/yylex.l: Updated flex rules.
4663 * conf/tests.rmk: Rule for new testcase.
4664 * tests/grub_script_dollar.in: New testcase.
4665
ce44826e
CPE
46662010-04-13 Carles Pina i Estany <carles@pina.cat>
46672010-04-13 Colin Watson <cjwatson@ubuntu.com>
4668
4669 Enclose all translated strings in grub.cfg in single quotes, and
4670 escape them appropriately (Ubuntu bug #552921).
4671
4672 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
4673 * util/grub.d/10_hurd.in: Use it.
4674 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
4675 * util/grub.d/10_linux.in (linux_entry): Likewise.
4676
4b0cd8f8
VS
46772010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 Fix cygwin compilation.
4680
4681 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
4682 * include/grub/misc.h (__register_frame_info)
4683 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
4684 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
4685 * kern/misc.c (__register_frame_info)
4686 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
4687 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
4688
01fcf061
VS
46892010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4690
4691 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
4692
5d04b11e
VS
46932010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 Unify libgcc processing.
4696
4697 * Makefile.in (kernel_img_LDFLAGS): New variable.
4698 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
4699 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
4700 overwriting.
4701 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
4702 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
4703 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
4704 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
4705 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
4706 overwriting. Remove -lgcc and -static-libgcc
4707 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
4708 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
4709 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
4710 (kernel_img_LDFLAGS): Append instead of overwriting.
4711 Remove -lgcc and -static-libgcc
4712 * conf/sparc64-ieee1275.rmk: Likewise.
4713 * include/grub/powerpc/libgcc.h: Move to ...
4714 * include/grub/libgcc.h: .. this.
4715 * include/grub/libgcc.h: Don't export most of the function on x86.
4716 (__bswapsi2): New export.
4717 (__bswapdi2): Likewise.
4718 * include/grub/mips/libgcc.h: Removed.
4719 * include/grub/sparc64/libgcc.h: Likewise.
4720
b7f3ac29
VS
47212010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4722
4723 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
4724 disk_info_msg (conflicts with gettexting into languages with cases).
4725
2c7031b1
GS
47262010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
4727
4728 Add grub-probe support for NetBSD.
4729
4730 * util/getroot.c (find_root_device): Convert block device to
4731 character device on NetBSD.
4732 * util/probe.c (probe): Require character device on NetBSD.
4733 * util/hostdisk.c: NetBSD specific headers.
4734 (configure_device_driver): new function to tune device driver
4735 parameters (currently only for NetBSD floppy driver).
4736 (grub_util_biosdisk_open): NetBSD specific code (get disk size
4737 via disklabel ioctl).
4738 (open_device): call configure_device_driver on NetBSD.
4739 (convert_system_partition_to_system_disk): NetBSD specific code.
4740 (device_is_wholedisk): Likewise.
4741 (grub_util_biosdisk_get_grub_dev): Likewise.
4742 (make_device_name): Fixed a typo in bsd_part_str.
4743 * configure.ac: check for opendisk() and getrawpartition() on
4744 NetBSD and set LIBUTIL.
4745 * Makefile.in: add LIBUTIL to LIBS.
4746
f516290c
BC
47472010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
4748
4749 Documentation fix.
4750
4751 * util/grub-script-check.c: Better help message.
4752
d8dcc0df
BC
47532010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
4754
4755 Fix FreeBSD build.
4756
4757 * configure.ac: Flex version check.
4758 * conf/common.rmk: Add -Wno-error to sh.mod.
4759 * script/yylex.l: Remove all #pragma.
4760
6734334a
VS
47612010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4762
4763 * include/grub/util/misc.h (canonicalise_file_name): Add missing
4764 prototype.
4765 Reported by: Seth Goldberg.
4766
daea6abd
VS
47672010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4768
4769 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
4770 Rename "module" to "module2".
4771 Reported by: Seth Goldberg.
4772
f2fd9d2b
VS
47732010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4774
4775 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
4776 EXPORT_FUNC.
4777 Reported by: Seth Goldberg.
4778
be124579
VS
47792010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 * lib/posix_wrap/locale.h: Add missing file.
4782 Reported by: Seth Goldberg.
4783
ef5da797
VS
47842010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 grub-emu module load support.
4787
4788 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
4789 NO_DYNAMIC_MODULES switched to this.
4790 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
4791 (CFLAGS): Likewise.
4792 * conf/any-emu.rmk: Generate symlist.
4793 (kernel_img_HEADERS): Add util/datetime.h.
4794 (kernel_img_HEADERS) [sdl]: Add sdl.h.
4795 (kernel_img_HEADERS) [libusb]: Add libusb.h.
4796 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
4797 kern/$(target_cpu)/cache.S.
4798 * configure.ac (grub-emu-modules): New option.
4799 * genmk.rb: Handle multiple source lists.
4800 * include/grub/sdl.h: New file.
4801 * include/grub/libusb.h: Likewise.
4802 * util/grub-emu.c (main): Hanle (host) root.
4803 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
4804 GRUB_ERR_UNKNOWN_DEVICE.
4805 * util/misc.c: Move mm functions to ...
4806 * util/mm.c: ... here. All users updated.
4807
47822096
VS
48082010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
4811 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
4812 missing files.
4813 (maintainer-clean): Remove libgcrypt-grub.
4814
5d7e7445
VS
48152010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
4818
25f4e252
EC
48192010-04-09 EFI Coder <eficoder@hotmail.com>
4820
4821 * normal/menu_text.c (print_message): Clean up the message and show
4822 the Fn information when on EFI
4823 * term/efi/console.c (grub_console_checkkey): Add F4 support.
4824
027de555
VS
48252010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
4826
4827 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
4828 All users updated.
4829 * normal/crypto.c (read_crypto_list): Likewise.
4830 * normal/dyncmd.c (read_command_list): Likewise.
4831 * normal/term.c (read_terminal_list): Likewise.
4832 * normal/main.c (read_lists): Use explicit prefix.
4833 (read_lists_hook): Use read_lists.
4834 (grub_normal_execute): Likewise.
4835
47779711
VS
48362010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
4837
4838 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
4839 Reported by: Thomas Schmitt.
4840 Add -no-emul-boot to grub-mkisofs parameters.
4841
1118c32e
VS
48422010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 * font/font.c: Indented.
4845
7d652447
BC
48462010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
4847
4848 Elif support to GRUB script (by Deepak Vankadaru).
4849
4850 * tests/grub_script_if.in: New testcase.
4851 * conf/tests.rmk: Rule for new testcase.
4852 * script/parser.y: Grammar rules for elif.
4853
34bb22df
BC
48542010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
4855
4856 While and until loops support to GRUB script.
4857
4858 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
4859 (grub_script_create_cmdwhile): New function prototype.
4860 (grub_script_execute_cmdwhile): New function prototype.
4861 * script/execute.c (grub_script_execute_cmdwhile): New function.
4862 * script/parser.y (command): New commands.
4863 (whilecmd): New grammar rule.
4864 (untilcmd): New grammar rule.
4865 * script/script.c (grub_script_create_cmdwhile): New function.
4866 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
4867 function.
4868
4869 * tests/grub_script_while1.in: New testcase.
4870 * conf/tests.rmk: Rule for new testcase.
4871
e215d8e0
VS
48722010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
4873
4874 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
4875 as *.jpg.
4876
d7c43ba1
MV
48772010-04-09 Mario Vazquez <mariovazq@gmail.com>
4878
4879 GRUB_BACKGROUND support.
4880
4881 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
4882 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
4883
d64795c0
VS
48842010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
4885
4886 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 4887 Idea by: Mario Vazquez
d64795c0
VS
4888
4889 * util/grub.d/00_header.in: Load pf2 and image modules.
4890
f267f83a
VS
48912010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 grub-mkconfig multiple terminal support.
4894
4895 * util/grub-mkconfig.in: Handle multiple terminals correctly.
4896 * util/grub.d/00_header.in: Likewise.
4897
b7841ceb
VS
48982010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
4899
4900 * Makefile.in: Specify files explicitly instead of using $< and $@ since
4901 we use cd $(srcdir).
4902
df60998c
CW
49032010-04-08 Colin Watson <cjwatson@ubuntu.com>
4904
4905 * util/grub.d/10_linux.in: Only use the first word of
4906 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
4907 spaces in GRUB_DISTRIBUTOR.
4908 * util/grub.d/10_kfreebsd.in: Likewise.
4909 * util/grub.d/10_hurd.in: Likewise.
4910
fa09c82e
BC
49112010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
4912
14e18ae3 4913 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
4914
4915 * tests/util/grub-shell.in: Remove -serial stdio option.
4916
daf892b3
BC
49172010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 POSIX header file wrappers.
4920
4921 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
4922 equivalents.
4923 * lib/posix_wrap/ctype.h: Likewise.
4924 * lib/posix_wrap/errno.h: Likewise.
4925 * lib/posix_wrap/langinfo.h: Likewise.
4926 * lib/posix_wrap/limits.h: Likewise.
4927 * lib/posix_wrap/localcharset.h: Likewise.
4928 * lib/posix_wrap/stdint.h: Likewise.
4929 * lib/posix_wrap/stdio.h: Likewise.
4930 * lib/posix_wrap/stdlib.h: Likewise.
4931 * lib/posix_wrap/string.h: Likewise.
4932 * lib/posix_wrap/sys/types.h: Likewise.
4933 * lib/posix_wrap/unistd.h: Likewise.
4934 * lib/posix_wrap/wchar.h: Likewise.
4935 * lib/posix_wrap/wctype.h: Likewise.
4936 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
4937 (grub_script.yy.h): Likewise.
4938 * script/yylex.l: Remove POSIX emulation #defines.
4939 * Makefile.in (POSIX_CFLAGS): New variable.
4940 (GNULIB_UTIL_CFLAGS): Likewise.
4941
4942 Regexp support.
4943
4944 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
4945 (regexp_mod_SOURCES): New variable.
4946 (regexp_mod_CFLAGS): Likewise.
4947 (regexp_mod_LDFLAGS): Likewise.
4948 * commands/regexp.c: New file.
4949 * gnulib/regcomp.c: New file. Imported from gnulib.
4950 * gnulib/regex.c: Likewise.
4951 * gnulib/regex_internal.c: Likewise.
4952 * gnulib/regex_internal.h: Likewise.
4953 * gnulib/regexec.c: Likewise.
4954 * gnulib/regex.h: Likewise.
4955
974ac4f7
VS
49562010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4957
4958 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
4959 unsupported video mode types.
4960
2622c3ff
VS
49612010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
4964
064cb524
VS
49652010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
4968 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
4969
a8c3b552
VS
49702010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4971
4972 Remove unused grub_vga_get_font.
4973
4974 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
4975 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
4976
187bbe3d
GS
49772010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
4978
4979 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
4980 * include/grub/misc.h: Likewise.
4981
b9396631
GS
49822010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
4983
4984 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
4985 for which failure is fatal.
4986
50479feb
GS
49872010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
4988
4989 * util/grub-install.in: Use mkdir -p to create grub directory.
4990 * util/i386/efi/grub-install.in: Likewise.
4991 * util/ieee1275/grub-install.in: Likewise.
4992
b1654fdf
GS
49932010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
4994
4995 * Makefile.in (LEX): new variable.
4996
bd5a6415
GS
49972010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
4998
4999 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
5000 `=' and added double quotes on operands of this equality test.
5001
3db3a82b
VS
50022010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 * Makefile.in (uninstall): Remove a leftover debug echo.
5005 Reported by: Grégoire Sutre
5006
38023412
VS
50072010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5008
5009 MIPS multiboot2 support.
5010
5011 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
5012 (multiboot2_mod_SOURCES): New variable.
5013 (multiboot2_mod_CFLAGS): Likewise.
5014 (multiboot2_mod_LDFLAGS): Likewise.
5015 (multiboot2_mod_ASFLAGS): Likewise.
5016 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
5017 definition.
5018 (MULTIBOOT_ENTRY_REGISTER): Likewise.
5019 (MULTIBOOT_MBI_REGISTER): Likewise.
5020 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
5021 (MULTIBOOT_ELF32_MACHINE): Likewise.
5022 (MULTIBOOT_ELF64_MACHINE): Likewise.
5023 * include/grub/mips/multiboot.h: New file.
5024 * include/grub/video.h (grub_video_driver_id): New type
5025 GRUB_VIDEO_DRIVER_SM712.
5026 (grub_video_get_info_and_fini): Export.
5027 (grub_video_get_palette): Likewise.
5028 (grub_video_get_driver_id): Likewise.
5029 * include/multiboot2.h: Resynced with spec.
5030 * loader/i386/multiboot.c: Moved from here ...
5031 * loader/multiboot.c: ... here. All users updated.
5032 (grub_multiboot_boot): Use platform-specific macros.
5033 * loader/i386/multiboot_elfxx.c: Moved from here ...
5034 * loader/multiboot_elfxx.c: ... here. All users updated.
5035 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
5036 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
5037 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
5038
47674667
VS
50392010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 Import gnulib argp module.
5042
5043 * gnulib/argp-ba.c: New file.
5044 * gnulib/argp-eexst.c: Likewise.
5045 * gnulib/argp-fmtstream.c: Likewise.
5046 * gnulib/argp-fmtstream.h: Likewise.
5047 * gnulib/argp-fs-xinl.c: Likewise.
5048 * gnulib/argp-help.c: Likewise.
5049 * gnulib/argp-namefrob.h: Likewise.
5050 * gnulib/argp-parse.c: Likewise.
5051 * gnulib/argp-pin.c: Likewise.
5052 * gnulib/argp-pv.c: Likewise.
5053 * gnulib/argp-pvh.c: Likewise.
5054 * gnulib/argp-version-etc.c: Likewise.
5055 * gnulib/argp-version-etc.h: Likewise.
5056 * gnulib/argp-xinl.c: Likewise.
5057 * gnulib/argp.h: Likewise.
5058
495442ed
VS
50592010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5060
5061 * kern/device.c (grub_device_iterate): Clear errors after failed
5062 opening device.
5063
f9fd65df
VS
50642010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
5067 returned by firmware.
5068
af09641e
VS
50692010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
5072 compilation on coreboot and qemu
5073
016883a5
VS
50742010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 * include/multiboot2.h: Resync with spec.
5077
f97e1f7d
VS
50782010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5079
5080 Multiboot2 tag support
5081
5082 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
5083 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
5084 Remove loader/multiboot_loader.c.
5085 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
5086 (grub_multiboot2_real_boot): Likewise.
5087 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
5088 (grub_get_multiboot_mmap_count): New proto.
5089 (grub_fill_multiboot_mmap): Likewise.
5090 (grub_multiboot_set_video_mode): Likewise.
5091 (grub_multiboot_set_console): Likewise.
5092 (grub_multiboot_load): Likewise.
5093 (grub_multiboot_load_elf): Likewise.
5094 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
5095 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
5096 * include/multiboot.h: Resynced with specification.
5097 * include/multiboot2.h: Resynced with specification.
5098 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
5099 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
5100 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
5101 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
5102 users updated.
5103 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
5104 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
5105 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
5106 Removed.
5107 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
5108 Moved from here...
5109 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
5110 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
5111 Moved from here...
5112 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
5113 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
5114 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
5115 All users updated.
5116 * loader/i386/multiboot_mbi2.c: New file.
5117
3506b90b
VS
51182010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
5119
5120 Resync with gnulib.
5121
5122 * Makefile.in (GNULIB_CFLAGS): New variable.
5123 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
5124 (grub_script_check_CFLAGS): New variable.
5125 * gnulib/alloca.h: Resync with gnulib.
5126 * gnulib/error.c: Likewise.
5127 * gnulib/error.h: Likewise.
5128 * gnulib/fnmatch.c: Likewise.
5129 * gnulib/fnmatch_loop.c: Likewise.
5130 * gnulib/getdelim.c: Likewise.
5131 * gnulib/getline.c: Likewise.
5132 * gnulib/getopt.c: Likewise.
5133 * gnulib/getopt1.c: Likewise.
5134 * gnulib/getopt_int.h: Likewise.
5135 * gnulib/gettext.h: Likewise.
5136 * gnulib/progname.c: Likewise.
5137 * gnulib/progname.h: Likewise.
5138
394a3120
GS
51392010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
5140
5141 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
5142 which is the case with --disabled-nls.
5143
5144 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
5145 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
5146 * util/misc.c: Likewise.
5147 * util/mkisofs/mkisofs.c: Likewise.
5148 * util/mkisofs/mkisofs.h: Likewise.
5149
969d1c78
VS
51502010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
5151
5152 Simplify Apple CC support.
5153
5154 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
5155 Add 0 byte at the end not to have a symbol with empty target.
5156 * mmap/i386/pc/mmap_helper.S: Likewise.
5157 * genmk.rb: Ignore errors 2030 and 2050.
5158 * kern/i386/pc/startup.S: Use LOCAL when possible.
5159
8d2977bb
BC
51602010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
5161
5162 Testcase and the fix for final semicolon on cmdline.
5163
5164 * tests/grub_script_final_semicolon.in: New testcase.
5165 * conf/tests.rmk: Rules for the new testcase.
5166 * script/parser.y: Grammar fix.
5167
a7bd6915
BC
51682010-03-26 BVK Chaitanya <bvk@localhost>
5169
5170 Blank lines testcase for GRUB script.
5171
5172 * tests/grub_script_blanklines.in: New testcase.
5173 * conf/tests.rmk: Rules for the new testcase.
5174
e4ff6628
VS
51752010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5176
5177 Don't use __FILE__.
5178
5179 * genmk.rb: Add -DGRUB_FILE to all C targets.
5180 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
5181 * include/grub/list.h: Likewise.
5182 * include/grub/misc.h: Likewise.
5183 * include/grub/mm.h: Likewise.
5184 * include/grub/test.h: Likewise.
5185 * kern/mm.c: Likewise.
5186 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
5187
6a5cf6b6
VS
51882010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5189
5190 Sunpc partitions support.
5191
5192 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
5193 (grub_fstest_SOURCES): Likewise.
5194 (pkglib_MODULES): Add part_sunpc.mod.
5195 (part_sunpc_mod_SOURCES): New variable.
5196 (part_sunpc_mod_CFLAGS): Likewise.
5197 (part_sunpc_mod_LDFLAGS): Likewise.
5198 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
5199 * partmap/sunpc.c: New file.
5200
746d9045
BC
52012010-03-26 BVK Chaitanya <bvk@localhost>
5202
5203 For loop support to GRUB script.
5204
5205 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
5206 (grub_script_create_cmdfor): New function prototype.
5207 (grub_script_execute_cmdfor): New function prototype.
5208 * script/execute.c (grub_script_execute_cmdfor): New function.
5209 * script/parser.y (command): New for command.
5210 (forcmd): New grammar rule.
5211 * script/script.c (grub_script_create_cmdfor): New function.
5212 * util/grub-script-check.c (grub_script_execute_cmdfor): New
5213 function.
5214 * tests/grub_script_for1.in: New testcase.
5215 * conf/tests.rmk: Rules for new testcase.
5216
18486b18
VS
52172010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5218
5219 Nested partitions
5220
5221 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
5222 'partition' is NULL, grub_partition_get_start already does that.
5223 * commands/loadenv.c (check_blocklists): Likewise.
5224 (write_blocklists): Likewise.
5225 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
5226 (grub_fstest_SOURCES): Likewise.
5227 (pkglib_MODULES): Add part_bsd.mod.
5228 (part_bsd_mod_SOURCES): New variable.
5229 (part_bsd_mod_CFLAGS): Likewise.
5230 (part_bsd_mod_LDFLAGS): Likewise.
5231 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
5232 (grub_emu_SOURCES): Likewise.
5233 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5234 * include/grub/bsdlabel.h: New file.
5235 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
5236 'get_name'.
5237 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
5238 (grub_partition_map_list): New variable.
5239 (grub_partition_map_register): Inline.
5240 (grub_partition_map_unregister): Likewise.
5241 (FOR_PARTITION_MAPS): New macro.
5242 (grub_partition_map_iterate): Removed.
5243 (grub_partition_get_start): Handle nested partitions.
5244 * include/grub/msdos_partition.h: Remove bsd-related entries.
5245 (grub_pc_partition): Remove.
5246 * kern/disk.c (grub_disk_close): Free partition data.
5247 (grub_disk_adjust_range): Handle nested partitions.
5248 * kern/partition.c (grub_partition_map_probe): New function.
5249 (grub_partition_probe): Parse name to number, handle subpartitions.
5250 (get_partmap): New function.
5251 (grub_partition_iterate): Handle subpartitions.
5252 (grub_partition_get_name): Likewise.
5253 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
5254 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
5255 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
5256 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
5257 Set 'number'.
5258 (acorn_partition_map_probe): Remove.
5259 (acorn_partition_map_get_name): Likewise.
5260 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
5261 Set 'number'.
5262 Set 'index' to 0 since there can be only one partition entry per sector.
5263 (amiga_partition_map_probe): Remove.
5264 (amiga_partition_map_get_name): Likewise.
5265 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
5266 Set 'number'.
5267 Set 'offset' and 'index' to real positions of partitions.
5268 (apple_partition_map_probe): Remove.
5269 (apple_partition_map_get_name): Likewise.
5270 * partmap/bsdlabel.c: New file.
5271 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
5272 Set 'number'.
5273 Allocate 'data' so it can be correctly freed.
5274 Set 'index' to offset inside sector.
5275 (gpt_partition_map_probe): Remove.
5276 (gpt_partition_map_get_name): Likewise.
5277 * partmap/msdos.c (grub_partition_parse): Remove.
5278 (pc_partition_map_iterate): Don't force raw access.
5279 Set 'number'.
5280 Make 'ext_offset' a local variable.
5281 (pc_partition_map_probe): Remove.
5282 (pc_partition_map_get_name): Remove.
5283 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
5284 Set 'number'.
5285 (sun_partition_map_probe): Remove.
5286 (sun_partition_map_get_name): Likewise.
5287 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
5288 (grub_pcpart_type): Likewise.
5289 * util/hostdisk.c (open_device): Handle new numbering scheme.
5290 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
5291 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
5292 * util/grub-probe.c (probe_partmap): Handle nested paritions.
5293 * util/grub-install.in: Insert all subpartition modules.
5294 * util/ieee1275/grub-install.in: Likewise.
5295
a3940f88
AG
52962010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
5297
5298 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
5299 grammar.
5300
21b99926 53012010-03-24 Colin Watson <cjwatson@ubuntu.com>
5302
5303 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
5304
bed1d352
CW
53052010-03-21 Colin Watson <cjwatson@ubuntu.com>
5306
5307 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
5308 match where 'make install' puts them.
5309 * util/i386/efi/grub-install.in: Likewise.
5310
c9f58427
CW
53112010-03-19 Colin Watson <cjwatson@ubuntu.com>
5312
5313 * .bzrignore: Add gentrigtables, grub-script-check,
5314 grub_script_check_init.c, grub_script_check_init.h, and
5315 trigtables.c.
5316
f84afb27
VS
53172010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
5318
5319 * kern/parser.c: Indented.
5320
ed0e3d30
VS
53212010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
5324
0ea81d98
VS
53252010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5326
5327 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
5328 alpha_mask_size == 0 case.
5329
0cdc2a09
BC
53302010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
5331
5332 GRUB shell lexer and parser improvements.
5333
5334 * conf/any-emu.rmk: Build rule updates.
5335 * conf/common.rmk: Likewise.
5336 * conf/i386-coreboot.rmk: Likewise.
5337 * conf/i386-efi.rmk: Likewise.
5338 * conf/i386-ieee1275.rmk: Likewise.
5339 * conf/i386-pc.rmk: Likewise.
5340 * conf/powerpc-ieee1275.rmk: Likewise.
5341 * conf/x86_64-efi.rmk: Likewise.
5342
5343 * configure.ac: Configure check for flex.
5344
5345 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
5346 types.
5347 (grub_lexer_param): Struct member updates.
5348 (grub_parser_param): Likewise.
5349 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
5350 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
5351 (grub_script_lexer_init): Prototype update.
5352 (grub_script_lexer_record_start): Likewise.
5353 (grub_script_lexer_record_stop): Likewise.
5354 (grub_script_lexer_yywrap): New function prototype.
5355 (grub_script_lexer_fini): Likewise.
5356 (grub_script_execute_argument_to_string): Removed by...
5357 (grub_script_execute_argument_to_argv): ...better version.
5358
5359 * script/execute.c (ROUND_UPTO): New macro.
5360 (grub_script_execute_cmdline): Out of memory fixes.
5361 (grub_script_execute_menuentry): Likewise.
5362 (grub_script_execute_argument_to_string): Removed. Update all
5363 users by...
5364 (grub_script_execute_argument_to_argv): ...better version.
5365 * script/function.c (grub_script_function_create): Use
5366 grub_script_execute_argument_to_argv instead of
5367 grub_script_execute_argument_to_string.
5368
5369 * script/lexer.c (check_varstate): Removed.
5370 (check_textstate): Removed.
5371 (grub_script_lexer_record_start): Likewise.
5372 (grub_script_lexer_record_stop): Likewise.
5373 (recordchar): Replaced with...
5374 (grub_script_lexer_record): ...new function.
5375 (nextchar): Removed.
5376 (grub_script_lexer_init): Rewritten.
5377 (grub_script_yylex): Rewritten.
5378 (append_newline): New function.
5379 (grub_script_lexer_yywrap): New function.
5380 (grub_script_lexer_fini): New function.
5381 (grub_script_yyerror): Sets error flag.
5382
5383 * script/yylex.l: New file.
5384 (grub_lexer_yyfree): Wrapper for flex yyffre.
5385 (grub_lexer_yyalloc): Likewise.
5386 (grub_lexer_yyrealloc): Likewise.
5387 * script/parser.y: Refactored.
5388
5389 * script/script.c (grub_script_arg_add): Out of memory fixes.
5390 (grub_script_add_arglist): Likewise.
5391 (grub_script_create_cmdline): Likewise.
5392 (grub_script_create_cmdmenu): Likewise.
5393 (grub_script_add_cmd): Likewise.
5394 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
5395 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
5396 unnecessary code.
5397
5398 * tests/grub_script_echo1.in: New testcase.
5399 * tests/grub_script_vars1.in: New testcase.
5400 * tests/grub_script_echo_keywords.in: New testcase.
5401
1d63a066
VS
54022010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
5403
5404 Remove some redundancy in build system.
5405
5406 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
5407 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
5408 (TARGET_LDFLAGS): Add -nostdlib.
5409 (TARGET_IMG_LDFLAGS): Likewise.
5410 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
5411 anything since mmap isn't available.
5412 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
5413 Add util/time.c.
5414 (pkglib_MODULES): Remove reboot.mod.
5415 (reboot_mod_SOURCES): Removed.
5416 (reboot_mod_CFLAGS): Likewise.
5417 (reboot_mod_LDFLAGS): Likewise.
5418 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
5419 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
5420 (DEFSYMFILES): Add kernel_syms.lst.
5421 (kernel_img_HEADERS): Add common headers.
5422 (symlist.c): New target.
5423 (kernel_syms.lst): Likewise.
5424 (pkglib_MODULES): Add memdisk.mod.
5425 (memdisk_mod_SOURCES): New variable.
5426 (memdisk_mod_CFLAGS): Likewise.
5427 (memdisk_mod_LDFLAGS): Likewise.
5428 (pkglib_MODULES): Add reboot.mod.
5429 (reboot_mod_SOURCES): New variable.
5430 (reboot_mod_CFLAGS): Likewise.
5431 (reboot_mod_LDFLAGS): Likewise.
5432 (pkglib_MODULES): Add date.mod.
5433 (date_mod_SOURCES): New variable.
5434 (date_mod_CFLAGS): Likewise.
5435 (date_mod_LDFLAGS): Likewise.
5436 (pkglib_MODULES): Add datehook.mod.
5437 (datehook_mod_SOURCES): New variable.
5438 (datehook_mod_CFLAGS): Likewise.
5439 (datehook_mod_LDFLAGS): Likewise.
5440 (pkglib_MODULES): Add lsmmap.mod.
5441 (lsmmap_mod_SOURCES): New variable.
5442 (lsmmap_mod_CFLAGS): Likewise.
5443 (lsmmap_mod_LDFLAGS): Likewise.
5444 (pkglib_MODULES): Add boot.mod.
5445 (boot_mod_SOURCES): New variable.
5446 (boot_mod_CFLAGS): Likewise.
5447 (boot_mod_LDFLAGS): Likewise.
5448 * conf/i386-coreboot.rmk: Removed redundant parts.
5449 * conf/i386-ieee1275.rmk: Likewise.
5450 * conf/i386-pc.rmk: Likewise.
5451 * conf/mips-yeeloong.rmk: Likewise.
5452 * conf/mips.rmk: Likewise.
5453 * conf/powerpc-ieee1275.rmk: Likewise.
5454 * conf/sparc64-ieee1275.rmk: Likewise.
5455 * conf/x86_64-efi.rmk: Likewise.
5456 * conf/i386-coreboot.rmk: Moved qemu parts ..
5457 * conf/i386-qemu.rmk: ... here
5458 * conf/i386-efi.rmk: Moved common parts to...
5459 * conf/x86-efi.rmk: ... here.
5460 * conf/i386.rmk: Added modules common to all x86 variants.
5461 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
5462 * disk/memdisk.c: Remove grub/machine/kernel.h.
5463 * gensymlist.sh.in: Include symbol.h.
5464 * hook/datehook.c: Correct module name.
5465 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
5466 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
5467 * include/grub/i386/efi/serial.h: New file.
5468 * include/grub/x86_64/efi/serial.h: Likewise.
5469 * util/time.c: Likewise.
5470 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
5471
463ac55f
CK
54722010-03-14 Colin King <colin.king@ubuntu.com>
54732010-03-14 Colin Watson <cjwatson@ubuntu.com>
5474
5475 Shrink the pre-partition-table part of boot.img by eight bytes.
5476
5477 * boot/i386/pc/boot.S (ERR): New macro.
5478 (chs_mode): Use ERR.
5479 (geometry_error): Likewise.
5480 (hd_probe_error): Remove. This is only used once, so we wrwite
5481 it inline instead.
5482 (read_error): Instead of printing read_error_string, just set up
5483 %si and fall through to ...
5484 (error_message): ... this new function, also used by ERR.
5485
08e46ede
CW
54862010-03-14 Colin Watson <cjwatson@ubuntu.com>
5487
5488 Speed up consecutive hostdisk operations on the same device.
5489
5490 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
5491 (grub_util_biosdisk_open): Initialise disk->data.
5492 (struct linux_partition_cache): New structure.
5493 (linux_find_partition): Cache partition start positions; these are
5494 expensive to compute on every read and write.
5495 (open_device): Cache open file descriptor in disk->data, so that we
5496 don't have to reopen it and flush the buffer cache for consecutive
5497 operations on the same device.
5498 (grub_util_biosdisk_close): New function.
5499 (grub_util_biosdisk_dev): Set `close' member.
5500
5501 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
5502 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
5503 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
5504 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
5505 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
5506
4a6d2d06
VS
55072010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
5508
5509 Compile parts of grub-emu as modules.
5510
5511 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
5512 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
5513 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
5514 (all-local): Add $(GRUB_EMU).
5515 (install-local): Install $(GRUB_EMU).
5516 (uninstall): Uninstall $(GRUB_EMU).
5517 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
5518 * kern/dl.c: Likewise.
5519 * commands/sleep.c: Not include machine/time.h.
5520 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
5521 (COMMON_CFLAGS): Likewise.
5522 (sbin_UTILITIES): Remove grub-emu.
5523 (grub_emu_SOURCES): Removed.
5524 (kernel_img_RELOCATABLE): New variable.
5525 (pkglib_PROGRAMS): Add kernel.img.
5526 (kernel_img_SOURCES): New variable
5527 (kernel_img_CFLAGS): Likewise.
5528 (kernel_img_LDFLAGS): Likewise.
5529 (TARGET_NO_STRIP): Likewise.
5530 (TARGET_NO_DYNAMIC_MODULES): Likewise.
5531 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
5532 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
5533 (grub-emu): New target.
5534 (GRUB_EMU): New variable.
5535 * configure.ac: Whitelist -emu as possible x86_64 architecture.
5536 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
5537 * loader/xnu.c: Likewise.
5538 * include/grub/pci.h: Likewise.
5539 * genemuinit.sh: New file.
5540 * genemuinitheader.sh: Likewise.
5541 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
5542 Support TARGET_NO_DYNAMIC_MODULES.
5543 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
5544 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
5545 * disk/loopback.c: Likewise.
5546 * font/font_cmd.c: Likewise.
5547 * partmap/acorn.c: Likewise.
5548 * partmap/amiga.c: Likewise.
5549 * partmap/apple.c: Likewise.
5550 * partmap/gpt.c: Likewise.
5551 * partmap/msdos.c: Likewise.
5552 * partmap/sun.c: Likewise.
5553 * parttool/msdospart.c: Likewise.
5554 * term/gfxterm.c: Likewise.
5555 * video/bitmap.c: Likewise.
5556 * video/readers/jpeg.c: Likewise.
5557 * video/readers/png.c: Likewise.
5558 * video/readers/tga.c: Likewise.
5559 * video/video.c: Likewise.
5560 * util/grub-emu.c (read_command_list): Removed.
5561 (main): Don't call util_init_nls.
5562 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
5563 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
5564
91fdd2ed
VS
55652010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
5568 date.mod, datehook.mod.
5569 (datetime_mod_SOURCES): New variable.
5570 (datetime_mod_CFLAGS): Likewise.
5571 (datetime_mod_LDFLAGS): Likewise.
5572 (date_mod_SOURCES): Likewise.
5573 (date_mod_CFLAGS): Likewise.
5574 (date_mod_LDFLAGS): Likewise.
5575 (datehook_mod_SOURCES): Likewise.
5576 (datehook_mod_CFLAGS): Likewise.
5577 (datehook_mod_LDFLAGS): Likewise.
5578 * conf/sparc64-ieee1275.rmk: Likewise.
5579 * lib/ieee1275/datetime.c: New file.
5580
873ccae6
VS
55812010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
5584 (ieee1275_fb_mod_SOURCES): New variable.
5585 (ieee1275_fb_mod_CFLAGS): Likewise.
5586 (ieee1275_fb_mod_LDFLAGS): Likewise.
5587 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
5588 New proto.
5589 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
5590 (HEAP_MAX_ADDR): Likewise.
5591 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
5592 type.
5593 Correct stop condition.
5594 (grub_ieee1275_devices_iterate): New function.
5595 * video/ieee1275.c: New file.
5596
601c97c0
VS
55972010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
5598
5599 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
5600
5601 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
5602 as scratch.
5603 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
5604 SCRATCH_PAD_DISKBOOT as scratch.
5605 (bootit): Pass Openfirmware pointer in %o4.
5606 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
5607 of 0x200000.
5608 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
5609 with util/grub-mkrawimage.c.
5610 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
5611 * include/grub/aout.h (AOUT_MID_SUN): New definition.
5612 (grub_aout_get_type) [GRUB_UTIL]: Removed.
5613 (grub_aout_load) [GRUB_UTIL]: Likewise.
5614 * include/grub/kernel.h (grub_modules_get_end): New proto.
5615 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
5616 (SCRATCH_PAD_BOOT): New definition.
5617 (SCRATCH_PAD_DISKBOOT): Likewise.
5618 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
5619 * include/grub/sparc64/ieee1275/ieee1275.h
5620 (grub_ieee1275_original_stack): New variable
5621 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
5622 New definition
5623 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
5624 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
5625 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
5626 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
5627 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
5628 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
5629 (grub_platform_image_format_t): New type.
5630 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
5631 * kern/main.c (grub_modules_get_end)
5632 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
5633 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
5634 (codestart): Switch stacks.
5635 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
5636 variable.
5637 (grub_heap_init): Use grub_modules_get_end.
5638 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
5639 stack.
5640 * util/grub-mkrawimage.c (generate_image): Support sparc64.
5641 (main): Likewise.
5642 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
5643
d68b491e
TG
56442010-03-14 Thorsten Glaser <tg@mirbsd.org>
5645
5646 * util/grub-mkrescue.in: Base ISO UUID on UTC.
5647
4e02ed50
MK
56482010-03-08 Matt Kraai <kraai@ftbfs.org>
5649
5650 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
5651 bug #559005).
5652
1f15fc1e
VS
56532010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5654
5655 * genmoddep.awk: Output all missing symbols and not only first.
5656
fce5d8ff
VS
56572010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5658
5659 * NEWS: Put the date of 1.98 release.
5660
d1e8a02f
VS
56612010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5662
5663 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
5664 ft2build.h.
5665
696fd607
VS
56662010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5667
5668 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
5669 completition in the middle of string.
5670
33e2e6f3
VS
56712010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5672
5673 * util/grub-mkrescue.in: Use mktemp with explicit template.
5674
b1f6d291
VS
56752010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5676
5677 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
5678
2ac227c7
VS
56792010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5680
5681 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
5682 right pointer.
5683
8f9a632b
VS
56842010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 Fix FreeBSD compilation.
5687
5688 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
5689 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
5690
60b03859
VS
56912010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5692
5693 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
5694
48a5a769
VS
56952010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5696
5697 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
5698
3ab4bd77
VS
56992010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5700
5701 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
5702
d116e0d8
RM
57032010-03-04 Robert Millan <rmh.grub@aybabtu.com>
5704
5705 Support relative image path in theme file.
5706
5707 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
5708 (image_set_property): Handle theme_dir and relative path.
5709
c7ef54aa
VS
57102010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * configure.ac: Alias amd64 to x86_64.
5713
fcee14ed
VS
57142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5715
5716 * NEWS: mention multiboot on EFI.
5717
d0780363
VS
57182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5719
5720 * kern/main.c (grub_load_modules): Handle errors from init functions of
5721 embeded modules.
5722
41168ea4
VS
57232010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5724
5725 * normal/autofs.c (autoload_fs_module): Handle errors.
5726
b54d93ac
VS
57272010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5728
5729 Disable linux.mod on qemu-mips since it's not functional and leads
5730 to compilation failure.
5731
5732 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
5733 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
5734 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
5735 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
5736 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
5737 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
5738 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
5739 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
5740 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
5741 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
5742 Reported by: BVK Chaitanya
5743
fc8345da
JU
57442010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
5745
5746 * INSTALL: Add gettext as a dependency and add qemu to a new section
5747 "Prerequisites for make-check".
5748
4760f979
CF
57492010-03-04 Christian Franke <franke@computer.org>
5750
5751 * util/grub-pe2elf.c: Add missing include "progname.h".
5752
f209b5b2
VS
57532010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5754
5755 * normal/crypto.c (read_crypto_list): Fix a typo.
5756 Reported by: Seth Goldberg.
5757
b4b7be98
VS
57582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 5761 Reported by: Seth Goldberg.
b4b7be98 5762
c0ee0385
VS
57632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5764
5765 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
5766 ascii.bitmaps.
5767
a8efbf64
VS
57682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5769
5770 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 5771 Reported by: Seth Goldberg.
a8efbf64 5772
08dcd913
VS
57732010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5774
5775 * util/i386/efi/grub-install.in: Copy gettext files.
5776
c4d0b332
VS
57772010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5778
5779 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
5780
c6f2fe52
VS
57812010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 Wait for user entry basing on presence of output rather than on errors.
5784
5785 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
5786 (grub_install_newline_hook): Likewise.
5787 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
5788 * normal/menu.c (show_menu): Check line_counter to determine presence
5789 of output.
5790 * normal/term.c (grub_normal_line_counter): New variable.
5791 (grub_normal_get_line_counter): New function.
5792 (grub_install_newline_hook): Likewise.
5793
5382b1e4
VS
57942010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5795
5796 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
5797
5519963b
VS
57982010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5799
5800 * configure.ac: Update version to 1.98.
5801
72b28631
VS
58022010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5803
5804 * util/grub.d/10_linux.in (linux_entry): Don't default to
5805 gfxpayload=keep if Linux doesn't support video handover.
5806
c140a180
VS
58072010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5808
5809 Don't compile video modules on yeeloong since video subsystem is part
5810 of kernel.
5811
5812 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
5813 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
5814 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
5815 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
5816 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
5817 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
5818 * include/grub/bitmap_scale.h: Likewise.
5819 * include/grub/bufio.h: Likewise.
5820 * include/grub/font.h: Likewise.
5821 * include/grub/gfxterm.h: Likewise.
5822 * include/grub/video.h: Likewise.
5823 * include/grub/vbe.h: Don't include video_fb.h.
5824 * video/i386/pc/vbe.c: Include video_fb.h.
5825 * commands/i386/pc/vbetest.c: Include video.h.
5826
a0ca21c2
CW
58272010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
5828
5829 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
5830 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
5831 default entry if GRUB_SAVEDEFAULT=true. This allows using
5832 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
5833 saving a new default on every boot.
5834
4a8a763c
VS
58352010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5836
5837 * normal/crypto.c (read_crypto_list): Fix a memory leak.
5838 * normal/term.c (read_terminal_list): Likewise.
5839 * normal/main.c (grub_normal_init_page): Likewise.
5840 (grub_normal_read_line_real): Likewise.
5841
607ffde2
VS
58422010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5843
5844 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
5845 memory leak.
5846 Reported by: Seth Goldberg.
5847
2b8fa975
CW
58482010-02-24 Joey Korkames <joey+lists@kidfixit.com>
5849
5850 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
5851 duplicate declaration of `start'.
5852
618307dd
VS
58532010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
5856 filename.
5857 Reported by: Georgy Buranov
5858
7dd05b96 58592010-02-20 Carles Pina i Estany <carles@pina.cat>
5860
5861 * util/grub-mkrawimage.c (usage): Change string formatting to
5862 improve gettext.
5863
d1484a42
MRA
58642010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
5865
5866 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
5867 backspace keys.
5868
42b1d186
VS
58692010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
5870
5871 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
5872 Reported by: Michael Suchanek.
5873
58742010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
5875
5876 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
5877 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
5878
d9f31a41
VS
58792010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 Remove any reference to non-free fonts.
5882
5883 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
5884 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
5885 uses non-free components.
5886 * font/font.c (grub_font_get_name): Remove example name.
5887 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
5888 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
5889 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
5890 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
5891
2793c71e
GB
58922010-02-16 Georgy Buranov <gburanov@gmail.com>
5893
5894 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
5895
402e3779
VS
58962010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
5897
5898 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
5899 Double divisor.
5900 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
5901 features.
5902 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
5903
0dd1e0dd
VS
59042010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 * gensymlist.sh.in: Use TARGET_CC instead of CC.
5907
6fa7cfce
ST
59082010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
5909
5910 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
5911 * docs/grub.texi (Command-line and menu entry commands): Document play
5912 command.
5913
37c8483b
ST
59142010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
5915
5916 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
5917 parse arguments as inline tempo and notes. Move code for playing notes
5918 to...
5919 (play): ... new function.
5920
14da0fb7
ST
59212010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
5922
5923 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
5924 grub_uint16_t instead of short.
5925 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
5926 disk from little endian to cpu endianness.
5927
04459e70
ST
59282010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
5929
5930 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
5931 GRUB_TICKS_PER_SECOND instead of 120.
5932
a0876943
VS
59332010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
5934
5935 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
5936 escape sequence after \e.
5937
e29f95dc
VS
59382010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
5941 non-ASCII characters.
5942
d27859b2
VS
59432010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
5946 set root in single quotes to prevent \, from being unescaped.
5947
bc028f2f
VS
59482010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 Prevent unknown commands from stopping menuentry execution.
5951
5952 * script/execute.c (grub_script_execute_cmdline): Print error after
5953 unknown command.
5954
095f5f82
VS
59552010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
5956
5957 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
5958 Reported by: Pavel Pisa.
5959
8c717950
VS
59602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
5961
5962 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
5963
904935c3
VS
59642010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 Merge grub_ieee1275_map_physical into grub_map and rename to
5967 grub_ieee1275_map
5968
5969 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
5970 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
5971 Remove.
5972 * kern/ieee1275/openfw.c (grub_map): Rename to ...
5973 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
5974 necessary.
5975 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
5976
5b59a4e3
VS
59772010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
5980 opening and not after.
5981
69e137e8
VS
59822010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
5983
5984 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
5985 constants.
5986
2c0fcc36
VS
59872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
5988
5989 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
5990 (alloc_phys): Use ALIGN_UP instead of align_addr.
5991
8c6052ce
VS
59922010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
5993
5994 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
5995
17cec782
VS
59962010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
5997
5998 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
5999
e0128bbd
VS
60002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
6003 verbose dprintf.
6004
ca62070b
VS
60052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 Fix over-4GiB seek on sparc64.
6008
6009 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
6010 Replace pos_i and pos_lo with pos. All users updated.
6011 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
6012 New constant.
6013 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
6014 Likewise.
6015 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
6016 and pos_lo.
6017
bdca2607
VS
60182010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 * util/grub-mkrawimage.c (main): Call set_program_name.
6021
da278c4d
VS
60222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 Properly align 64-bit targets.
6025
6026 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
6027 (generate_image): Use ALIGN_ADDR.
6028
b274d734
VS
60292010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6030
6031 Properly create cross-endian images.
6032
6033 * include/grub/types.h (grub_host_to_target_addr): New macro
6034 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
6035
82da2062
VS
60362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
6039
7cae4377
VS
60402010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6041
6042 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
6043
6044 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
6045 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
6046 (grub_linux_boot): Divide by 64K when on VESA.
6047
65a533e7
VS
60482010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6049
6050 Support GRUB_GFXPAYLOAD_LINUX.
6051
6052 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
6053 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
6054
dd01d397
VS
60552010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
6058 to show messages instead of discarding them.
6059 Process errors after executing command and not before. Keep old method
6060 too as precaution.
6061
660960d6
VS
60622010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6063
6064 * configure.ac: Check for ft2build.h.
6065
62509f04
VS
60662010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6067
6068 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
6069
473df63d
VS
60702010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6071
6072 * genkernsyms.sh.in: Use TARGET_CC.
6073
c98d2a13
CW
60742010-02-07 Colin Watson <cjwatson@ubuntu.com>
6075
6076 * NEWS: Update.
6077
6e14234c
VS
60782010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6079
6080 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
6081 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
6082 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 6083
b255e9cf
YB
60842010-02-07 Yves Blusseau <blusseau@zetam.org>
6085
6e14234c 6086 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 6087
98e6959d
VS
60882010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6089
6090 Fix warnings in grub-emu when compiling with maximum warning options.
6091
6092 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
6093 (grub_arch_modules_addr): Return 0 and not NULL.
6094 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 6095 (xstrdup): Use newstr instead of dup.
f88d801b
VS
6096 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
6097 of disk to dsk to avoid shadowing.
74e4934e
VS
6098 (find_free_slot): Fix prototype.
6099 * util/getroot.c (grub_util_is_dmraid): Make static.
6100 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
6101 Add missing prototype.
6102 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 6103
74e31b5c
VS
61042010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6105
6106 * loader/i386/linux.c (grub_linux_setup_video): Handle error
6107 appropriately.
6108
6b2ad14b
VS
61092010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6110
6111 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
6112 code out.
6113
8f891adc
VS
61142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6115
6116 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
6117 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
6118 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
6119 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
6120 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
6121 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
6122
74b45184
VS
61232010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6124
6125 * include/grub/err.h (grub_err_printf): Don't export.
6126
a4bced77
VS
61272010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6128
6129 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
6130
007d0695
VS
61312010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6132
6133 * include/grub/i18n.h (grub_gettext_dummy): Removed.
6134 * kern/misc.c (grub_gettext_dummy): Make static.
6135
b6c0d9c2
VS
61362010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6137
6138 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
6139 by non-valid ones.
6140 * kern/term.c (grub_putchar): Likewise.
6141
f51a90d0
VS
61422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
6145 buggy hook call and memory leak.
6146
6846cec5
VS
61472010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
6150
468d69fe
VS
61512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
6154
51906b8c
VS
61552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
6158 modevar.
6159 Return grub_errno on allocation error.
6160
09706ce5
VS
61612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
6164
911df80c
YB
61652010-02-06 Yves Blusseau <blusseau@zetam.org>
6166
6167 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
6168 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
6169
3746a6bc
VS
61702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6171
6172 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
6173 non-pxe disk.
6174 (grub_pxefs_open): Likewise.
6175
09706ce5
VS
61762010-02-06 Robert Millan <rmh.grub@aybabtu.com>
6177
6178 * util/grub.d/10_hurd.in: Add --class information to menuentries.
6179 * util/grub.d/10_kfreebsd.in: Likewise.
6180 * util/grub.d/10_linux.in: Likewise.
6181
7cc192d9
VS
61822010-02-06 Colin D Bennett <colin@gibibit.com>
6183
6184 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
6185 (gfxmenu_mod_SOURCES): New variable.
6186 (gfxmenu_mod_CFLAGS): Likewise.
6187 (gfxmenu_mod_LDFLAGS): Likewise.
6188 * include/grub/term.h (grub_term_set_current_output): Declare
6189 argument as const.
6190 * docs/gfxmenu-theme-example.txt: New file.
6191 * gfxmenu/gfxmenu.c: Likewise.
6192 * gfxmenu/gui_box.c: Likewise.
6193 * gfxmenu/gui_canvas.c: Likewise.
6194 * gfxmenu/gui_circular_progress.c: Likewise.
6195 * gfxmenu/gui_image.c: Likewise.
6196 * gfxmenu/gui_label.c: Likewise.
6197 * gfxmenu/gui_list.c: Likewise.
6198 * gfxmenu/gui_progress_bar.c: Likewise.
6199 * gfxmenu/gui_string_util.c: Likewise.
6200 * gfxmenu/gui_util.c: Likewise.
6201 * gfxmenu/icon_manager.c: Likewise.
6202 * gfxmenu/model.c: Likewise.
6203 * gfxmenu/named_colors.c: Likewise.
6204 * gfxmenu/theme_loader.c: Likewise.
6205 * gfxmenu/view.c: Likewise.
6206 * gfxmenu/widget-box.c: Likewise.
6207 * include/grub/gfxmenu_model.h: Likewise.
6208 * include/grub/gfxmenu_view.h: Likewise.
6209 * include/grub/gfxwidgets.h: Likewise.
6210 * include/grub/gui.h: Likewise.
6211 * include/grub/gui_string_util.h: Likewise.
6212 * include/grub/icon_manager.h: Likewise.
6213
62142010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 Agglomerate scrolling in gfxterm.
6217
6218 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
6219 (grub_virtual_screen_setup): Initialise 'total_screen'.
6220 (write_char): Split to ...
6221 (paint_char): ... this ...
6222 (write_char): ... and this.
6223 (paint_char): Handle delayed scrolling.
6224 (draw_cursor): Likewise.
6225 (scroll_up): Split to ...
6226 (real_scroll): ... this ...
6227 (scroll_up): ... and this.
6228 (real_scroll): Handle multi-line scroll and draw below-the-bottom
6229 characters.
6230 (grub_gfxterm_refresh): Call real_scroll.
6231
62322010-02-06 Colin D Bennett <colin@gibibit.com>
6233
6234 * include/grub/misc.h (grub_iscntrl): New inline function.
6235 (grub_isalnum): Likewise.
6236 (grub_strtol): Likewise.
6237
62382010-02-06 Colin D Bennett <colin@gibibit.com>
6239
6240 * normal/menu_text.c (get_entry_number): Move from here ...
6241 * normal/menu.c (get_entry_number): ... moved here.
6242 * include/grub/menu.h (grub_menu_get_default_entry_index):
6243 New prototype.
6244 * normal/menu.c (grub_menu_get_default_entry_index): New function.
6245 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
6246 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
6247 (grub_menu_viewer_should_return): Likewise.
6248 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
6249 * normal/menu_text.c (run_menu): Enable menu switching.
6250 * normal/menu_viewer.c (should_return): New variable.
6251 (menu_viewer_changed): Likewise.
6252 (grub_menu_viewer_show_menu): Handle menu viewer changes.
6253 (grub_menu_viewer_should_return): New function.
6254 (menuviewer_write_hook): Likewise.
6255 (grub_menu_viewer_init): Likewise.
6256
62572010-02-06 Colin D Bennet <colin@gibibit.com>
62582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6259
6260 Support for gfxterm in a window.
6261
6262 * include/grub/gfxterm.h: New file.
6263 * include/grub/video.h (struct grub_video_rect): New declaration.
6264 (grub_video_rect_t): Likewise.
6265 * term/gfxterm.c (struct grub_gfxterm_window): New type.
6266 (refcount): New variable.
6267 (render_target): Likewise.
6268 (window): Likewise.
6269 (repaint_callback): Likewise.
6270 (grub_virtual_screen_setup): Use 'render_target'.
6271 (init_window): New function.
6272 (grub_gfxterm_init_window): Likewise.
6273 (grub_gfxterm_init): Check reference counter.
6274 Use init_window.
6275 (destroy_window): New function.
6276 (grub_gfxterm_destroy_window): Likewise.
6277 (grub_gfxterm_fini): Check reference counter.
6278 Use destroy_window.
6279 (redraw_screen_rect): Restore viewport.
6280 Use 'render_target' and 'window'.
6281 Call 'repaint_callback'.
6282 (write_char): Use 'render_target'.
6283 (draw_cursor): Likewise.
6284 (scroll_up): Restore viewport.
6285 Use 'render_target' and 'window'.
6286 Call 'repaint_callback'.
6287 (grub_gfxterm_cls): Likewise.
6288 (grub_gfxterm_refresh): Use 'window'.
6289 (grub_gfxterm_set_repaint_callback): New function.
6290 (grub_gfxterm_background_image_cmd): Use 'window'.
6291 (grub_gfxterm_get_term): New function.
6292 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
6293
62942010-02-06 Colin D Bennett <colin@gibibit.com>
6295
6296 Bitmap scaling support.
6297
6298 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
6299 (bitmap_scale_mod_SOURCES): New variable.
6300 (bitmap_scale_mod_CFLAGS): Likewise.
6301 (bitmap_scale_mod_LDFLAGS): Likewise.
6302 * include/grub/bitmap_scale.h: New file.
6303 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
6304 (background_image_cmd_options): New variable.
6305 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
6306 (cmd): Rename and change type to ...
6307 (background_image_cmd_handle): ... this. All users updated.
6308 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
6309 * video/bitmap_scale.c: New file.
6310
63112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6312
6313 SDL support.
6314
6315 * Makefile.in (LIBSDL): New variable.
6316 (enable_grub_emu_sdl): Likewise.
6317 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
6318 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
6319 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
6320 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
6321 * util/sdl.c: New file.
6322
63232010-02-06 Colin D Bennett <colin@gibibit.com>
63242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6325
6326 Double buffering support.
6327
6328 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
6329 * include/grub/video.h: Update comment.
6330 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
6331 New type.
6332 (grub_video_fb_doublebuf_blit_init): New prototype.
6333 * term/gfxterm.c (scroll_up): Support double buffering.
6334 (grub_gfxterm_refresh): Likewise.
6335 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
6336 (grub_video_fb_doublebuf_blit_init): Likewise.
6337 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
6338 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
6339 'displayed_page', 'render_page' and 'update_screen'.
6340 (grub_video_vbe_fini): Free offscreen buffer.
6341 (doublebuf_pageflipping_commit): New function.
6342 (doublebuf_pageflipping_update_screen): Likewise.
6343 (doublebuf_pageflipping_init): Likewise.
6344 (double_buffering_init): Likewise.
6345 (grub_video_vbe_setup): Enable doublebuffering.
6346 (grub_video_vbe_swap_buffers): Implement.
6347 (grub_video_vbe_set_active_render_target): Handle double buffering.
6348 (grub_video_vbe_get_active_render_target): Likewise.
6349 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
6350 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
6351 (grub_video_vbe_enable_double_buffering): Likewise.
6352 (grub_video_vbe_swap_buffers): Use update_screen.
6353 (grub_video_set_mode): Use double buffering.
6354
63552010-02-06 Robert Millan <rmh.grub@aybabtu.com>
6356
6357 * maintainance/gentrigtables.py: Remove.
6358 * lib/trig.c: Likewise.
6359
6360 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
6361
6362 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
6363 `trigtables.c'.
6364 (trigtables.c): New rule.
6365 (gentrigtables): Likewise.
6366 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
6367
63682010-02-06 Robert Millan <rmh.grub@aybabtu.com>
6369
6370 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
6371 integer constants.
6372
63732010-02-06 Colin D Bennet <colin@gibibit.com>
6374
6375 Trigonometry support.
6376
6377 * include/grub/trig.h: New file.
6378 * lib/trig.c: Likewise.
6379 * maintainance/gentrigtables.py: Likewise.
6380 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
6381 (trig_mod_SOURCES): New variable.
6382 (trig_mod_CFLAGS): Likewise.
6383 (trig_mod_LDFLAGS): Likewise.
6384
5562834e
VS
63852010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
6388 disk devices.
6389
4f8528fc
VS
63902010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6391
6392 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
6393 error.
6394
2b4068e9
VS
63952010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6396
6397 * util/hostdisk.c (open_device): Don't use partition device when reading
6398 before the partition.
6399 (grub_util_biosdisk_read): Don't read from partition and before the
6400 partition in single operation.
6401 (grub_util_biosdisk_write): Don't write to partition and before the
6402 partition in single operation.
6403
399f6e4d
TL
64042010-02-03 Torsten Landschoff <torsten@debian.org>
6405
6406 * kern/disk.c (grub_disk_read): Fix offset computation when reading
6407 last sectors.
6408
996649b0
VS
64092010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6410
6411 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
6412 CDROM reads.
6413 (grub_biosdisk_write): Refuse to write to CDROM.
6414
3b205d4d
VS
64152010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
6418
61e89d9d
VS
64192010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 * font/font.c (find_glyph): Check that bmp_idx is available before
6422 using it.
6423 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
6424 with (font == NULL).
6425
bf7fcba2
CS
64262010-01-28 Christian Schmitt <chris@ilovelinux.de>
6427
6428 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
6429
f45d2663
BC
64302010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
6431
6432 * include/grub/script_sh.h (sourcecode): Add const qualifier.
6433 * util/grub-script-check.c (getline): Fix empty lines case.
6434
ec1444e6
RM
64352010-01-28 Robert Millan <rmh.grub@aybabtu.com>
6436
6437 * Makefile.in (check): Exit with fail status when one of the tests
6438 fails.
6439 * tests/example_functional_test.c (example_test): Fix reversed assert.
6440 * tests/example_unit_test.c (example_test): Likewise.
6441
2e1cb9bb
CW
64422010-01-28 Colin Watson <cjwatson@ubuntu.com>
6443
6444 * util/grub.d/10_linux.in: This script does not use any of the
6445 contents of gettext.sh, only the external command `gettext', so stop
6446 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
6447 the same prefix as GRUB.)
6448 * util/grub.d/10_kfreebsd.in: Likewise.
6449
63533ab0
VS
64502010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6451
6452 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
6453 of the line.
6454
989e1f93
VS
64552010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 * kern/disk.c (grub_disk_read): Fix offset computation when reading
6458 last sectors.
6459
e709ebe2
VS
64602010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
6463 having a 4KiB and not 32KiB buffer size.
6464
27dea7ed
RM
64652010-01-27 Robert Millan <rmh.grub@aybabtu.com>
6466
6467 * util/hostfs.c: Include `<errno.h>'.
6468 (grub_hostfs_read): Handle errors from fseeko() and fread().
6469
67667b9c
RM
64702010-01-27 Robert Millan <rmh.grub@aybabtu.com>
6471
6472 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
6473 loop when using read hooks on files whose size isn't sector-aligned.
6474
c294d9d8
RM
64752010-01-27 Robert Millan <rmh.grub@aybabtu.com>
6476
6477 Remove unused parameter.
6478
6479 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
6480 (grub_iso9660_open): Remove initialization of `data->length'.
6481
af75a9f1
RM
64822010-01-27 Robert Millan <rmh.grub@aybabtu.com>
6483
6484 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
6485 memleak conditions.
6486
254e2ce5 64872010-01-27 Carles Pina i Estany <carles@pina.cat>
6488
6489 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
6490 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
6491
b510928c 64922010-01-26 Carles Pina i Estany <carles@pina.cat>
6493
6494 * util/bin2h.c (usage): Fix warning (space after backslash).
6495
aa2f9dd2 64962010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 6497
6498 * font/font.c: Include `grub/fontformat.h.
6499 Remove font file format constants.
6500 (grub_font_load): Use the new macros.
6501 * include/grub/fontformat.h: New file.
6502 * util/grub-mkfont.c: Include `grub/fontformat.c'.
6503 (write_font_pf2): Use the new macros.
6504
94e7e712
RM
65052010-01-26 Robert Millan <rmh.grub@aybabtu.com>
6506
6507 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
6508 does.
6509
3973a59a
RM
65102010-01-26 Robert Millan <rmh.grub@aybabtu.com>
6511
6512 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
6513
6514 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
6515 (_start): Macroify `0x7F'.
6516
6517 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
6518 (make_install_device): Use "(pxe)" as fallback prefix when booting
6519 via PXE.
6520
42e0cba3
GS
65212010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6522
6523 * configure.ac: Reset LIBS after check for libgcc symbols.
6524
847effd8
CW
65252010-01-25 Colin Watson <cjwatson@ubuntu.com>
6526
6527 * util/hostdisk.c (open_device): Add trailing newline to debug
6528 message.
6529
ea4a7e35
GS
65302010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
6531
6532 * configure.ac: Check for `limits.h'.
6533 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
6534
67951a53
RM
65352010-01-24 Robert Millan <rmh.grub@aybabtu.com>
6536
6537 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
6538 capitalize error strings.
6539
c273d4ce
ST
65402010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
6541
6542 * util/grub.d/10_hurd.in: Add a recovery mode.
6543
69be5b74
VS
65442010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6545
6546 * configure.ac: Check for libgcc symbols with -nostdlib.
6547
fc9e5810
BC
65482010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
6549
6550 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
6551
4b358c0a
VS
65522010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6553
6554 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
6555 stack since heap may be unavailable at that point.
6556 (grub_ofconsole_gotoxy): Likewise.
6557
454fcd1c
VS
65582010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6559
6560 * configure.ac: Check for _restgpr_14_x.
6561 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
6562 and _savegpr_* prototypes.
6563
566863ca
RM
65642010-01-22 Robert Millan <rmh.grub@aybabtu.com>
6565
6566 Use generic grub_reboot() for i386-efi.
6567
6568 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
6569 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
6570 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
6571
bf86e59a
VS
65722010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6573
6574 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
6575 presence of "prefix" variable as it breaks when normal.mod is
6576 embedded.
6577
d645e0f8
VS
65782010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
6581 stack since heap is unavailable at that point.
6582
f9ab2e25
VS
65832010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
6586 (grub_freebsd_bootinfo): Rewritten.
6587 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
6588
01fc7054
VS
65892010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
6592
caab4fd6
RM
65932010-01-21 Robert Millan <rmh.grub@aybabtu.com>
6594
6595 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
6596 domain now.
6597
67eb1427
FZ
65982010-01-20 Felix Zielcke <fzielcke@z-51.de>
6599
6600 * util/misc.c (make_system_path_relative_to_its_root): Change the work
6601 around for handling "/" to the correct fix. Fix a memory leak. Use
6602 xstrdup instead of strdup.
6603
a9ed4ff3
VS
66042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
6607
66082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
6609
6610 Optimise glyph lookup by Basic Multilingual Plane lookup array.
6611
6612 * font/font.c (struct grub_font): New member 'bmp_idx'.
6613 (font_init): Initialise 'bmp_idx'.
6614 (load_font_index): Fill 'bmp_idx'.
6615 (find_glyph): Make inline. Use bmp_idx for BMP characters.
6616
48209f4f
VS
66172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6618
6619 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
6620 unnecessary calls.
6621
9f0a4bb7
VS
66222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 Move context handling out of the kernel.
6625
6626 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
6627 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
6628 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
6629 * conf/i386-efi.rmk: Likewise.
6630 * conf/i386-ieee1275.rmk: Likewise.
6631 * conf/i386-pc.rmk: Likewise.
6632 * conf/powerpc-ieee1275.rmk: Likewise.
6633 * conf/sparc64-ieee1275.rmk: Likewise.
6634 * conf/x86_64-efi.rmk: Likewise.
6635 * include/grub/env.h: Include grub/menu.h.
6636 (grub_env_var_type): Removed.
6637 (grub_env_var): Replaced field 'type' with 'global'.
6638 (grub_env_find): New prototype.
6639 (grub_env_context_open): Remove EXPORT_FUNC.
6640 (grub_env_context_close): Likewise.
6641 (grub_env_export): Likewise.
6642 (grub_env_set_data_slot): Removed.
6643 (grub_env_get_data_slot): Likewise.
6644 (grub_env_unset_data_slot): Likewise.
6645 (grub_env_unset_menu): New prototype.
6646 (grub_env_set_menu): Likewise.
6647 (grub_env_get_menu): Likewise.
6648 * include/grub/env_private.h: New file.
6649 * include/grub/normal.h (grub_context_init): New prototype.
6650 (grub_context_fini): Likewise.
6651 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
6652 * normal/context.c (grub_cmd_export): ... to here.
6653 * kern/env.c: Include env_private.h.
6654 (HASHSZ): Moved to include/grub/env_private.h.
6655 (grub_env_context): Likewise.
6656 (grub_env_sorted_var): Likewise.
6657 (current_context): Renamed from this ...
6658 (grub_current_context): ...to this. 'static' removed. All users updated.
6659 (grub_env_find): Removed 'static'.
6660 (grub_env_context_open): Moved to normal/context.c.
6661 (grub_env_context_close): Likewise.
6662 (grub_env_export): Likewise.
6663 (mangle_data_slot_name): Removed.
6664 (grub_env_set_data_slot): Likewise.
6665 (grub_env_get_data_slot): Likewise.
6666 (grub_env_unset_data_slot): Likewise.
6667 * kern/main.c (grub_set_root_dev): Don't export root.
6668 It will be done later.
6669 (grub_main): Don't export prefix.
6670 It will be done later.
6671 * normal/context.c: New file.
6672 * normal/main.c (free_menu): Use grub_env_unset_menu.
6673 (grub_normal_add_menu_entry): Use grub_env_get_menu.
6674 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
6675 (GRUB_MOD_INIT(normal)): Call grub_context_init.
6676 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
6677
8dd35b8c
VS
66782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6679
6680 setpci support.
6681
6682 * commands/setpci.c: New file.
6683 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
6684 (setpci_mod_SOURCES): New variable.
6685 (setpci_mod_CFLAGS): Likewise.
6686 (setpci_mod_LDFLAGS): Likewise.
6687
449193d5
VS
66882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6689
6690 Byte-addressable PCI configuration space.
6691
6692 * bus/pci.c (grub_pci_make_address): Use byte address instead of
6693 dword address.
6694 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
6695 GRUB_PCI_REG_CACHELINE.
6696 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
6697 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
6698 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
6699 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
6700 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
6701 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
6702 grub_pci_make_address.
6703 (lock_rom_area): Likewise.
6704 * commands/lspci.c (grub_lspci_iter): Use macroses
6705 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
6706 of grub_pci_make_address.
6707 * disk/ata.c (grub_ata_pciinit): Likewise.
6708 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
6709 (GRUB_PCI_REG_VENDOR): Likewise.
6710 (GRUB_PCI_REG_DEVICE): Likewise.
6711 (GRUB_PCI_REG_COMMAND): Likewise.
6712 (GRUB_PCI_REG_STATUS): Likewise.
6713 (GRUB_PCI_REG_REVISION): Likewise.
6714 (GRUB_PCI_REG_CLASS): Likewise.
6715 (GRUB_PCI_REG_CACHELINE): Likewise.
6716 (GRUB_PCI_REG_LAT_TIMER): Likewise.
6717 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
6718 (GRUB_PCI_REG_BIST): Likewise.
6719 (GRUB_PCI_REG_ADDRESSES): Likewise.
6720 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
6721 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
6722 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
6723 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
6724 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
6725 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
6726 (GRUB_PCI_REG_CIS_POINTER): Likewise.
6727 (GRUB_PCI_REG_SUBVENDOR): Likewise.
6728 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
6729 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
6730 (GRUB_PCI_REG_CAP_POINTER): Likewise.
6731 (GRUB_PCI_REG_IRQ_LINE): Likewise.
6732 (GRUB_PCI_REG_IRQ_PIN): Likewise.
6733 (GRUB_PCI_REG_MIN_GNT): Likewise.
6734 (GRUB_PCI_REG_MAX_LAT): Likewise.
6735 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
6736 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
6737 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 6738 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
6739 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
6740 space.
6741
96d73208
RM
67422010-01-20 Robert Millan <rmh.grub@aybabtu.com>
6743
6744 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
6745 can be reliably determined to be supported.
6746
d4484482
RM
67472010-01-20 Robert Millan <rmh.grub@aybabtu.com>
6748
6749 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
6750 that VESA is supported.
6751 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
6752 supported.
6753
00308ecf
VS
67542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6755
6756 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
6757
f66924a4
RM
67582010-01-20 Robert Millan <rmh.grub@aybabtu.com>
6759
6760 * util/misc.c (make_system_path_relative_to_its_root): Work around
6761 special-casing of "/", as previous incarnation of this routine did.
6762
cbca0ada
VS
67632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 Fix any-emu compilation.
6766
6767 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
6768 * grub_bin2h_SOURCES: New variable.
6769
34a66d99
RM
67702010-01-20 Robert Millan <rmh.grub@aybabtu.com>
6771
6772 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
6773
94fabf58
RM
67742010-01-20 Robert Millan <rmh.grub@aybabtu.com>
6775
6776 * util/grub.d/00_header.in: Fix handling of locale_dir.
6777
02cf98ca
VS
67782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6779
6780 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
6781 as possible unifont location (Gentoo).
6782 Reported by: Alexander Brüning
6783
327dbcd7
VS
67842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 Don't try to generate lists for kernel.img.
6787
6788 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
6789 (pkglib_MODULES): Remove kernel.img.
6790 (kernel_img_EXPORTS): Removed.
6791 (kernel_img_RELOCATABLE): New variable.
6792 * conf/x86_64-efi.rmk: Likewise.
6793 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
6794
ca467290
VS
67952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6796
6797 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
6798 grub_xasprintf or grub_snprintf.
6799 (grub_vsprintf): Likewise.
6800 (grub_snprintf): New proto.
6801 (grub_vsnprintf): Likewise.
6802 (grub_xasprintf): Likewise.
6803 (grub_xvasprintf): Likewise.
6804 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
6805 (grub_sprintf): Removed.
6806 (grub_vsnprintf): New function.
6807 (grub_snprintf): Likewise.
6808 (grub_xvasprintf): Likewise.
6809 (grub_xasprintf): Likewise.
6810 (grub_vsprintf): Renamed to ...
6811 (grub_vsnprintf_real): ...this. New argument max_len.
6812
aca655fd
BC
68132010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
6814
6815 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
6816 fix grub-script-check warning.
6817
7ee92c32
VS
68182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6819
6820 * include/grub/font.h (grub_font_load): Fix prototype.
6821
f80927ca
VS
68222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6823
6824 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
6825
119c50ea
VS
68262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6827
6828 * include/grub/x86_64/at_keyboard.h: New file.
6829
47d5f3c1
VS
68302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6831
6832 * loader/mips/linux.c: Include missing grub/i18n.h.
6833
55ff5266
RM
68342009-12-20 Robert Millan <rmh.grub@aybabtu.com>
6835
6836 * normal/menu.c (notify_execution_failure): Clarify error message.
6837
c893cc87
RM
68382009-12-20 Robert Millan <rmh.grub@aybabtu.com>
6839
6840 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
6841 return value (and revert all return statements). Update users.
6842
917dd370
CW
68432010-01-20 Dan Merillat <debian@dan.merillat.org>
6844
6845 * kern/device.c (grub_device_iterate): Allocate new part_ent
6846 structure based on sizeof (*p) rather than sizeof (p->next), to
6847 account for structure padding.
6848
6849 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
6850 disk is NULL, which might happen for LVM physical volumes with no
6851 LVM signature.
6852
d4a4ee57
RM
68532009-12-20 Robert Millan <rmh.grub@aybabtu.com>
6854
6855 * loader/mips/linux.c (grub_cmd_initrd)
6856 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
6857
68582009-12-20 Robert Millan <rmh.grub@aybabtu.com>
6859
6860 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
6861 (grub_video_video_init, grub_video_bitmap_init)
6862 (grub_font_manager_init, grub_term_gfxterm_init)
6863 (grub_at_keyboard_init): New extern declarations.
6864 (grub_machine_init): Initialize gfxterm and at_keyboard.
6865
6866 * kern/main.c (grub_main): Revert grub_printf delay kludge.
6867
6868 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
6869 `gfxterm.mod' into core image.
6870
6871 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
6872 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
6873 (kernel_img_FORMAT): Copy to ...
6874
6875 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
6876 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
6877 (kernel_img_FORMAT): ... here, and ...
6878
6879 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
6880 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
6881 (kernel_img_FORMAT): ... here.
6882
6883 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
6884 and input (at_keyboard) terminals in kernel.
6885 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
6886
6887 (pkglib_MODULES): Remove `pci.mod'.
6888 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
6889 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
6890 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
6891 (at_keyboard_mod_LDFLAGS): Remove variables.
6892
68932010-01-11 Felix Zielcke <fzielcke@z-51.de>
6894
6895 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
6896
68972009-12-10 Robert Millan <rmh.grub@aybabtu.com>
6898
6899 * include/grub/mips/libgcc.h: Only export symbols for functions
6900 that libgcc provides.
6901
69022009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
6903
6904 MIPS support.
6905
6906 * bus/bonito.c: New file.
6907 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
6908 GRUB_PCI_NUM_DEVICES.
6909 * term/i386/pc/serial.c: Move to ...
6910 * term/serial.c: ... here. All users updated.
6911 * util/i386/pc/grub-mkimage.c: Move to ...
6912 * util/grub-mkrawimage.c: ... here. All users updated.
6913 * term/i386/pc/at_keyboard.c: Move to ...
6914 * term/at_keyboard.c: ... here. All users updated.
6915 * conf/mips-qemu-mips.rmk: New file.
6916 * conf/mips-yeeloong.rmk: Likewise.
6917 * conf/mips.rmk: Likewise.
6918 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
6919 mipsel-qemu-mips.
6920 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
6921 to port addresses.
6922 (grub_ata_pciinit): Support CS5536.
6923 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
6924 * font/font_cmd.c (loadfont_command): Open file before passing it to
6925 grub_font_load.
6926 (pseudo_file_read): New function.
6927 (pseudo_file_close): Likewise.
6928 (pseudo_fs): New structure.
6929 (load_font_module): New function.
6930 (GRUB_MOD_INIT(font_manager)): Load embedded font.
6931 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
6932 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
6933 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
6934 * include/grub/i386/at_keyboard.h: Split into ...
6935 * include/grub/at_keyboard.h: ... this ...
6936 * include/grub/i386/at_keyboard.h: ... and this.
6937 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
6938 New prototype.
6939 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
6940 updated.
6941 (grub_elf64_size): Likewise.
6942 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
6943 filename.
6944 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
6945 * include/grub/i386/coreboot/serial.h: Rewritten.
6946 * include/grub/i386/ieee1275/serial.h: Include
6947 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
6948 * include/grub/i386/pc/serial.h: Moved from here ...
6949 * include/grub/serial.h: ... to here. All users updated.
6950 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
6951 (GRUB_PCI_NUM_BUS): Likewise.
6952 (GRUB_PCI_NUM_DEVICES): Likewise.
6953 (grub_pci_device_map_range): Add missing volatile keyword.
6954 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
6955 * include/grub/mips/at_keyboard.h: New file.
6956 * include/grub/mips/cache.h: Likewise.
6957 * include/grub/mips/io.h: Likewise.
6958 * include/grub/mips/kernel.h: Likewise.
6959 * include/grub/mips/libgcc.h: Likewise.
6960 * include/grub/mips/pci.h: Likewise.
6961 * include/grub/mips/qemu-mips/boot.h: Likewise.
6962 * include/grub/mips/qemu-mips/kernel.h: Likewise.
6963 * include/grub/mips/qemu-mips/loader.h: Likewise.
6964 * include/grub/mips/qemu-mips/memory.h: Likewise.
6965 * include/grub/mips/qemu-mips/serial.h: Likewise.
6966 * include/grub/mips/qemu-mips/time.h: Likewise.
6967 * include/grub/mips/relocator.h: Likewise.
6968 * include/grub/mips/time.h: Likewise.
6969 * include/grub/mips/types.h: Likewise.
6970 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
6971 * include/grub/mips/yeeloong/boot.h: Likewise.
6972 * include/grub/mips/yeeloong/kernel.h: Likewise.
6973 * include/grub/mips/yeeloong/loader.h: Likewise.
6974 * include/grub/mips/yeeloong/memory.h: Likewise.
6975 * include/grub/mips/yeeloong/pci.h: Likewise.
6976 * include/grub/mips/yeeloong/serial.h: Likewise.
6977 * include/grub/mips/yeeloong/time.h: Likewise.
6978 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
6979 * kern/elf.c (grub_elf32_size): New parameter. All users
6980 updated.
6981 (grub_elf64_size): Likewise.
6982 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
6983 Load modules before saying "Welcome to GRUB!".
6984 Call grub_refresh after saying "Welcome to GRUB!".
6985 * kern/mips/cache.S: New file.
6986 * kern/mips/cache_flush.S: Likewise.
6987 * kern/mips/dl.c: Likewise.
6988 * kern/mips/init.c: Likewise.
6989 * kern/mips/qemu-mips/init.c: Likewise.
6990 * kern/mips/startup.S: Likewise.
6991 * kern/mips/yeeloong/init.c: Likewise.
6992 * kern/term.c (grub_putcode): Handle NULL terminal.
6993 (grub_getcharwidth): Likewise.
6994 (grub_getkey): Likewise.
6995 (grub_checkkey): Likewise.
6996 (grub_getkeystatus): Likewise.
6997 (grub_getxy): Likewise.
6998 (grub_getwh): Likewise.
6999 (grub_gotoxy): Likewise.
7000 (grub_cls): Likewise.
7001 (grub_setcolorstate): Likewise.
7002 (grub_setcolor): Likewise.
7003 (grub_getcolor): Likewise.
7004 (grub_refresh): Likewise.
7005 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
7006 (write_jump): Add hatch nop.
7007 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
7008 * lib/mips/setjmp.S: New file.
7009 * loader/mips/linux.c: Likewise.
7010 * term/i386/pc/at_keyboard.c: Move from here ...
7011 * term/at_keyboard.c: ... to here.
7012 * term/i386/pc/serial.c: Moved from here ...
7013 * term/serial.c: ... to here. All users updated.
7014 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
7015 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
7016 (serial_translate_key_sequence): Avoid deadlock.
7017 (grub_serial_getkey): Handle backspace.
7018 (grub_serial_putchar): Fix newline handling.
7019 * util/i386/pc/grub-mkimage.c: Move from here ...
7020 * util/grub-mkrawimage.c: ... to here. All users updated.
7021 (generate_image): New parameters 'font_path' and 'format'.
7022 Support embedding font.
7023 Use grub_host_to_target* instead of grub_cpu_to_le*.
7024 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
7025 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
7026 (options): New option "--font".
7027 (usage): Likewise.
7028 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
7029 (main): Handle "--font".
7030 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
7031 (grub_virtual_screen_setup): Set bg_color_display.
7032 (redraw_screen_rect): Use bg_color_display instead of incorrect
7033 bg_color.
7034 (grub_gfxterm_cls): Likewise.
7035 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
7036 Support embedding config file.
7037 (add_segments): Likewise.
7038 (options): New option "--config".
7039 (main): Handle "--config".
7040 * video/sm712.c: New file.
7041
25c2b5b3
RM
70422010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7043
7044 Fix parallel builds.
7045
7046 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
7047 font.c depend on ascii.h).
7048
70492010-01-12 Carles Pina i Estany <carles@pina.cat>
7050
7051 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
7052
70532010-01-11 Carles Pina i Estany <carles@pina.cat>
7054
7055 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
7056 By default: disabled.
7057 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
7058 parameter.
7059
70602010-01-10 Carles Pina i Estany <carles@pina.cat>
7061
7062 * font/font.c: Update copyright years.
7063 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
7064
70652010-01-10 Carles Pina i Estany <carles@pina.cat>
7066
7067 * font/font.c: Include `ascii.h'.
7068 (ASCII_BITMAP_SIZE): New macro.
7069 (ascii_font_glyph): Define.
7070 (ascii_glyph_lookup): New function.
7071 (grub_font_get_string_width): Change comment. If glyph not found, use
7072 ascii_glyph_lookup.
7073 (grub_font_get_glyph_with_fallback): If glyph not available returns
7074 ascii_glyph_lookup.
7075 * util/grub-mkfont.c (file_formats): New enum.
7076 (options): Add `ascii-bitmaps' new option.
7077 (usage): Add `asii-bitmaps' new option.
7078 (write_font_ascii_bitmap): New function.
7079 (write_font): Rename to ...
7080 (write_font_p2): ... this. Remove print_glyphs call.
7081 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
7082 used. Call print_glyphs.
7083 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
7084
70852010-01-14 Robert Millan <rmh.grub@aybabtu.com>
7086
7087 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
7088 (grub_bin2h_SOURCES): New variable.
7089 * util/bin2h.c: New file.
7090
915fc1b8
VS
70912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7092
7093 * include/multiboot.h: Resynced with spec.
7094 * include/multiboot2.h: Likewise.
7095 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
7096 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
7097
9444b678
RM
70982010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7099
7100 * include/grub/term.h (grub_term_register_input,
7101 grub_term_register_output): Check return of terminal init()
7102 routines, and abort if errors are raised.
7103
7104 * commands/terminal.c: Update copyright year.
7105
cba98e8d
RM
71062010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7107
7108 * commands/terminal.c (grub_cmd_terminal_input)
7109 (grub_cmd_terminal_output): Check return of terminal init()
7110 routines, and abort if errors are raised.
7111
6f7db5d6
VS
71122010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * include/grub/i386/bsd.h: Fix include pathes.
7115
262bff8d
VS
71162010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7117
7118 Add missing *BSD copyright headers.
7119
7120 * include/grub/aout.h: Add BSD licence.
7121 * include/grub/i386/bsd.h: Parts under different licences moved to ...
7122 * include/grub/i386/freebsd_linker.h: ... here,
7123 * include/grub/i386/freebsd_reboot.h: ... here,
7124 * include/grub/i386/netbsd_bootinfo.h: ... here,
7125 * include/grub/i386/netbsd_reboot.h: ... here,
7126 * include/grub/i386/openbsd_bootarg.h: ... here,
7127 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
7128 licence to each file.
7129
b2cab848
RM
71302010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7131
7132 * acinclude.m4: Remove `nop' assembly instruction; it's not
7133 implemented by all architectures.
7134
2cb6be4b
RM
71352010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7136
7137 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
7138 ELILO. This is no longer necessary.
7139
a2eaee15
BC
71402010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
7141
7142 Added new tool, grub-scrit-check to verify grub.cfg syntax.
7143
7144 * util/grub-script-check.c: grub-script-check tool.
7145 * conf/common.rmk: Make rules for grub-script-check.
7146
88d17012
RM
71472010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7148
7149 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
7150 spotting it back in 2008. Shame on me for forgetting he did.
7151
7152 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
7153
8040619d
RM
71542010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7155
7156 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
7157 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
7158 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
7159 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
7160 (GRUB_VIDEO_TYPE_EFI): Rename to ...
7161 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
7162
a0c2a0f6
RM
71632010-01-17 Robert Millan <rmh.grub@aybabtu.com>
7164
7165 * include/grub/test.h: Add license header.
7166 * tests/example_functional_test.c: Likewise.
7167 * tests/example_unit_test.c: Likewise.
7168 * tests/lib/functional_test.c: Likewise.
7169 * tests/lib/test.c: Likewise.
7170 * tests/lib/unit_test.c: Likewise.
7171
b0b13907
VS
71722010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
7173
7174 Use flag-based instead of hook-based video mode selection and "auto"
7175 keyword.
7176
7177 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
7178 (grub_video_set_mode): Changed prototype. All users updated.
7179 (grub_video_check_mode_flag): New inline function.
7180 * video/video.c (parse_modespec): New function.
7181 (grub_video_set_mode): Parse flags and keywords.
7182
ea379330 71832010-01-17 Carles Pina i Estany <carles@pina.cat>
7184
7185 * util/misc.c (grub_util_info): Fix the order of the parameters in a
7186 fprintf call.
7187
e15c215e
FZ
71882010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
7189
7190 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
7191
409ae1c9 71922010-01-16 Carles Pina i Estany <carles@pina.cat>
7193
7194 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
7195 string.
7196 * util/grub-emu.c (usage): Likewise.
7197 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
7198 * util/i386/efi/grub-mkimage.c (usage): Likewise.
7199 * util/i386/pc/grub-mkimage.c (usage): Likewise.
7200 * util/i386/pc/grub-setup.c (usage): Likewise.
7201
70a14d3d 72022010-01-16 Carles Pina i Estany <carles@pina.cat>
7203
7204 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
7205 the message.
7206 (grub_util_info): Likewise.
7207 (grub_util_error): Likewise.
7208 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
7209 and/or new lines in `grub_util_warna', `grub_util_info',
7210 `grub_util_error' calls.
7211 * util/getroot.c: Likewise.
7212 * util/grub-editenv.c: Likewise.
7213 * util/grub-emu.c: Likewise.
7214 * util/grub-fstest.c: Likewise.
7215 * util/grub-mkdevicemap.c: Likewise.
7216 * util/grub-mkfont.c: Likewise.
7217 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7218 * util/grub-mkrelpath.c: Likewise.
7219 * util/grub-pe2elf.c: Likewise.
7220 * util/grub-probe.c: Likewise.
7221 * util/hostdisk.c: Likewise.
7222 * util/i386/efi/grub-mkimage.c: Likewise.
7223 * util/i386/pc/grub-mkimage.c: Likewise.
7224 * util/i386/pc/grub-setup.c: Likewise.
7225 * util/ieee1275/ofpath.c: Likewise.
7226 * util/mkisofs/eltorito.c: Likewise.
7227 * util/mkisofs/rock.c: Likewise.
7228 * util/mkisofs/write.c: Likewise.
7229 * util/raid.c: Likewise.
7230 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
7231 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7232
a0b766fc
VS
72332010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
7234
7235 Enable multiboot on non-pc.
7236
7237 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
7238 multiboot.mod and multiboot2.mod to ...
7239 * conf/i386.rmk (pkglib_MODULES): ... here.
7240 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
7241 Moved to ...
7242 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
7243 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
7244 Moved to ...
7245 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
7246 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
7247 Moved to ...
7248 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
7249 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
7250 Moved to ...
7251 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
7252 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
7253 relocator.mod.
7254 (ata_mod_SOURCES): Removed.
7255 (ata_mod_CFLAGS): Likewise.
7256 (ata_mod_LDFLAGS): Likewise.
7257 (relocator_mod_SOURCES): Removed.
7258 (relocator_mod_CFLAGS): Likewise.
7259 (relocator_mod_ASFLAGS): Likewise.
7260 (relocator_mod_LDFLAGS): Likewise.
7261 Include i386.mk.
7262 * include/grub/x86_64/multiboot.h: New file.
7263 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
7264 Terminate EFI.
7265
884ade56
VS
72662010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
7267
7268 Video multiboot support.
7269
7270 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
7271 New prototype.
7272 * include/multiboot.h: Resynced with multiboot specification.
7273 * include/multiboot2.h: Likewise.
7274 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
7275 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
7276 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
7277 (HAS_VGA_TEXT): Likewise.
7278 (accepts_video): New variable.
7279 (grub_multiboot_set_accepts_video): New function.
7280 (grub_multiboot_get_mbi_size): Account for video structures.
7281 (set_video_mode): New function.
7282 (retrieve_video_parameters): Likewise.
7283 (grub_multiboot_make_mbi): Fill video fields.
7284
0d90e8a6
VS
72852010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
7286
7287 Video driver ids.
7288
7289 * include/grub/video.h (grub_video_driver_id): New type.
7290 (grub_video_adapter): New member 'id'. All users updated.
7291 (grub_video_get_driver_id): New proto.
7292 * video/video.c (grub_video_get_driver_id): New function.
7293
5c71db1b 72942010-01-14 Carles Pina i Estany <carles@pina.cat>
7295
7296 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
7297 `var=val'.
7298
cca15b52 72992010-01-14 Carles Pina i Estany <carles@pina.cat>
7300
7301 * normal/cmdline.c (print_completion): Gettextizze.
7302
c586fbb2 73032001-01-14 Carles Pina i Estany <carles@pina.cat>
7304
7305 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
7306
ba2f6848 73072010-01-14 Carles Pina i Estany <carles@pina.cat>
7308
7309 * gettext/gettext.c (grub_gettext_translate): Push and pop
7310 grub_errno.
7311 (grub_gettext_delete_list): Change comment style.
7312 * kern/err.c (grub_error): Gettextizze.
7313 (grub_fatal): Gettextizze.
7314
0a46429a
RM
73152010-01-14 Robert Millan <rmh.grub@aybabtu.com>
7316
7317 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
7318 (grub_linux16_real_boot): ... this.
7319 * kern/i386/loader.S: Likewise.
7320 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
7321 (grub_linux16_boot): New function. Switches to text mode and calls
7322 grub_linux16_real_boot().
7323
7324 * loader/i386/bsd.c: Include `<grub/video.h>'.
7325 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
7326 text mode before calling grub_unix_real_boot().
7327
7328 * loader/i386/multiboot.c: Include `<grub/video.h>'.
7329 (grub_multiboot_boot): Switch to text mode before calling
7330 grub_relocator32_boot().
7331
7332 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
7333 (grub_chainloader_boot): Switch to text mode before calling
7334 grub_chainloader_real_boot().
7335
d6f93a66
RM
73362010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
73372010-01-05 Colin Watson <cjwatson@ubuntu.com>
7338
7339 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
7340 non-empty value.
7341
73422010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
73432010-01-05 Colin Watson <cjwatson@ubuntu.com>
7344
7345 * util/grub.d/00_header.in: Define a "savedefault" function for use
7346 in menu entries.
7347 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
7348
73492010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
73502010-01-05 Colin Watson <cjwatson@ubuntu.com>
7351
7352 * util/grub-mkconfig_lib.in (save_default_entry): Only set
7353 saved_entry if boot_once is unset.
7354 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
7355 previous saved entry (i.e. grub-reboot).
7356
73572009-12-08 Colin Watson <cjwatson@ubuntu.com>
7358
7359 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
7360
73612009-12-08 Colin Watson <cjwatson@ubuntu.com>
7362
7363 * util/grub.d/00_header.in: Use `set var=val' rather than plain
7364 `var=val'.
7365 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
7366
73672009-12-08 Colin Watson <cjwatson@ubuntu.com>
7368
7369 * util/grub-reboot.in: Fix --version output.
7370 * util/grub-set-default.in: Likewise.
7371
73722009-12-08 Colin Watson <cjwatson@ubuntu.com>
7373
7374 * util/grub.d/00_header.in: Silently ignore zero-sized environment
7375 blocks.
7376
73772009-12-08 Colin Watson <cjwatson@ubuntu.com>
7378
7379 * util/grub.d/00_header.in: Quote the value assigned to `default',
7380 in case it contains spaces.
7381
73822009-12-08 Colin Watson <cjwatson@ubuntu.com>
7383
7384 * util/grub.d/30_os-prober.in: Fix merge error that moved a
7385 `save_default_entry' call from the macosx case to the linux case.
7386
73872009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
73882009-10-25 Colin Watson <cjwatson@ubuntu.com>
7389
7390 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
7391 in `chosen' environment variable.
7392 * normal/menu_text.c (get_entry_number): Check if the variable
7393 matches the title of a menu entry.
7394 (run_menu): Pass menu to get_entry_number.
7395
7396 * util/grub-reboot.in: New file.
7397 * util/grub-set-default.in: New file.
7398 * conf/common.rmk (grub-reboot): New utility.
7399 (grub-set-default): New utility.
7400
7401 * util/grub-mkconfig_lib.in (save_default_entry): New function.
7402 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
7403 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
7404 move it to `saved_entry' for the next boot. Load environment on
7405 initialisation.
7406 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
7407 * util/grub.d/10_hurd.in: Likewise.
7408 * util/grub.d/10_linux.in (linux_entry): Likewise.
7409 * util/grub.d/10_windows.in: Likewise.
7410 * util/grub.d/30_os-prober.in: Likewise.
7411
7412 * util/grub-install.in: Create environment block.
7413 * util/i386/efi/grub-install.in: Likewise.
7414 * util/ieee1275/grub-install.in: Likewise.
7415 * util/sparc64/ieee1275/grub-install.in: Likewise.
7416
0934d184
BC
74172010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
7418
7419 Unit testing framework for GRUB.
7420
7421 * Makefile.in: Test framework build rules for 'make check'.
7422 * conf/tests.rmk: Build rules for individual tests and framework.
7423
7424 * include/grub/test.h: Header file for whitebox tests.
7425 * tests/lib/functional_test.c: Framework support for whitebox
7426 functional tests.
7427 * tests/lib/test.c: Common whitebox testing code for unit and
7428 functional tests.
7429 * tests/lib/unit_test.c: Framework support for whitebox unit
7430 tests.
7431
7432 * tests/util/grub-shell-tester.in: Support utility for grub-script
7433 tests.
7434 * tests/util/grub-shell.in: Utility to execute grub-script
7435 commands in a Qemu instance.
7436
7437 * tests/example_functional_test.c: Example whitebox functional
7438 test.
7439 * tests/example_grub_script_test.in: Example grub-script test.
7440 * tests/example_scripted_test.in: Example scripted test.
7441 * tests/example_unit_test.c: Example whitebox unit test.
7442
9c4ffeeb
VS
74432010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7444
7445 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
7446 Add loader/i386/multiboot_mbi.c.
7447 (multiboot2_mod_SOURCES): Likewise.
7448 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
7449 (multiboot2_mod_SOURCES): Likewise.
7450 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
7451 (grub_multiboot_make_mbi): Likewise.
7452 (grub_multiboot_free_mbi): Likewise.
7453 (grub_multiboot_init_mbi): Likewise.
7454 (grub_multiboot_add_module): Likewise.
7455 (grub_multiboot_set_bootdev): Likewise.
7456 * loader/i386/multiboot.c (mbi): Removed.
7457 (mbi_dest): Likewise.
7458 (alloc_mbi): New variable.
7459 (grub_multiboot_payload_size): Removed. All users updated.
7460 (grub_multiboot_pure_size): New variable.
7461 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
7462 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
7463 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
7464 (grub_fill_multiboot_mmap): Likewise.
7465 (grub_multiboot_get_bootdev): Likewise.
7466 (grub_multiboot): Use multiboot_mbi functions.
7467 * loader/i386/multiboot_mbi.c: New file.
7468
17383dfe
VS
74692010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
7472 it would result in module crash.
7473
c1f28820
VS
74742010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7475
7476 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
7477 (grub_ofconsole_getwh): Split to ...
7478 (grub_ofconsole_getwh): ... this.
7479 (grub_ofconsole_dimensions): ...and this.
7480 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
7481
58655a16
RM
74822010-01-13 Robert Millan <rmh.grub@aybabtu.com>
7483
7484 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
7485
10891398
VS
74862010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7487
7488 * loader/i386/pc/multiboot2.c: Removed stalled file.
7489
0b8a223c
VS
74902010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7491
7492 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
7493 Reported by: Grégoire Sutre
7494
92ab12b0
RM
74952010-01-11 Robert Millan <rmh.grub@aybabtu.com>
7496
7497 * util/misc.c (canonicalize_file_name): New function.
7498 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
7499 instead of realpath().
7500
a788afb6
CW
75012010-01-11 Colin Watson <cjwatson@ubuntu.com>
7502
7503 * util/grub-install.in (usage): Clarify meaning of --root-directory,
7504 and make it clearer that it's optional. Based on confusion
7505 witnessed on IRC.
7506
ffa8e3d2
VS
75072010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7508
7509 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
7510 in premature implicit newline.
7511
e9060a9d
VS
75122010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
7515 which resulted in garbled command line at the end of screen.
7516
f0d0c0b7
RM
75172010-01-10 Robert Millan <rmh.grub@aybabtu.com>
7518
7519 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
7520 initialization with similar approach as with other Linux loaders.
7521
0e60bae7
RM
75222010-01-10 Robert Millan <rmh.grub@aybabtu.com>
7523
7524 Fix i386-ieee1275 build.
7525
7526 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
7527 and grub_term_height() for video_{width,height} initialization.
7528
75292010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
7530
7531 Fix grub-emu build.
7532
7533 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
7534
cdb3f378
RM
75352010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
75362010-01-09 Robert Millan <rmh.grub@aybabtu.com>
7537
7538 Support for multiple terminals.
7539
7540 * Makefile.in (pkglib_DATA): terminal.lst.
7541 (terminal.lst): New target.
7542 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
7543 (GRUB_MOD_INIT(handler)): Likewise.
7544 (GRUB_MOD_FINI(handler)): Likewise.
7545 * commands/help.c (grub_cmd_help): Handle multiple terminals.
7546 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
7547 * commands/sleep.c (do_print): Use grub_term_restore_pos.
7548 (grub_cmd_sleep): Use grub_term_save_pos.
7549 * commands/terminal.c: New file.
7550 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
7551 commands/terminal.c and lib/charset.c.
7552 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
7553 (pkglib_MODULES): Add terminal.mod.
7554 (terminal_mod_SOURCES): New variable.
7555 (terminal_mod_CFLAGS): Likewise.
7556 (terminal_mod_LDFLAGS): Likewise.
7557 * genhandlerlist.sh: Don't handle terminals.
7558 * genmk.rb: Generate terminal-*.lst.
7559 * genterminallist.sh: New file.
7560 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
7561 (grub_is_valid_utf8): Likewise.
7562 (grub_utf8_to_ucs4_alloc): Likewise.
7563 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
7564 (grub_menu_register_viewer): Changed argument.
7565 (grub_menu_try_text): New proto.
7566 (grub_gfxmenu_try_hook): New declaration.
7567 * include/grub/normal.h (grub_normal_exit_level): New declaration.
7568 (grub_menu_init_page): Additional argument term.
7569 (grub_normal_init_page): Likewise.
7570 (grub_cmdline_get): Arguments simplified.
7571 (grub_utf8_to_ucs4_alloc): Removed.
7572 (grub_print_ucs4): Additional argument term.
7573 (grub_getstringwidth): Likewise.
7574 (grub_print_message_indented): Likewise.
7575 (grub_menu_text_register_instances): New proto.
7576 (grub_show_menu): Likewise.
7577 (read_terminal_list): Likewise.
7578 (grub_set_more): Likewise.
7579 * include/grub/parser.h: Include handler.h.
7580 * include/grub/reader.h: Rewritten.
7581 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
7582 (GRUB_TERM_WIDTH): Changed to function.
7583 (GRUB_TERM_HEIGHT): Likewise.
7584 (GRUB_TERM_BORDER_WIDTH): Likewise.
7585 (GRUB_TERM_BORDER_HEIGHT): Likewise.
7586 (GRUB_TERM_NUM_ENTRIES): Likewise.
7587 (GRUB_TERM_ENTRY_WIDTH): Likewise.
7588 (GRUB_TERM_CURSOR_X): Likewise.
7589 (grub_term_input_class): Likewise.
7590 (grub_term_output_class): Likewise.
7591 (grub_term_outputs_disabled): New declaration.
7592 (grub_term_inputs_disabled): Likewise.
7593 (grub_term_outputs): Likewise.
7594 (grub_term_inputs): Likewise.
7595 (grub_term_register_input): Rewritten.
7596 (grub_term_register_output): Likewise.
7597 (grub_term_unregister_input): Likewise.
7598 (grub_term_unregister_output): Likewise.
7599 (FOR_ACTIVE_TERM_INPUTS): New macro.
7600 (FOR_DISABLED_TERM_INPUTS): Likewise.
7601 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
7602 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
7603 * include/grub/terminfo.h: Add oterm argument to all protypes.
7604 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
7605 Use grub_rescue_run.
7606 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
7607 All users updated.
7608 * kern/reader.c: Removed. All users updated.
7609 * kern/rescue_reader.c (grub_rescue_init): Removed.
7610 (grub_rescue_reader): Likewise.
7611 (grub_register_rescue_reader): Likewise.
7612 (grub_rescue_run): New function based on kern/reader.c.
7613 * kern/term.c: Adapted for multiterm.
7614 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
7615 (grub_is_valid_utf8): Likewise.
7616 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
7617 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
7618 right terminal.
7619 * loader/i386/linux.c (grub_linux_boot): Likewise.
7620 * normal/auth.c (grub_username_get): New function.
7621 (grub_auth_check_authentication): Use grub_username_get.
7622 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
7623 * normal/color.c: Adapt for multiterm.
7624 * normal/main.c (read_config_file): Don't use grub_reader_loop.
7625 (grub_normal_init_page): Additional argument term.
7626 (read_lists): Call read_terminal_lists.
7627 (grub_enter_normal_mode): Call grub_cmdline_run.
7628 Handle grub_normal_exit_level.
7629 (grub_cmd_normal): Make reentrant.
7630 (grub_cmd_normal_exit): New function.
7631 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
7632 * normal/menu.c: Adapt for multiterm.
7633 * normal/menu_entry.c: Likewise.
7634 * normal/menu_text.c: Likewise.
7635 * normal/menu_viewer.c: Removed. All users updated.
7636 * normal/term.c: New file.
7637 * util/console.c: Change order of includes to workaround a bug in
7638 ncurses headers.
7639 * term/terminfo.c: New argument oterm on all exported functions.
7640 All users updated.
7641 * util/grub-editenv.c (grub_term_input_class): Removed.
7642 (grub_term_output_class): Likewise.
7643
1a064917
RM
76442010-01-09 Robert Millan <rmh.grub@aybabtu.com>
7645
7646 Make loader output a bit more user-friendly.
7647
7648 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
7649 is being loaded. Likewise for the Hurd.
7650
7651 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
7652 that kernel of FreeBSD ${version} is being loaded.
7653
7654 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
7655 grub_dprintf().
7656 (grub_cmd_initrd): Likewise.
7657 * util/grub.d/10_linux.in (linux_entry): Print message indicating
7658 that Linux ${version} is being loaded. Likewise for initrd.
7659
5ce0a83a 76602010-01-09 Carles Pina i Estany <carles@pina.cat>
7661
7662 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
7663
809bbfeb 76642010-01-08 Carles Pina i Estany <carles@pina.cat>
7665
7666 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
7667 (GRUB_MOD_INIT): Gettextizze.
7668 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
7669 (GRUB_MOD_INIT): Gettextizze.
7670 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
7671 (grub_cmd_linux): Capitalise Linux.
7672 (GRUB_MOD_INIT): Gettextizze.
7673 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
7674 (grub_cmd_linux): Capitalise Linux.
7675 (GRUB_MOD_INIT): Gettextizze.
7676 * loader/i386/linux.c: Include `<grub/i18n.h>'.
7677 (grub_cmd_linux): Capitalise Linux.
7678 (GRUB_MOD_INIT): Gettextizze.
7679 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
7680 (GRUB_MOD_INIT): Gettextizze.
7681 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
7682 (grub_cmd_linux): Capitalise Linux.
7683 (GRUB_MOD_INIT): Gettextizze.
7684 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
7685 (grub_cpu_xnu_init): Gettextizze.
7686 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
7687 (GRUB_MOD_INIT): Gettextizze.
7688 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
7689 (GRUB_MOD_INIT): Gettextizze.
7690 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
7691 (grub_linux_load64): Capitalise Linux.
7692 (GRUB_MOD_INIT): Gettextizze.
7693 * loader/xnu.c: Include `<grub/i18n.h>'.
7694 (GRUB_MOD_INIT): Gettextizze.
7695 * po/POTFILES: Add `loader/efi/appleloader.c',
7696 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
7697 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
7698 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
7699 `loader/i386/xnu.c', `loader/multiboot_loader.c',
7700 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
7701 and `loader/xnu.c'.
7702
b394b2ca
RM
77032010-01-08 Robert Millan <rmh.grub@aybabtu.com>
7704
7705 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
7706
77072010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
7708
7709 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
7710 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
7711 * util/mkisofs/mkisofs.c (main): Readjust --version output.
7712
bc8b32b3
RM
77132010-01-07 Robert Millan <rmh.grub@aybabtu.com>
7714
7715 Reset Multiboot 2 support. New loader implements the draft in
7716 /branches/multiboot2 and shares as much code as possible with the
7717 production Multiboot 1 implementation.
7718
7719 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
7720 * loader/multiboot2.c: Likewise.
7721 * loader/i386/multiboot_helper.S: Likewise.
7722 * include/multiboot2.h: Replace with latest version from the draft
7723 in /branches/multiboot2.
7724
7725 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
7726 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
7727 and `loader/multiboot2.c'.
7728 (pkglib_MODULES): Add `multiboot2.mod'.
7729 (multiboot2_mod_SOURCES): New variable.
7730 (multiboot2_mod_LDFLAGS): Likewise.
7731 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
7732
7733 * conf/i386-pc.rmk: Likewise.
7734
7735 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
7736 (multiboot_mod_SOURCES): Remove variable.
7737 (multiboot_mod_LDFLAGS): Likewise.
7738 (multiboot_mod_CFLAGS): Likewise.
7739
7740 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
7741 `<multiboot2.h>' instead of `<multiboot.h>'.
7742 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
7743 (MULTIBOOT_HEADER_MAGIC): New macros.
7744
7745 * loader/multiboot_loader.c (module_version_status): Remove variable.
7746 (find_multi_boot2_header): Remove function.
7747 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
7748 logic. Always check for the Multiboot version we're compiling for.
7749 (grub_cmd_module_loader): Likewise.
7750 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
7751 command instead of `multiboot'.
7752
5d2c52b8
RM
77532010-01-07 Robert Millan <rmh.grub@aybabtu.com>
7754
7755 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
7756 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
7757 all users.
7758
53108d92
RM
77592010-01-07 Robert Millan <rmh.grub@aybabtu.com>
77602010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7761
7762 Fix breakage introduced with previous commit.
7763
7764 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
7765 commands.
7766 * normal/handler.c (read_handler_list): Revert part of previous commit
7767 affecting this file.
7768 * normal/main.c (read_lists): Move read_handler_list() call back to ...
7769 (grub_normal_execute): ... here.
7770
e2e936b2
RM
77712010-01-07 Robert Millan <rmh.grub@aybabtu.com>
7772
7773 Merge prefix-redefinition-fix branch.
7774
7775 * normal/autofs.c (read_fs_list): Make function capable of being
7776 run multiple times, gracefuly replacing the previous data
7777 structures.
7778 * normal/dyncmd.c (read_command_list): Likewise.
7779 * normal/handler.c (read_handler_list): Likewise.
7780 * normal/main.c (read_lists): New function. Calls all the
7781 list reading functions.
7782 (grub_normal_execute): Use read_lists() instead of calling all
7783 list reading functions explicitly. Register read_lists() as a
7784 variable hook attached to ${prefix}.
7785
607a3701
VS
77862010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7787
7788 Merge crypto branch.
7789
7790 * Makefile.in (pkglib_DATA): Add crypto.lst.
7791 (crypto.lst): New target.
7792 * commands/hashsum.c: New file.
7793 * commands/password.c (check_password): Use grub_crypto_memcmp.
7794 * commands/password_pbkdf2.c: New file.
7795 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
7796 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
7797 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
7798 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
7799 -I$(srcdir)/lib/libgcrypt_wrap.
7800 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
7801 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
7802 password_pbkdf2.mod.
7803 (crypto_mod_SOURCES): New variable.
7804 (crypto_mod_CFLAGS): Likewise.
7805 (crypto_mod_LDFLAGS): Likewise.
7806 (hashsum_mod_SOURCES): New variable.
7807 (hashsum_mod_CFLAGS): Likewise.
7808 (hashsum_mod_LDFLAGS): Likewise.
7809 (pbkdf2_mod_SOURCES): New variable.
7810 (pbkdf2_mod_CFLAGS): Likewise.
7811 (pbkdf2_mod_LDFLAGS): Likewise.
7812 (password_pbkdf2_mod_SOURCES): New variable.
7813 (password_pbkdf2_mod_CFLAGS): Likewise.
7814 (password_pbkdf2_mod_LDFLAGS): Likewise.
7815 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
7816 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
7817 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
7818 Include conf/gcry.rmk.
7819 * include/grub/auth.h: Rewritten.
7820 * include/grub/crypto.h: New file.
7821 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
7822 * include/grub/normal.h (read_crypto_list): New prototype.
7823 * lib/crypto.c: New file.
7824 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
7825 * lib/pbkdf2.c: Likewise.
7826 * normal/auth.c (grub_auth_strcmp): Removed.
7827 (grub_iswordseparator): Likewise.
7828 (grub_auth_strword): Likewise.
7829 (is_authenticated): Use grub_strword.
7830 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
7831 and grub_strword. Pass entered password to authentication callback.
7832 * normal/crypto.c: New file.
7833 * normal/main.c: Call read_crypto_list.
7834 * util/grub-mkpasswd-pbkdf2.c: New file.
7835 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
7836
42841caa
VS
78372010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
7838
7839 Fix descent and ascent calculation.
7840
7841 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
7842 (options): New option "asce".
7843 (usage): Likewise.
7844 (add_char): Ignore invalid glyphs for descent calculation.
7845 Calculate ascent from actual content.
7846 (print_glyphs): Use 'asce'.
7847 (write_font): Likewise. Allow ascent override.
7848 (main): Handle "asce" option.
7849
e7730de7 78502010-01-06 Carles Pina i Estany <carles@pina.cat>
7851
7852 * kern/err.c: Include `<grub/i18n.h>'.
7853 (grub_print_error): Add full stop. Gettextizze.
7854 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
7855 (grub_bsd_load_elf): Capitalise ELF.
7856 (grub_cmd_freebsd_loadenv): Add `s' in error string.
7857 (grub_cmd_freebsd_module): Likewise.
7858 (grub_cmd_freebsd_module_elf): Likewise.
7859 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
7860
40e3a41f 78612010-01-06 Carles Pina i Estany <carles@pina.cat>
7862
7863 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
7864 * commands/search_file.c (HELP_MESSAGE): New macro.
7865 * commands/search_label.c (HELP_MESSAGE): Likewise.
7866 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
7867 * po/POTFILES: Add `commands/search_file.c',
7868 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
7869 `commands/search.c'.
7870
83507e68
RM
78712010-01-05 Robert Millan <rmh.grub@aybabtu.com>
7872
7873 * config.rpath: Update from Gnulib.
7874
465c787b
YB
78752010-01-05 Yves Blusseau <blusseau@zetam.org>
7876
7877 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
7878
6581dd3a
YB
78792010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
7880
7881 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
7882
3bff18c5
CW
78832010-01-05 Colin Watson <cjwatson@ubuntu.com>
7884
7885 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
7886 arguments to fread so that we get a return value in bytes, rather
7887 than something that will normally be rounded down to 0.
7888 Adjust error handling to avoid producing garbage when size_t is not
7889 the same size as long long.
7890
a1368118
CW
78912010-01-05 Colin Watson <cjwatson@ubuntu.com>
7892
7893 * util/mkisofs/write.c (padblock_write): Check return value of
7894 fread.
7895
7c302978
RM
78962010-01-05 Robert Millan <rmh.grub@aybabtu.com>
7897
7898 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
7899 floppy images now.
7900
7901 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
7902
e33ace06
RM
79032010-01-04 Robert Millan <rmh.grub@aybabtu.com>
7904
7905 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
7906 instead of manual alignment.
7907 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
7908 verbose). Avoid attempts to read past end of the device
7909 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
7910 but GRUB_DISK_CACHE_SIZE may exceed that).
7911
4b856776
RM
79122010-01-04 Robert Millan <rmh.grub@aybabtu.com>
7913
7914 * commands/crc.c (grub_cmd_crc): Abort on read errors.
7915 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
7916 it to upper layer.
7917
52c2d97f
VS
79182010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7919
7920 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
7921 New constant.
7922 (grub_efi_piwg_device_path): New structure
7923 (grub_efi_piwg_device_path_t): New type.
7924 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
7925 (devpath_1): Transform to a structure. All users updated.
7926 (devpath_2): Likewise.
7927 (devpath_3): Likewise.
7928 (devpath_4): Likewise.
7929 (devpath_5): Likewise.
7930
98ff6a54
VS
79312010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7932
7933 * loader/efi/appleloader.c: Restored. Update all users.
7934
3a73dcb6
RM
79352010-01-03 Robert Millan <rmh.grub@aybabtu.com>
7936
7937 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
7938
7939 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
7940 (struct boot_blocklist): Move from here ...
7941 * include/grub/i386/pc/boot.h [ASM_FILE]
7942 (struct grub_boot_blocklist): ... to here. Update all users.
7943 (setup): Only initialize `start' member of `first_block'
7944 structure. Add assert() calls to verify the other members.
7945
7946 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
7947 (generate_image): Fix broken blocklist length initialization.
7948 Add assert() call to verify blocklist `segment' field.
7949
ab0eeb0c
RM
79502010-01-03 Robert Millan <rmh.grub@aybabtu.com>
7951
7952 * loader/efi/appleloader.c: Remove. Update all users.
7953
58bc8bd5
RM
79542010-01-03 Robert Millan <rmh.grub@aybabtu.com>
7955
7956 * boot/i386/pc/boot.S: Update copyright year.
7957 * boot/i386/pc/cdboot.S: Likewise.
7958 * boot/i386/pc/diskboot.S: Likewise.
7959 * boot/i386/pc/lnxboot.S: Likewise.
7960 * boot/i386/pc/pxeboot.S: Likewise.
7961 * bus/pci.c: Likewise.
7962 * commands/cmp.c: Likewise.
7963 * commands/help.c: Likewise.
7964 * commands/hexdump.c: Likewise.
7965 * commands/i386/pc/halt.c: Likewise.
7966 * commands/i386/pc/play.c: Likewise.
7967 * commands/i386/pc/vbeinfo.c: Likewise.
7968 * commands/ls.c: Likewise.
7969 * commands/test.c: Likewise.
7970 * disk/dmraid_nvidia.c: Likewise.
7971 * disk/i386/pc/biosdisk.c: Likewise.
7972 * disk/ieee1275/nand.c: Likewise.
7973 * disk/ieee1275/ofdisk.c: Likewise.
7974 * disk/lvm.c: Likewise.
7975 * disk/raid.c: Likewise.
7976 * disk/raid6_recover.c: Likewise.
7977 * disk/scsi.c: Likewise.
7978 * fs/affs.c: Likewise.
7979 * fs/cpio.c: Likewise.
7980 * fs/ext2.c: Likewise.
7981 * fs/hfs.c: Likewise.
7982 * fs/iso9660.c: Likewise.
7983 * fs/ntfs.c: Likewise.
7984 * fs/sfs.c: Likewise.
7985 * fs/udf.c: Likewise.
7986 * fs/ufs.c: Likewise.
7987 * fs/xfs.c: Likewise.
7988 * gencmdlist.sh: Likewise.
7989 * genmk.rb: Likewise.
7990 * include/grub/disk.h: Likewise.
7991 * include/grub/efi/api.h: Likewise.
7992 * include/grub/efi/efi.h: Likewise.
7993 * include/grub/efi/pe32.h: Likewise.
7994 * include/grub/elf.h: Likewise.
7995 * include/grub/fs.h: Likewise.
7996 * include/grub/i386/at_keyboard.h: Likewise.
7997 * include/grub/i386/pc/memory.h: Likewise.
7998 * include/grub/i386/pc/vbe.h: Likewise.
7999 * include/grub/i386/pci.h: Likewise.
8000 * include/grub/i386/tsc.h: Likewise.
8001 * include/grub/ieee1275/ieee1275.h: Likewise.
8002 * include/grub/ntfs.h: Likewise.
8003 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
8004 * include/grub/sparc64/libgcc.h: Likewise.
8005 * include/grub/symbol.h: Likewise.
8006 * include/grub/types.h: Likewise.
8007 * include/multiboot2.h: Likewise.
8008 * io/gzio.c: Likewise.
8009 * kern/device.c: Likewise.
8010 * kern/disk.c: Likewise.
8011 * kern/efi/efi.c: Likewise.
8012 * kern/efi/mm.c: Likewise.
8013 * kern/elf.c: Likewise.
8014 * kern/file.c: Likewise.
8015 * kern/i386/dl.c: Likewise.
8016 * kern/i386/pc/init.c: Likewise.
8017 * kern/i386/pc/startup.S: Likewise.
8018 * kern/ieee1275/ieee1275.c: Likewise.
8019 * kern/ieee1275/init.c: Likewise.
8020 * kern/main.c: Likewise.
8021 * kern/mm.c: Likewise.
8022 * kern/powerpc/dl.c: Likewise.
8023 * kern/sparc64/dl.c: Likewise.
8024 * kern/x86_64/dl.c: Likewise.
8025 * lib/hexdump.c: Likewise.
8026 * loader/efi/appleloader.c: Likewise.
8027 * loader/i386/ieee1275/linux.c: Likewise.
8028 * loader/i386/pc/chainloader.c: Likewise.
8029 * loader/i386/pc/linux.c: Likewise.
8030 * loader/i386/pc/multiboot2.c: Likewise.
8031 * loader/ieee1275/multiboot2.c: Likewise.
8032 * loader/multiboot2.c: Likewise.
8033 * loader/multiboot_loader.c: Likewise.
8034 * loader/powerpc/ieee1275/linux.c: Likewise.
8035 * normal/completion.c: Likewise.
8036 * normal/menu_entry.c: Likewise.
8037 * partmap/apple.c: Likewise.
8038 * util/grub.d/10_hurd.in: Likewise.
8039 * util/hostfs.c: Likewise.
8040 * video/readers/png.c: Likewise.
8041
e2d70b5c
CW
80422010-01-03 Colin Watson <cjwatson@ubuntu.com>
8043
8044 * include/grub/misc.h (GNUC_PREREQ): New macro.
8045 (ATTRIBUTE_ERROR): New macro.
8046 * include/grub/list.h (grub_bad_type_cast_real): Use
8047 ATTRIBUTE_ERROR.
8048
a173283f 80492010-01-03 Carles Pina i Estany <carles@pina.cat>
8050
8051 * normal/menu_text.c (print_message): Change messages.
8052
7fa7ff74 80532010-01-03 Carles Pina i Estany <carles@pina.cat>
8054
8055 * normal/menu_entry.c (store_completion): Gettextizze.
8056
136d24f6 80572010-01-03 Carles Pina i Estany <carles@pina.cat>
8058
8059 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
8060
f936862e 80612010-01-03 Carles Pina i Estany <carles@pina.cat>
8062
8063 * po/POTFILES: Sort correctly.
8064
29c44ad1 80652010-01-03 Carles Pina i Estany <carles@pina.cat>
8066
8067 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
8068 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
8069 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
8070 full stop.
8071 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
8072 summary. Gettextizze the strings.
8073 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
8074 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
8075 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
8076 full stop.
8077 (GRUB_MOD_INIT): Remove command name from summary.
8078 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
8079 summary.
8080 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
8081 * term/i386/pc/serial.c (options): Add full stops.
8082 (GRUB_MOD_INIT): Remove command name from the summary.
8083
77a79592 80842010-01-03 Carles Pina i Estany <carles@pina.cat>
8085
8086 * commands/acpi.c: Gettextizze help strings and/or options. Include
8087 `grub/i18n.h' if needed.
8088 * commands/blocklist.c: Likewise.
8089 * commands/boot.c: Likewise.
8090 * commands/cat.c: Likewise.
8091 * commands/cmp.c: Likewise.
8092 * commands/configfile.c: Likewise.
8093 * commands/crc.c: Likewise.
8094 * commands/date.c: Likewise.
8095 * commands/echo.c: Likewise.
8096 * commands/efi/fixvideo.c: Likewise.
8097 * commands/efi/loadbios.c: Likewise.
8098 * commands/gptsync.c: Likewise.
8099 * commands/halt.c: Likewise.
8100 * commands/handler.c: Likewise.
8101 * commands/hdparm.c: Likewise.
8102 * commands/hexdump.c: Likewise.
8103 * commands/i386/cpuid.c: Likewise.
8104 * commands/i386/pc/drivemap.c: Likewise.
8105 * commands/i386/pc/halt.c: Likewise.
8106 * commands/i386/pc/pxecmd.c: Likewise.
8107 * commands/i386/pc/vbeinfo.c: Likewise.
8108 * commands/i386/pc/vbetest.c: Likewise.
8109 * commands/ieee1275/suspend.c: Likewise.
8110 * commands/keystatus.c: Likewise.
8111 * commands/loadenv.c: Likewise.
8112 * commands/ls.c: Likewise.
8113 * commands/lsmmap.c: Likewise.
8114 * commands/lspci.c: Likewise.
8115 * commands/memrw.c: Likewise.
8116 * commands/minicmd.c: Likewise.
8117 * commands/parttool.c: Likewise.
8118 * commands/password.c: Likewise.
8119 * commands/probe.c: Likewise.
8120 * commands/read.c: Likewise.
8121 * commands/reboot.c: Likewise.
8122 * commands/search.c: Likewise.
8123 * commands/sleep.c: Likewise.
8124 * commands/test.c: Likewise.
8125 * commands/true.c: Likewise.
8126 * commands/usbtest.c: Likewise.
8127 * commands/videotest.c: Likewise.
8128 * commands/xnu_uuid.c: Likewise.
8129 * disk/loopback.c: Likewise.
8130 * hello/hello.c: Likewise.
8131 * loader/i386/bsd.c: Likewise.
8132 * term/i386/pc/serial.c: Likewise.
8133 * po/POTFILES: Add new files.
8134
da8d5c53
CW
81352010-01-02 Colin Watson <cjwatson@ubuntu.com>
8136
8137 * term/i386/pc/at_keyboard.c
8138 (keyboard_controller_wait_untill_ready): Rename to ...
8139 (keyboard_controller_wait_until_ready): ... this. Update all users.
8140
33937904 81412010-01-01 Carles Pina i Estany <carles@pina.cat>
8142
8143 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
8144 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
8145 string using string width.
8146 * normal/menu_text.c (grub_print_message_indented): Use
8147 grub_print_spaces and not print_spaces.
8148 (print_timeout): Likewise.
8149 (print_spaces): Move to...
8150 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
8151
3fd3b8d8
RM
81522010-01-01 Robert Millan <rmh.grub@aybabtu.com>
8153
8154 Import from Gnulib.
8155
8156 * gnulib/getdelim.c: New file.
8157 * gnulib/getline.c: Likewise.
8158
33433555
VS
81592009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
8160
8161 * include/grub/list.h (grub_assert_fail): Removed.
8162 (grub_bad_type_cast_real): New function.
8163 (grub_bad_type_cast): New macro.
8164 (GRUB_AS_LIST): Use grub_bad_type_cast.
8165 (GRUB_AS_LIST_P): Likewise.
e44721e8 8166 (GRUB_AS_NAMED_LIST): Likewise.
33433555 8167 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 8168 (GRUB_AS_PRIO_LIST): Likewise.
33433555 8169 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 8170 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 8171
f5a51306
VS
81722009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
8173
8174 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
8175 Fix syntax error.
8176
90d1e879
RM
81772009-12-29 Robert Millan <rmh.grub@aybabtu.com>
8178
8179 * configure.ac: Check for TARGET_CFLAGS initialization before we
8180 initialize it ourselves (sigh).
8181 Move a few modifications to TARGET_CFLAGS to be unconditional
8182 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
8183 eh_frame)
8184
8185 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
8186 * term/i386/pc/at_keyboard.c
8187 (keyboard_controller_wait_untill_ready): Likewise.
8188 (keyboard_controller_led): Rename `led_status' paramter to avoid
8189 name conflict.
8190
465b5a81 81912009-12-28 Carles Pina i Estany <carles@pina.cat>
8192
8193 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
8194 quotes.
8195
c181849b
VS
81962009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8197
8198 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
8199
9c8739a4
VS
82002009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8201
8202 * normal/menu_text.c (grub_print_message_indented): Prevent
8203 past-the-end-of-array dereference.
8204
3e74249c
VS
82052009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8206
8207 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
8208 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
8209
64fd18ed 82102009-12-27 Carles Pina i Estany <carles@pina.cat>
8211
8212 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
8213 * normal/main.c (grub_normal_read_line): Remove a space from the
8214 default prompt.
8215
714af9b9 82162009-12-27 Carles Pina i Estany <carles@pina.cat>
8217
8218 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
8219 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
8220 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
8221 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
8222 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
8223 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
8224 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
8225
82f3e412 82262009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 8227
8228 * video/readers/jpeg.c (cmd): Declare.
8229 (grub_cmd_jpegtest): Use `grub_command_t' type.
8230 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
8231 Assign to `cmd'.
8232 (GRUB_MOD_FINI): Use `cmd' to unregister.
8233 * video/readers/png.c (cmd): Declare.
8234 (grub_cmd_pngtest): Use `grub_command_t' type.
8235 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
8236 Assign to `cmd'.
8237 (GRUB_MOD_FINI): Use `cmd' to unregister.
8238 * video/readers/tga.c (cmd): Declare.
8239 (grub_cmd_tgatest): Use `grub_command_t' type.
8240 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
8241 Assign to `cmd'.
8242 (GRUB_MOD_FINI): Use `cmd' to unregister.
8243
82f3e412 82442009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 8245
8246 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
8247 stops.
8248 * kern/corecmd.c (grub_register_core_commands): Likewise.
8249 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
8250 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
8251 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
8252 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
8253 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
8254 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
8255 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
8256 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
8257 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
8258 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
8259 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
8260 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
8261 * normal/handler.c (insert_handler): Likewise.
8262 * normal/main.c (GRUB_MOD_INIT): Likewise.
8263 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
8264
fdcdbb66 82652009-12-26 Carles Pina i Estany <carles@pina.cat>
8266
8267 * commands/help.c (grub_cmd_help): Print the command name before the
8268 summary.
8269 (GRUB_MOD_INIT): Remove command name from the summary.
8270 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 8271 string as summary.
fdcdbb66 8272 * lib/arg.c (find_long): Print the command name before the summary.
8273 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
8274 summary.
8275 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
8276 * commands/cat.c (GRUB_MOD_INIT): Likewise.
8277 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
8278 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
8279 * commands/crc.c (GRUB_MOD_INIT): Likewise.
8280 * commands/date.c (GRUB_MOD_INIT): Likewise.
8281 * commands/echo.c (GRUB_MOD_INIT): Likewise.
8282 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
8283 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
8284 * commands/handler.c (GRUB_MOD_INIT): Likewise.
8285 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
8286 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
8287 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
8288 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
8289 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
8290 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
8291 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
8292 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
8293 * commands/ls.c (GRUB_MOD_INIT): Likewise.
8294 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
8295 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
8296 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
8297 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
8298 * commands/password.c (GRUB_MOD_INIT): Likewise.
8299 * commands/probe.c (GRUB_MOD_INIT): Likewise.
8300 * commands/read.c (GRUB_MOD_INIT): Likewise.
8301 * commands/search.c (GRUB_MOD_INIT): Likewise.
8302 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
8303 * commands/test.c (GRUB_MOD_INIT): Likewise.
8304 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
8305 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
8306 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
8307 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
8308 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
8309 * lib/arg.c (GRUB_MOD_INIT): Likewise.
8310 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
8311 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
8312 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
8313 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
8314 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
8315 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
8316 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
8317 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
8318
9c288be2
VS
83192009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8320
8321 Use search command for preliminar UUID search.
8322
8323 * commands/search.c: Split into ...
8324 * commands/search_wrap.c: ...this
8325 * commands/search.c: ...and this.
8326 * commands/search_file.c: New file.
8327 * commands/search_label.c: New file.
8328 * commands/search_uuid.c: New file.
8329 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
8330 Add commands/search_wrap.c, commands/search_file.c,
8331 commands/search_label.c and commands/search_uuid.c.
8332 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
8333 (search_mod_SOURCES): Set to commands/search_wrap.c.
8334 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
8335 search_label.mod.
8336 (search_fs_file_mod_SOURCES): New variable.
8337 (search_fs_file_mod_CFLAGS): Likewise.
8338 (search_fs_file_mod_LDFLAGS): Likewise.
8339 (search_label_mod_SOURCES): Likewise.
8340 (search_label_mod_CFLAGS): Likewise.
8341 (search_label_mod_LDFLAGS): Likewise.
8342 (search_fs_uuid_mod_SOURCES): New variable.
8343 (search_fs_uuid_mod_CFLAGS): Likewise.
8344 (search_fs_uuid_mod_LDFLAGS): Likewise.
8345 (fs_file_mod_SOURCES): Removed.
8346 (fs_file_mod_CFLAGS): Likewise.
8347 (fs_file_mod_LDFLAGS): Likewise.
8348 (fs_uuid_mod_SOURCES): Removed.
8349 (fs_uuid_mod_CFLAGS): Likewise.
8350 (fs_uuid_mod_LDFLAGS): Likewise.
8351 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
8352 Set to util/grub-install.in.
8353 * disk/fs_file.c: Removed.
8354 * disk/fs_uuid.c: Likewise.
8355 * include/grub/search.h: New file.
8356 * util/grub-install.in: Handle sparc64.
8357 Create and use load.cfg.
8358 * util/sparc64/ieee1275/grub-install.in: Removed.
8359
db943399
VS
83602009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
8363 Ignore return status if CF is cleared.
8364 (grub_biosdisk_get_diskinfo_standard): Likewise.
8365
3fdae612
RM
83662009-12-25 Robert Millan <rmh.grub@aybabtu.com>
8367
8368 * term/i386/pc/at_keyboard.c
8369 (keyboard_controller_wait_untill_ready): New function.
8370 (grub_keyboard_controller_write, grub_keyboard_controller_read)
8371 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
8372 for keyboard polling, rather than duplicate the same loop. This
8373 saves a few bytes in code size.
8374
7ebaa2b4
VS
83752009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8376
8377 Support for (pxe[:server[:gateway]]) syntax and
8378 use environment variable for PXE.
8379
8380 * commands/i386/pc/pxecmd.c (options): Removed.
8381 (print_ip): Removed.
8382 (grub_cmd_pxe): Removed
8383 (grub_cmd_pxe_unload): New function.
8384 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
8385 (grub_pxe_your_ip): Made static.
8386 (grub_pxe_default_server_ip): Likewise.
8387 (grub_pxe_default_gateway_ip): Likewise.
8388 (grub_pxe_blksize): Likewise.
8389 (parse_ip): New function.
8390 (grub_pxe_open): Support server and gateway specification.
8391 (grub_pxe_close): Free disk->data.
8392 (grub_pxefs_open): Use disk->data.
8393 (grub_pxefs_read): Likewise.
8394 (grub_env_write_readonly): New function.
8395 (set_mac_env): Likewise.
8396 (set_env_limn_ro): Likewise.
8397 (parse_dhcp_vendor): Likewise.
8398 (grub_pxe_detect): Set the environment variables.
8399 (set_ip_env): New function.
8400 (write_ip_env): Likewise.
8401 (grub_env_write_pxe_default_server): Likewise.
8402 (grub_env_write_pxe_default_gateway): Likewise.
8403 (grub_env_write_pxe_blocksize): Likewise.
8404 (GRUB_MOD_INIT(pxe)): Set environment variables.
8405 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
8406 (grub_pxe_mac_addr_t): ... this. All users updated.
8407 (grub_pxe_your_ip): Removed.
8408 (grub_pxe_server_ip): Likewise.
8409 (grub_pxe_gateway_ip): Likewise.
8410 (grub_pxe_blksize): Likewise.
8411
ec5f98ab 84122009-12-25 Carles Pina i Estany <carles@pina.cat>
8413
8414 * commands/help.c: Include `<grub/i18n.h>'.
8415 (grub_cmd_help): Gettextizze.
8416 (GRUB_MOD_INIT): Likewise.
8417 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
8418 (GRUB_MOD_INIT): Gettextizze.
8419 * commands/search.c: Include `<grub/i18n.h>'.
8420 (options): Gettextizze.
8421 (GRUB_MOD_INIT): Gettextizze.
8422 * lib/arg.c: Include `<grub/i18n.h>'.
8423 (help_options): Gettextizze.
8424 (find_long): Likewise.
8425 (grub_arg_show_help): Likewise.
8426 * normal/dyncmd.c: Include `<grub/i18n.h>'.
8427 (read_command_list): Gettextizze.
8428 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 8429 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 8430
22815526
RM
84312009-12-25 Robert Millan <rmh.grub@aybabtu.com>
8432
8433 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
8434 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
8435 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
8436 (led_status): New variable.
8437 (keyboard_controller_led): New function.
8438 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
8439 update led status for caps lock, num lock and scroll lock.
8440
0ad46fd7
FZ
84412009-12-25 Felix Zielcke <fzielcke@z-51.de>
8442
8443 * util/hostdisk.c (open_device): Fix a comment.
8444
d0e158c2
RM
84452009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8446
8447 * util/grub-install.in (host_os): New variable.
8448 * util/i386/efi/grub-install.in (host_os): Likewise.
8449
401c0ad6
RM
84502009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8451
8452 * util/mkisofs/write.c (padblock_write): Abort when given an
8453 excedingly large embed image, instead of silently truncating it.
8454
d14d3370
RM
84552009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8456
8457 * include/multiboot.h: Indentation fixes.
8458
eeed10b4
RM
84592009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8460
8461 * include/multiboot.h (struct multiboot_aout_symbol_table)
8462 (struct multiboot_elf_section_header_table): New structure
8463 declarations (stolen from GRUB Legacy).
8464 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
8465 table information.
8466
8467 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
8468 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
8469 type aliases.
8470
681c70ab
RM
84712009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8472
8473 * include/multiboot.h: Make comments src2texi-friendly.
8474
e4d47d8d
RM
84752009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8476
8477 For consistency with [multiboot]/docs/boot.S.
8478
8479 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
8480 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
8481 (MULTIBOOT_MAGIC2): Rename from this ...
8482 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
8483
a0b70bda
RM
84842009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8485
8486 * include/multiboot.h: Remove `<grub/types.h>'.
8487 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
8488 types. Update all users.
8489
61ba42be 84902009-12-25 Carles Pina i Estany <carles@pina.cat>
8491
8492 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
8493 `couldn't' and `can not' by `cannot'.
8494 * commands/i386/pc/drivemap.c: Likewise.
8495 * disk/ata.c: Likewise.
8496 * disk/ieee1275/nand.c: Likewise.
8497 * fs/affs.c: Likewise.
8498 * fs/fat.c: Likewise.
8499 * fs/hfs.c: Likewise.
8500 * fs/hfsplus.c: Likewise.
8501 * fs/iso9660.c: Likewise.
8502 * fs/jfs.c: Likewise.
8503 * fs/minix.c: Likewise.
8504 * fs/reiserfs.c: Likewise.
8505 * fs/sfs.c: Likewise.
8506 * fs/udf.c: Likewise.
8507 * fs/ufs.c: Likewise.
8508 * fs/xfs.c: Likewise.
8509 * loader/powerpc/ieee1275/linux.c: Likewise.
8510 * loader/sparc64/ieee1275/linux.c: Likewise.
8511 * util/grub-probe.c: Likewise.
8512 * util/misc.c: Likewise.
8513
7fd0baee 85142009-12-24 Carles Pina i Estany <carles@pina.cat>
8515
8516 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
8517 grub_errno calls.
8518 * commands/acpi.c: Likewise.
8519 * commands/blocklist.c: Likewise.
8520 * commands/efi/loadbios.c: Likewise.
8521 * commands/i386/pc/drivemap.c: Likewise.
8522 * commands/loadenv.c: Likewise.
8523 * commands/memrw.c: Likewise.
8524 * commands/password.c: Likewise.
8525 * commands/videotest.c: Likewise.
8526 * disk/ata.c: Likewise.
8527 * disk/ata_pthru.c: Likewise.
8528 * disk/dmraid_nvidia.c: Likewise.
8529 * disk/ieee1275/nand.c: Likewise.
8530 * disk/ieee1275/ofdisk.c: Likewise.
8531 * disk/loopback.c: Likewise.
8532 * disk/lvm.c: Likewise.
8533 * disk/mdraid_linux.c: Likewise.
8534 * disk/raid.c: Likewise.
8535 * disk/raid6_recover.c: Likewise.
8536 * disk/scsi.c: Likewise.
8537 * efiemu/main.c: Likewise.
8538 * efiemu/mm.c: Likewise.
8539 * efiemu/pnvram.c: Likewise.
8540 * efiemu/symbols.c: Likewise.
8541 * font/font.c: Likewise.
8542 * fs/cpio.c: Likewise.
8543 * fs/hfsplus.c: Likewise.
8544 * fs/iso9660.c: Likewise.
8545 * fs/jfs.c: Likewise.
8546 * fs/minix.c: Likewise.
8547 * fs/ntfs.c: Likewise.
8548 * fs/ntfscomp.c: Likewise.
8549 * fs/reiserfs.c: Likewise.
8550 * fs/ufs.c: Likewise.
8551 * fs/xfs.c: Likewise.
8552 * gettext/gettext.c: Likewise.
8553 * include/grub/auth.h: Likewise.
8554 * kern/elf.c: Likewise.
8555 * kern/file.c: Likewise.
8556 * kern/ieee1275/init.c: Likewise.
8557 * kern/ieee1275/mmap.c: Likewise.
8558 * kern/ieee1275/openfw.c: Likewise.
8559 * kern/powerpc/dl.c: Likewise.
8560 * kern/sparc64/dl.c: Likewise.
8561 * lib/arg.c: Likewise.
8562 * loader/i386/bsd.c: Likewise.
8563 * loader/i386/bsdXX.c: Likewise.
8564 * loader/i386/efi/linux.c: Likewise.
8565 * loader/i386/efi/xnu.c: Likewise.
8566 * loader/i386/ieee1275/linux.c: Likewise.
8567 * loader/i386/linux.c: Likewise.
8568 * loader/i386/multiboot.c: Likewise.
8569 * loader/i386/pc/linux.c: Likewise.
8570 * loader/i386/pc/multiboot2.c: Likewise.
8571 * loader/i386/xnu.c: Likewise.
8572 * loader/ieee1275/multiboot2.c: Likewise.
8573 * loader/macho.c: Likewise.
8574 * loader/machoXX.c: Likewise.
8575 * loader/multiboot2.c: Likewise.
8576 * loader/multiboot_loader.c: Likewise.
8577 * loader/powerpc/ieee1275/linux.c: Likewise.
8578 * loader/sparc64/ieee1275/linux.c: Likewise.
8579 * loader/xnu.c: Likewise.
8580 * loader/xnu_resume.c: Likewise.
8581 * mmap/i386/pc/mmap.c: Likewise.
8582 * normal/menu_viewer.c: Likewise.
8583 * partmap/acorn.c: Likewise.
8584 * partmap/amiga.c: Likewise.
8585 * partmap/apple.c: Likewise.
8586 * script/lexer.c: Likewise.
8587 * term/gfxterm.c: Likewise.
8588 * term/i386/pc/serial.c: Likewise.
8589 * term/i386/pc/vga.c: Likewise.
8590 * term/ieee1275/ofconsole.c: Likewise.
8591 * term/terminfo.c: Likewise.
8592 * video/bitmap.c: Likewise.
8593 * video/efi_gop.c: Likewise.
8594 * video/efi_uga.c: Likewise.
8595 * video/fb/video_fb.c: Likewise.
8596 * video/i386/pc/vbe.c: Likewise.
8597 * video/readers/tga.c: Likewise.
8598 * video/video.c: Likewise.
8599
0ad46fd7 86002009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
8601
8602 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
8603 * commands/lspci.c: Likewise.
8604 * commands/probe.c: Likewise.
8605 * commands/xnu_uuid.c: Likewise.
8606 * conf/i386-coreboot.rmk: Likewise.
8607 * conf/i386-efi.rmk: Likewise.
8608 * conf/i386-ieee1275.rmk: Likewise.
8609 * conf/i386-pc.rmk: Likewise.
8610 * conf/powerpc-ieee1275.rmk: Likewise.
8611 * conf/sparc64-ieee1275.rmk: Likewise.
8612 * conf/x86_64-efi.rmk: Likewise.
8613 * fs/i386/pc/pxe.c: Likewise.
8614 * gettext/gettext.c: Likewise.
8615 * include/grub/efi/graphics_output.h: Likewise.
8616 * include/grub/i386/pc/memory.h: Likewise.
8617 * kern/env.c: Likewise.
8618 * kern/i386/qemu/startup.S: Likewise.
8619 * lib/i386/pc/biosnum.c: Likewise.
8620 * lib/i386/relocator.c: Likewise.
8621 * lib/i386/relocator_asm.S: Likewise.
8622 * lib/relocator.c: Likewise.
8623 * loader/i386/bsd.c: Likewise.
8624 * loader/i386/multiboot.c: Likewise.
8625 * loader/i386/pc/chainloader.c: Likewise.
8626 * loader/i386/xnu.c: Likewise.
8627 * loader/xnu.c: Likewise.
8628 * normal/main.c: Likewise.
8629 * normal/menu_text.c: Likewise.
8630 * util/getroot.c: Likewise.
8631 * util/grub-mkconfig_lib.in: Likewise.
8632 * util/grub.d/00_header.in: Likewise.
8633 * util/i386/pc/grub-mkimage.c: Likewise.
8634 * util/mkisofs/eltorito.c: Likewise.
8635 * util/mkisofs/exclude.h: Likewise.
8636 * util/mkisofs/hash.c: Likewise.
8637 * util/mkisofs/iso9660.h: Likewise.
8638 * util/mkisofs/joliet.c: Likewise.
8639 * util/mkisofs/mkisofs.c: Likewise.
8640 * util/mkisofs/mkisofs.h: Likewise.
8641 * util/mkisofs/multi.c: Likewise.
8642 * util/mkisofs/name.c: Likewise.
8643 * util/mkisofs/rock.c: Likewise.
8644 * util/mkisofs/tree.c: Likewise.
8645 * util/mkisofs/write.c: Likewise.
8646 * video/efi_gop.c: Likewise.
8647
009ec743
VS
86482009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8649
8650 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
8651 size counting.
8652
0ad46fd7 86532009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
8654
8655 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
8656 * genmk.rb (class SCRIPT): Modify the target file instead of source.
8657
d3d30ea0
VS
86582009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8659
8660 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
8661 (GRUB_MOD_INIT(memrw)): Update help line.
8662
a34f5c70
VS
86632009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8664
8665 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
8666 Use grub_extcmd_t. All users updated.
8667 (options): New variable.
8668 (grub_cmd_read): Restructure for readability. Support "-v" option.
8669 (grub_cmd_write): Restructure for readability.
8670
0ad46fd7 86712009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
8672
8673 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
8674
0ad46fd7 86752009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
8676
8677 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
8678 with the actual contents of the correspondending make variable.
8679 * util/grub-mkrescue.in (pkglib_DATA): New variable.
8680 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
8681 specifying `*.lst' and `efiemu??.o'
8682
0ad46fd7 86832009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
8684
8685 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
8686 after function name.
8687 Noticed by Rene Engelhard <rene@debian.org>.
8688
dc77a799
VS
86892009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8690
8691 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
8692 (options): New variable.
8693 (iospace): Likewise.
8694 (grub_lspci_iter): List IO spaces if "-i" was given.
8695 (grub_cmd_lspci): Parse options.
8696 (GRUB_MOD_INIT(lspci)): Use extcmd.
8697 (GRUB_MOD_FINI(lspci)): Likewise.
8698
0ad46fd7 86992009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
8700
8701 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
8702 `function' keyword.
8703 Patch by Tony Mancill <tmancill@debian.org>.
8704
b5d5993b
VS
87052009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
8708 (grub_uhci_portstatus): Likewise.
8709 (grub_uhci_portstatus): Add necessary delay.
11d18281 8710 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 8711
941903f2 87122009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 8713
941903f2 8714 * commands/acpi.c (options): Fix capitalizations and/or full stops.
8715 (GRUB_MOD_INIT): Likewise.
8716 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 8717 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
8718 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 8719 * commands/efi/loadbios.c (enable_rom_area): Likewise.
8720 (enable_rom_area): Likewise.
8721 (GRUB_MOD_INIT): Likewise.
8722 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
8723 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
8724 * commands/handler.c (GRUB_MOD_INIT): Likewise.
8725 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
8726 * commands/hexdump.c (options): Likewise.
8727 * commands/i386/cpuid.c (options): Likewise.
8728 (GRUB_MOD_INIT): Likewise.
8729 * commands/i386/pc/drivemap.c (options): Likewise.
8730 (GRUB_MOD_INIT): Likewise.
8731 * commands/i386/pc/halt (options): Likewise.
8732 (GRUB_MOD_INIT): Likewise.
8733 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
8734 * commands/i386/pc/pxecmd.c (options): Likewise.
8735 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
8736 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
8737 * commands/keystatus.c (options): Likewise.
8738 (GRUB_MOD_INIT): Likewise.
8739 * commands/loadenv.c (options): Likewise.
8740 * commands/ls.c (options): Likewise.
8741 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
8742 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
8743 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
8744 * commands/parttool.c (helpmsg): Likewise.
8745 * commands/probe.c (options): Likewise.
8746 * commands/read.c (GRUB_MOD_INIT): Likewise.
8747 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
8748 * commands/search.c (options): Likewise.
8749 * commands/sleep.c (options): Likewise.
8750 * commands/test.c (GRUB_MOD_INIT): Likewise.
8751 * commands/true.c (GRUB_MOD_INIT): Likewise.
8752 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
8753 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
8754 * lib/arg.c (help_options): Likewise.
e9bbb4e7 8755 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
8756 `$(XGETTEXT)'.
98a50553 8757 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 8758
0ad46fd7 87592009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 8760
ef3c2c3a 8761 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
8762 instead of specifying them explicit.
8763
7922f68b
RM
87642009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8765
8766 * NEWS: Add grub-probe support for GNU/Hurd.
8767
537ce47f
RM
87682009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8769
8770 * NEWS: gettext was added after 1.97.
8771
9b214e3a
RM
87722009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8773
8774 * util/mkisofs/msdos_partition.h: New file (based on
8775 include/grub/msdos_partition.h).
8776 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
8777 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
8778 (ld_options, main): Recognize --protective-msdos-label.
8779 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
8780 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
8781 (padblock_write): If `use_protective_msdos_label' is set, patch a
8782 protective DOS-style label in the output image.
8783
8784 * util/grub-mkrescue.in: Use --protective-msdos-label.
8785
e9309813
RM
87862009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8787
8788 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
8789 boot.
8790
0ae56929
RM
87912009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8792
8793 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
8794 variables.
8795 (ld_options, main): Recognize `--embedded-boot'.
8796 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
8797 declarations.
8798 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
8799 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
8800 (padblock_write): Likewise. Rewrite to support embedded boot image.
8801
8802 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
8803 for BIOS-based disk boot instead of only ElTorito.
8804
b15937b1
RM
88052009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8806
8807 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
8808 build (not needed for bootstrap).
8809
52cc3ce0
RM
88102009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8811
8812 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
8813 from i386-pc build (not needed for bootstrap).
8814 Rewrite a pair of strings.
8815
36f5ff04
RM
88162009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8817
8818 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
8819
973c6c85 88202009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
8821
8822 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
8823
05d21547
AB
88242009-12-21 Andreas Born <futur.andy@googlemail.com>
8825
8826 * kern/env.c (grub_env_context_open): Mark exported variable for
8827 reexport.
8828
0175d51f
AB
88292009-12-21 Andreas Born <futur.andy@googlemail.com>
8830
8831 * kern/env.c (grub_env_export): Create nonexistent variables before
8832 exporting.
8833
7f39d92f 88342009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 8835
7f39d92f 8836 * include/grub/auth.h: Include `<grub/i18n.h>'.
8837 (GRUB_GET_PASSWORD): Gettextizze string.
8838 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
8839 menu_text.c.
8840 (grub_utf8_to_ucs4_alloc): Fix indentation.
8841 (grub_print_ucs4): Likewise.
8842 (grub_getstringwidth): Likewise.
8843 (print_message_indented): New declaration.
8844 * normal/auth.c: Include `<grub/i18n.h>'.
8845 (grub_auth_check_authentication): Gettexttize string.
8846 * normal/cmdline.c: Include `<grub/i18n.h>'.
8847 (grub_cmdline_get): Gettextizze.
8848 * normal/color.c: Include `<grub/i18n.h>'.
8849 (grub_parse_color_name_pair): Gettexttize strings.
8850 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
8851 string (use `print_message_indented').
8852 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
8853 `include/grub/normal.h'.
8854 (print_message_indented): Renamed to ...
8855 (grub_print_message_indented): ... this. Remove `static' qualifer (now
8856 used in normal/main.c).
8857 (print_message): Use `grub_print_message_indented' instead of
8858 `print_message_indented'.
8859 (print_timeout): Likewise.
8860 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
8861 (grub_normal_print_device_info): Gettexttize strings.
8862 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
8863
3041d898
VS
88642009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
8867 of arguments. Return number of tokens and not arguments. All users
8868 updated.
8869
de15bf8e
VS
88702009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
8873 non-MSDOS paritions.
8874
e0a6ca52
VS
88752009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
8876
8877 * include/grub/types.h (UNUSED): Removed since it conflicts with
8878 NetBSD headers. All users changed to direct __attribute__ ((unused)).
8879 Reported by Grégoire Sutre.
8880
b99518d1 88812009-12-19 Carles Pina i Estany <carles@pina.cat>
8882
8883 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
8884 (grub_print_ucs4_alloc): Likewise.
8885 (grub_getstringwidth): Likewise.
8886 * normal/main.c (grub_normal_init_page): Gettextize version string.
8887 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
8888 (getstringwidth): Renamed to ...
8889 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
8890 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
8891 (grub_print_ucs4): Remove `static' qualifer (now used in
8892 normal/main.c).
8893 * po/POTFILES: Add normal/main.c.
8894
bfd5e52b 88952009-12-19 Carles Pina i Estany <carles@pina.cat>
8896
8897 * normal/menu_text.c (STANDARD_MARGIN): New macro.
8898 (print_message_indented): Add `margin_left' and `margin_right'
8899 parameters.
8900 (print_message): Update `print_message_indented' calls. Adds '\n' to the
8901 strings.
8902 (print_timeout): Use `print_message_indented' to print the message.
8903 Deletes `second_stage' parameter.
8904 (run_menu): Update `print_timeout' calls.
8905
5a1ad2b9
VS
89062009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
8907
8908 Fix console palette on OpenFirmware.
8909
8910 * term/ieee1275/ofconsole.c (MAX): Removed.
8911 (colors): Redone based on VGA palette.
8912 (grub_ofconsole_setcolor): Discard brightness bit since only 8
8913 colors are supported.
8914 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
8915
b045f00a
VS
89162009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
8917
8918 Fix potential EfiEmu double prepare.
8919
8920 * efiemu/main.c (prepared): New variable
8921 (grub_efiemu_unload): Set prepare to '0'.
8922 (grub_efiemu_prepare): Return if already prepared. Set prepared.
8923
8924 set_virtual_address_map support.
8925
8926 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
8927 prototype.
8928 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
8929 prototype.
8930 (grub_efiemu_crc32): Likewise.
8931 (grub_efiemu_crc64): Likewise.
8932 (grub_efiemu_set_virtual_address_map): Likewise.
8933 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
8934 New definition.
8935 (grub_autoefi_set_virtual_address_map): Likewise.
8936 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
8937 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
8938 Restructure flow to accomodate it.
8939 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
8940 (grub_efiemu_crc): Recompute CRC32.
8941 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
8942 (efiemu_ptv_relocated): ... this. Made global. All users updated.
8943 * efiemu/symbols.c (relocated_handle): New variable.
8944 (grub_efiemu_free_syms): Free relocated_handle.
8945 (grub_efiemu_alloc_syms): Allocate relocated_handle.
8946 (grub_efiemu_write_sym_markers): New function.
8947 (grub_efiemu_set_virtual_address_map): Likewise.
8948
8949 Newer XNU parameters.
8950
8951 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
8952 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
8953 (grub_xnu_fill_devicetree): New prototype.
8954 (grub_xnu_heap_real_start): New variable.
8955 * loader/xnu.c (get_name_ptr): New function.
8956 (grub_xnu_load_driver): Fill namelen and name.
8957
8958 64-bit xnu support.
8959
8960 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
8961 and 'loader/macho64.c'.
8962 * conf/i386-pc.rmk: Likewise.
8963 * conf/x86_64-efi.rmk: Likewise.
8964 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
8965 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
8966 * include/grub/macho.h (grub_macho_segment64): New structure.
8967 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
8968 (grub_macho_size32): ... to this.
8969 (grub_macho32_get_entry_point): Renamed from ...
8970 (grub_macho_get_entry_point32): ... to this.
8971 (grub_macho_contains_macho64): New prototype.
8972 (grub_macho_size64): Likewise.
8973 (grub_macho_get_entry_point64): Likewise.
8974 (grub_macho32_load): Renamed from ...
8975 (grub_macho_load32): ... to this.
8976 (grub_macho32_filesize): Renamed from ...
8977 (grub_macho_filesize32): ... to this.
8978 (grub_macho32_readfile): Renamed from ...
8979 (grub_macho_readfile32): ... to this.
8980 (grub_macho_filesize64): New prototype.
8981 (grub_macho_readfile64): Likewise.
8982 (grub_macho_parse32): Likewise.
8983 (grub_macho_parse64): Likewise.
8984 * loader/macho.c: Split into ...
8985 * loader/machoXX.c: ... and this. Replace 32 with XX.
8986 * loader/macho32.c: New file.
8987 * loader/macho64.c: Likewise.
8988 * loader/xnu.c (grub_xnu_is_64bit): New variable.
8989 (grub_cmd_xnu_kernel): Make 32-bit only.
8990 (grub_cmd_xnu_kernel64): New function.
8991 (grub_xnu_load_driver): Support Mach-O 64.
8992 (grub_cmd_xnu_mkext): Likewise.
8993 * util/grub.d/30_os-prober.in (osx_entry): New function.
8994 Generate entries for 64-bit boot too.
8995
8996 Eliminate ad-hoc tree format in XNU and EfiEmu.
8997
8998 * efiemu/main.c (grub_efiemu_prepare): Update comment.
8999 * efiemu/pnvram.c: Rewritten to use environment variables.
9000 All users updated.
9001
9002 Inline utf16_to_utf8.
9003
9004 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
9005 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
9006 All users updated.
9007 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
9008
9009 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
9010 * commands/usbtest.c (grub_usb_get_string): ... move here.
9011 (usb_print_str): Fix error handling.
9012 * include/grub/usb.h (grub_usb_get_string): Remove.
9013
9014 UTF-8 to UTF-16 transformation.
9015
9016 * conf/common.rmk (pkglib_MODULES): Add charset.mod
9017 (charset_mod_SOURCES): New variable.
9018 (charset_mod_CFLAGS): Likewise.
9019 (charset_mod_LDFLAGS): Likewise.
9020 * include/grub/utf.h: New file.
9021 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
9022
9023 Support for device properties.
9024
9025 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
9026 (grub_xnu_devprop_device_header): Likewise.
9027 (grub_xnu_devprop_device_descriptor): Likewise.
9028 (grub_xnu_devprop_add_device): New prototype.
9029 (grub_xnu_devprop_remove_device): Likewise.
9030 (grub_xnu_devprop_remove_property): Likewise.
9031 (grub_xnu_devprop_add_property_utf8): Likewise.
9032 (grub_xnu_devprop_add_property_utf16): Likewise.
9033 (grub_cpu_xnu_init): Likewise.
9034 (grub_cpu_xnu_fini): Likewise.
9035 (grub_cpu_xnu_unload): Likewise.
9036 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
9037 (property_descriptor): Likewise.
9038 (devices): New variable.
9039 (grub_xnu_devprop_remove_property): New function.
9040 (grub_xnu_devprop_add_device): Likewise.
9041 (grub_xnu_devprop_remove_device): Likewise.
9042 (grub_xnu_devprop_add_property): Likewise.
9043 (grub_xnu_devprop_add_property_utf8): Likewise.
9044 (grub_xnu_devprop_add_property_utf16): Likewise.
9045 (hextoval): Likewise.
9046 (grub_cpu_xnu_fill_devprop): Likewise.
9047 (grub_cmd_devprop_load): Likewise.
9048 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
9049 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
9050 (cmd_devprop_load): New variable.
9051 (grub_cpu_xnu_init): New function.
9052 (grub_cpu_xnu_fini): Likewise.
9053 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
9054 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
9055 (grub_cmd_xnu_devtree): Likewise.
9056 (hextoval): New function.
9057 (unescape): Likewise.
9058 (grub_xnu_fill_devicetree): Likewise.
9059
9060 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
9061 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
9062
0945f181
VS
90632009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9064
9065 Workaround for broken ATI VBE.
9066
9067 * video/i386/pc/vbe.c (last_set_mode): New variable.
9068 (grub_vbe_set_video_mode): Set 'last_set_mode'.
9069 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
9070 (grub_video_vbe_setup): Don't check for reserved flag.
9071
0ad46fd7 90722009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
9073
9074 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
9075 the `find' command.
9076
c179ebe4
VS
90772009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
9078
9079 UUID support for HFS.
9080
9081 * fs/hfs.c (grub_hfs_uuid): New function.
9082 (grub_hfs_fs): New value .uuid.
9083 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
9084
0ad46fd7 90852009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
9086
9087 Fix a segfault with parsing unknown long options.
9088
9089 * util/grub-mkrelpath.c (options): Zero terminate it.
9090
c4a3e41a
CPE
90912009-12-13 Carles Pina i Estany <carles@pina.cat>
9092
9093 * include/grub/misc.h (grub_puts): New declaration.
9094 (grub_puts_): Likewise.
a22008a6 9095 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
9096 (grub_puts_): Likewise.
9097
2e8a7602
RM
90982009-12-13 Robert Millan <rmh.grub@aybabtu.com>
9099
9100 * util/grub-probe.c (probe): Improve error message.
9101
b50b77b9
RM
91022009-12-13 Robert Millan <rmh.grub@aybabtu.com>
9103
9104 * loader/i386/multiboot_elfxx.c
9105 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
9106 initialization.
9107
91082009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 Relocator framework
9111
9112 * loader/i386/xnu_helper.S: Removed. All users updated.
9113 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
9114 (relocator_mod_SOURCES): New variable.
9115 (relocator_mod_CFLAGS): Likewise.
9116 (relocator_mod_LDFLAGS): Likewise.
9117 (relocator_mod_ASFLAGS): Likewise.
9118 * conf/x86_64.rmk: Likewise.
9119 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
9120 (grub_multiboot_payload_entry_offset): Likewise.
9121 (grub_multiboot_forward_relocator): Likewise.
9122 (grub_multiboot_forward_relocator_end): Likewise.
9123 (grub_multiboot_backward_relocator): Likewise.
9124 (grub_multiboot_backward_relocator_end): Likewise.
9125 (grub_multiboot_payload_eip): New variable.
9126 (grub_multiboot_payload_orig): Likewise.
9127 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
9128 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
9129 * include/grub/i386/memory.h
9130 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
9131 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
9132 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
9133 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
9134 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
9135 * include/grub/i386/relocator.h: New file.
9136 * include/grub/x86_64/relocator.h: Likewise.
9137 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
9138 (XNU_RELOCATOR): New macro.
9139 (grub_xnu_launcher_start): Remove.
9140 (grub_xnu_launcher_end): Likewise.
9141 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
9142 (grub_xnu_heap_real_start): Remove.
9143 (grub_xnu_heap_start): Change to void *. All users updated.
9144 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
9145 * lib/i386/relocator.c: New file.
9146 * lib/i386/relocator_asm.S: Likewise.
9147 * lib/i386/relocator_backward.S: Likewise.
9148 * lib/mips/relocator.c: Likewise.
9149 * lib/mips/relocator_asm.S: Likewise.
9150 * lib/relocator.c: Likewise.
9151 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
9152 (entry): Removed.
9153 (playground): Likewise.
9154 (grub_multiboot_payload_orig): New variable.
9155 (grub_multiboot_payload_dest): Likewise.
9156 (grub_multiboot_payload_size): Likewise.
9157 (grub_multiboot_payload_eip): Likewise.
9158 (grub_multiboot_payload_esp): Likewise.
9159 (grub_multiboot_boot): Use grub_relocator32_boot.
9160 (grub_multiboot_unload): Free relocators.
9161 (grub_multiboot): Setup stack. Use relocators.
9162 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
9163 (grub_multiboot_load_elfXX): Use relocators.
9164 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
9165 (grub_multiboot_payload_size): Likewise.
9166 (grub_multiboot_payload_dest): Likewise.
9167 (grub_multiboot_payload_entry_offset): Likewise.
9168 (grub_multiboot_forward_relocator): Likewise.
9169 (grub_multiboot_backward_relocator): Likewise.
9170 (grub_multiboot_real_boot): Likewise.
9171 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
9172 (grub_xnu_entry_point): Likewise.
9173 (grub_xnu_arg1): Likewise.
9174 (grub_xnu_stack): Likewise.
9175 (grub_xnu_launch): Removed.
9176 (grub_xnu_boot_resume): New function.
9177 (grub_xnu_boot): Use relocators.
9178 * loader/i386/xnu_helper.S: Removed.
9179 * loader/xnu.c (grub_xnu_heap_start): New variable.
9180 (grub_xnu_heap_size): Likewise.
9181 (grub_xnu_heap_malloc): Use relocators.
9182 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
9183
29eb90c6
VS
91842009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9185
9186 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
9187 anything.
9188
31027430
CPE
91892009-12-13 Carles Pina i Estany <carles@pina.cat>
9190
9191 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
9192 GRUB_ERR_NONE before calling grub_env_set.
9193
dc0c71d9
RM
91942009-12-12 Robert Millan <rmh@aybabtu.com>
9195
9196 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
9197 * genmk.rb (video): New variable.
9198 (CLEANFILES, VIDEOFILES): Add #{video}.
9199 (#{video}): New target rule.
9200 * genvideolist.sh: New file.
9201 * Makefile.in (pkglib_DATA): Add video.lst.
9202 (video.lst): New target rule.
9203 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
9204 `video.lst'.
9205 * util/grub.d/30_os-prober.in: Replace `vbe' with
9206 ${GRUB_VIDEO_BACKEND}.
9207
2a4bfcf0
RM
92082009-12-11 Robert Millan <rmh.grub@aybabtu.com>
9209
9210 * THANKS: Add David Miller.
9211
2a3aa4d5
RM
92122009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
9213
9214 libpciaccess support.
9215
9216 * Makefile.in (LIBPCIACCESS): New variable.
9217 (enable_grub_emu_pci): Likewise.
9218 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
9219 util/pci.c and commands/lspci.c.
9220 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
9221 * configure.ac (grub-emu-pci): New option.
9222 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
9223 (grub_pci_device_unmap_range): Likewise.
9224 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
9225 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
9226 (grub_pci_address_t) [!GRUB_UTIL]: New type.
9227 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
9228 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
9229 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
9230 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
9231 * include/grub/pciutils.h: New file.
9232 * util/pci.c: Likewise.
9233
0ad46fd7 92342009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
9235
9236 * util/misc.c: Don't include <errno.h> twice.
9237
0ad46fd7 92382009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
9239
9240 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
9241 name in an error message.
9242 (grub_biosdisk_rw): Likewise.
9243
2e59983c
VS
92442009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
9245
9246 Eliminate NTFS 4Gib barrier.
9247
9248 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
9249 (read_run_data): Likewise.
9250 (grub_ntfs_read_run_list): Likewise.
9251 (grub_ntfs_read_block): Likewise.
9252 (grub_ntfs_iterate_dir): Likewise.
9253 (read_mft): Likewise.
9254 (read_data): Likewise.
9255 Use COM_LOG_LEN.
9256 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
9257 to avoid 64-bit division
9258 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
9259 (grub_ntfs_rlst): Use grub_disk_addr_t.
9260
71ee178a
VS
92612009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
9262
9263 Eliminate grub-fstest 4Gib barrier.
9264
9265 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
9266 (read_file): Fix error reporting.
9267
2520d4b8
VS
92682009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
9269
9270 Eliminate hexdump 4Gib barrier.
9271
9272 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
9273 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
9274
e1f27065
VS
92752009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
9276
9277 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
9278 Fixes amarsh bug.
9279
1a0f7f45
RM
92802009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
9281
9282 Remove miscellaneous files in distclean target.
9283
9284 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
9285
c631d9fb
CW
92862009-12-09 Colin Watson <cjwatson@ubuntu.com>
9287
9288 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
9289 if they're already set. This resolves the conflict between my
9290 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
9291 fixing the --grub-probe option again.
9292 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
9293 change on 2009-10-06, so that we now once again source
9294 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
9295
7c7b6106
RM
92962009-12-08 Robert Millan <rmh.grub@aybabtu.com>
9297
9298 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
9299 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
9300 `util/devicemap.c'.
9301
e3069ec1
CPE
93022009-12-08 Carles Pina i Estany <carles@pina.cat>
9303
9304 * include/grub/misc.h (grub_printf_): New declaration.
9305 * kern/misc.c (grub_printf_): New definition.
9306 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
9307 instead of `grub_printf' and `_'.
9308 * normal/menu_entry.c (store_completion): Likewise.
9309 (run): Likewise.
9310 (grub_menu_entry_run): Likewise.
9311 * normal/menu_text.c (grub_wait_after_message): Likewise.
9312 (notify_booting): Likewise.
9313 (notify_fallback): Likewise.
9314 (notify_execution_failure): Likewise.
9315
d6ceebf1
CW
93162009-12-07 Colin Watson <cjwatson@ubuntu.com>
9317
9318 * configure.ac: Check for vasprintf.
9319 * util/misc.c (asprintf): Move allocation from here ...
9320 (vasprintf): ... to here. New function.
9321 (xasprintf): New function.
9322 * include/grub/util/misc.h (vasprintf, xasprintf): Add
9323 prototypes.
9324 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
9325 * util/grub-mkfont.c (write_font): Likewise.
9326 * util/grub-probe.c (probe): Likewise.
9327 * util/hostdisk.c (make_device_name): Likewise.
9328
de6daa8b
DM
93292009-12-06 David S. Miller <davem@sunset.davemloft.net>
9330
9331 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
9332 anything even prefixed with 'cdrom' as a cdrom.
9333
0ad46fd7 93342009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
9335
9336 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
9337 mount points.
9338
98d3dc02
CPE
93392009-12-05 Carles Pina i Estany <carles@pina.cat>
9340
9341 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
9342 grub_gettext_msg_list.
9343 (grub_gettext_gettranslation_from_position): Return const char *
9344 and not char *.
a2c1332b 9345 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
9346 returns from the list if existing there.
9347 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
9348 (grub_gettext_delete_list): Delete the list.
9349 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
9350 lang environment variable is changed.
9351 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
9352
b283f108
VS
93532009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
9354
9355 Rename kernel.mod to kernel.img.
9356
9357 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
9358 (kernel_mod_EXPORTS): Rename to ...
9359 (kernel_img_EXPORTS): ... this.
9360 (kernel_mod_SOURCES): Rename to ...
9361 (kernel_img_SOURCES): ... this.
9362 (kernel_mod_HEADERS): Rename to ...
9363 (kernel_img_HEADERS): ... this. All users updated.
9364 (kernel_mod_CFLAGS): Rename to ...
9365 (kernel_img_CFLAGS): ... this.
9366 (kernel_mod_ASFLAGS): Rename to ...
9367 (kernel_img_ASFLAGS): ... this.
9368 (kernel_mod_LDFLAGS): Rename to ...
9369 (kernel_img_LDFLAGS): ... this.
9370 * conf/x86_64-efi.rmk: Likewise.
9371 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
9372 (read_kernel_image): ... this. All users updated.
9373 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
9374
69055f8a
CPE
93752009-12-05 Carles Pina i Estany <carles@pina.cat>
9376
9377 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
9378 (print_spaces): New function.
9379 (grub_print_ucs4): New function.
9380 (getstringwidth): New function.
9381 (print_message_indented): New function.
9382 (print_message): Gettexttize strings using print_message_indented.
9383 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
9384 width.
9385 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 9386 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
9387 Gettextize.
9388 * normal/menu_entry.c (store_completion): Cleanup the gettextized
9389 string.
9390 (run): Likewise.
9391 (grub_menu_entry_run): Likewise.
9392 * PO/POTFILES: Add normal/menu_entry.c.
9393
f616f51c
VS
93942009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
9395
9396 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
9397
57bbe3be
CPE
93982009-12-05 Carles Pina i Estany <carles@pina.cat>
9399
9400 * util/grub-install.in: Install gettext .mo files.
9401 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
9402
013d67a1
CPE
94032009-12-05 Carles Pina i Estany <carles@pina.cat>
9404
9405 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
9406 grub_dprintf.
9407
fb954db0
RM
94082009-12-05 Robert Millan <rmh.grub@aybabtu.com>
9409
9410 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
9411 non-firmware-dependant one in realmode.S takes precedence.
9412
6b8474f8
RM
94132009-12-04 Robert Millan <rmh.grub@aybabtu.com>
9414
9415 * commands/halt.c: Replace misc arch-specific headers with
9416 `<grub/misc.h>'.
9417 * commands/reboot.c: Likewise.
9418 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
9419 `<grub/misc.h>'.
9420 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
9421 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
9422 (kernel_img_SOURCES): ... to here.
9423
9424 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
9425 * include/grub/i386/pc/init.h: Likewise.
9426 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
9427 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
9428
9429 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
9430
9431 * include/grub/i386/halt.h: Remove.
9432 * include/grub/i386/reboot.h: Likewise.
9433
9434 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
9435
4b2e6ca2
DM
94362009-12-03 David S. Miller <davem@sunset.davemloft.net>
9437
9438 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
9439 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
9440 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
9441 "progname.h"
9442 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
9443 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9444 (usage): Add missing comma in printf.
9445
5239348f
RM
94462009-12-02 Robert Millan <rmh.grub@aybabtu.com>
9447
9448 Use the same reboot approach on i386 coreboot and qemu as we do on
9449 BIOS.
9450
9451 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
9452 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
9453 * kern/i386/reboot.c: Remove.
9454 * include/grub/i386/reboot.h (grub_reboot): Export function.
9455 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
9456 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
9457 0xf000:0xfff0 instead of 0xffff:0x0000.
9458 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
9459 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
9460
ef34cbd4
RM
94612009-11-30 Robert Millan <rmh.grub@aybabtu.com>
9462
9463 Fix $srcdir != $objdir build.
9464
9465 * Makefile.in (po/%.po): Rewrite as ...
9466 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
9467
dc9837ea
ST
94682009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
9469
9470 Fix GNU/Hurd grub-install crash.
9471 * util/grub-probe.c (probe): Try to access `path' only when it is not
9472 NULL.
9473
2f857f98
VS
94742009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
9475
9476 Correct module naming.
9477
9478 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
9479 (GRUB_MOD_INIT(efi_uga)): ... to this
9480 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
9481 (GRUB_MOD_FINI(efi_uga)): ... to this
9482 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
9483 (GRUB_MOD_INIT(efi_gop)): ... to this
9484 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
9485 (GRUB_MOD_FINI(efi_gop)): ... to this
9486
c5448046
RM
94872009-11-28 Robert Millan <rmh.grub@aybabtu.com>
9488
9489 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
9490 translatable.
9491 (usage): Translate `arg' strings using gettext().
9492 Thanks to Jordi Mallach for the suggestion.
9493
c85184ad
VS
94942009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
9495
9496 GOP support. Based on patch from Bean
9497 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
9498
9499 * video/efi_gop.c: New file.
9500 * include/grub/efi/graphics_output.h: Likewise.
9501 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
9502 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
9503 variables.
9504 * conf/x86_64-efi.rmk: Likewise.
9505
8a4c48d8
VS
95062009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
9507
9508 Rename efi_fb to efi_uga.
9509
9510 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
9511 'efi_uga.mod'.
9512 (efi_fb_mod_SOURCES): Rename this ...
9513 (efi_uga_mod_SOURCES): ... to this.
9514 (efi_fb_mod_CFLAGS): Rename this ...
9515 (efi_uga_mod_CFLAGS): ... to this.
9516 (efi_fb_mod_LDFLAGS): Rename this ...
9517 (efi_uga_mod_LDFLAGS): ... to this.
9518 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
9519 'efi_uga.mod'.
9520 (efi_fb_mod_SOURCES): Rename this ...
9521 (efi_uga_mod_SOURCES): ... to this.
9522 (efi_fb_mod_CFLAGS): Rename this ...
9523 (efi_uga_mod_CFLAGS): ... to this.
9524 (efi_fb_mod_LDFLAGS): Rename this ...
9525 (efi_uga_mod_LDFLAGS): ... to this.
9526 * video/efi_fb.c: Move this ...
9527 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
9528
fb6c1a7b
RM
95292009-11-27 Robert Millan <rmh.grub@aybabtu.com>
9530
9531 * po/README: New file. Explain our PO file workflow.
9532
3bc7896c
RM
95332009-11-27 Robert Millan <rmh.grub@aybabtu.com>
9534
9535 * po/ChangeLog: Remove. Move relevant entries back to ...
9536 * ChangeLog: ... here.
9537 * po/ca.po: Remove (now handled by TLP).
9538 * po/id.po: Likewise.
9539 * po/zh_CN.po: Likewise.
9540 * Makefile.in (LINGUAS): Initialize in a way that supports
9541 empty set.
9542
9ed4841d
RM
95432009-11-27 Robert Millan <rmh.grub@aybabtu.com>
9544
9545 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
9546 reliing on po/LINGUAS.
9547 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
9548 (po/%.po): ... this.
9549
0ad46fd7 95502009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
9551
9552 * util/i386/efi/grub-mkimage.c: Include "progname.h".
9553 (main): Use `program_name' instead of nonexistent `progname'.
9554
e30dd392
FZ
95552009-11-26 Felix Zielcke <fzielcke@z-51.de>
9556
9557 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
9558 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
9559
7656de4f
RM
95602009-11-26 Robert Millan <rmh.grub@aybabtu.com>
9561
9562 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
9563 commit.
9564 * conf/i386-efi.rmk: Likewise.
9565 * conf/i386-ieee1275.rmk: Likewise.
9566 * conf/powerpc-ieee1275.rmk: Likewise.
9567 * conf/sparc64-ieee1275.rmk: Likewise.
9568 * conf/x86_64-efi.rmk: Likewise.
9569
db77c4d4
FZ
95702009-11-26 Felix Zielcke <fzielcke@z-51.de>
9571
9572 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
9573
a755bb04
FZ
95742009-11-26 Felix Zielcke <fzielcke@z-51.de>
9575
9576 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
9577
8a4c07fd
RM
95782009-11-26 Robert Millan <rmh.grub@aybabtu.com>
9579
9580 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
9581 (grub_mkdevicemap_SOURCES): New variable.
9582 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
9583 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
9584 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
9585 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
9586 (grub_mkdevicemap_SOURCES): Remove.
9587 * conf/i386-efi.rmk: Likewise.
9588 * conf/i386-ieee1275.rmk: Likewise.
9589 * conf/i386-pc.rmk: Likewise.
9590 * conf/powerpc-ieee1275.rmk: Likewise.
9591 * conf/sparc64-ieee1275.rmk: Likewise.
9592 * conf/x86_64-efi.rmk: Likewise.
9593 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
9594 (usage): Fix strings to use `program_name'.
9595 (main): Initialize gettext.
9596 * util/grub-editenv.c: Likewise.
9597 * util/grub-emu.c: Likewise.
9598 * util/grub-fstest.c: Likewise.
9599 * util/grub-mkdevicemap.c: Likewise.
9600 * util/grub-mkfont.c: Likewise.
9601 * util/grub-mkrelpath.c: Likewise.
9602 * util/grub-pe2elf.c: Likewise.
9603 * util/grub-probe.c: Likewise.
9604 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
9605 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
9606 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9607
9608 * util/misc.c: Include `"progname.h"'.
9609 (progname): Remove variable.
9610 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
9611
6f61ed55
FZ
96122009-11-25 Felix Zielcke <fzielcke@z-51.de>
9613
9614 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
9615 printf and print a newline after the menuentry header line.
9616 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
9617
f022876b
FZ
96182009-11-25 Felix Zielcke <fzielcke@z-51.de>
9619
9620 autoconf >= 2.60 support $(localedir).
9621
9622 * INSTALL: Note that autoconf 2.60 is required.
9623 * configure.ac (AC_PREREQ): Bump to 2.60.
9624 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
9625 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
9626
6717926e
YB
96272009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
9628
9629 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
9630 aclocal is run.
9631
08806a54
RM
96322009-11-25 Robert Millan <rmh.grub@aybabtu.com>
9633
9634 * normal/main.c (grub_normal_read_line): Fix off-by-one
9635 buffer overflow.
9636
13b33fba
RM
96372009-11-25 Robert Millan <rmh.grub@aybabtu.com>
9638
9639 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
9640 "parser.grub" in grub_command_execute() call.
9641
4a8572e9
CPE
96422009-11-24 Carles Pina i Estany <carles@pina.cat>
9643
9644 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
9645 * conf/i386-efi.rmk: Likewise.
9646 * conf/i386-ieee1275.rmk: Likewise.
9647 * conf/i386-pc.rmk: Likewise.
9648 * conf/powerpc-ieee1275.rmk: Likewise.
9649 * conf/sparc64-ieee1275.rmk: Likewise.
9650 * conf/x86_64-efi.rmk: Likewise.
9651 * gettext/gettex.c: Include <grub/i18n.h>.
9652 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
9653 here ...
9654 * include/grub/i18n.h: ... to here
9655 * include/grub/i18n.h: ... to here.
9656 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 9657 (grub_gettext_dummy): Move above user.
4a8572e9 9658
bee48093
FZ
96592009-11-24 Felix Zielcke <fzielcke@z-51.de>
9660
9661 * util/Makefile.in (install-local): Convert a `for' into a normal
9662 shell expansion.
9663
a031e91c
RM
96642009-11-24 Robert Millan <rmh.grub@aybabtu.com>
9665
9666 * autogen.sh: Add automake call.
9667 * config.guess: Remove.
9668 * config.sub: Likewise.
9669 * install-sh: Likewise.
9670
26bec39d
FZ
96712009-11-24 Felix Zielcke <fzielcke@z-51.de>
9672
9673 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
9674
8e2532fd
FZ
96752009-11-24 Felix Zielcke <fzielcke@z-51.de>
9676
9677 * util/Makefile.in (install-local): Convert a make `$(foreach)'
9678 function to a normal shell `for'.
9679
fefa1b7d
FZ
96802009-11-24 Felix Zielcke <fzielcke@z-51.de>
9681
9682 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
9683
4501250b
FZ
96842009-11-24 Felix Zielcke <fzielcke@z-51.de>
9685
9686 * util/grub-mkrelpath.c: New file.
9687 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
9688 (grub_mkrelpath_SOURCES): New variable.
9689 * include/grub/util/misc.h: New function prototype.
9690 * util/misc.c (make_system_path_relative_to_its_root): New function.
9691
9692 * util/grub-mkconfig_lib.in (bindir): New variable.
9693 (grub_mkrelpath): Likewise.
9694 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
9695
9696 * util/probe.c (probe): Make the file path relative to its root.
9697 Change a info message to use the GRUB path. Enable again the
9698 check if we can read the file with GRUB facilities.
9699
9700 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
9701 to its root.
9702
11d9778b
FZ
97032009-11-24 Felix Zielcke <fzielcke@z-51.de>
9704
9705 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
9706 platform.
9707
4465287d
FZ
97082009-11-24 Felix Zielcke <fzielcke@z-51.de>
9709
9710 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
9711 strncmp().
9712
62b47f22
FZ
97132009-11-24 Felix Zielcke <fzielcke@z-51.de>
9714
9715 * util/getroot.c (grub_util_is_dmraid): New function.
9716 (grub_util_get_dev_abstraction): Treat dmraid and multipath
9717 devices as normal ones, not as LVM.
9718
1eafb9b9 97192009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
9720
9721 * conf/common.rmk: Add grub-gettext_lib target and updates
9722 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
9723 LDFLAGS.
9724 * gettext/gettext.c: New file. (Reads mo files).
9725 * include/grub/file.h (grub_file_pread): New prototype.
9726 * include/grub/i18n.h (_): New prototype.
9727 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
9728 prototypes.
9729 * kern/misc.c (grub_gettext_dummy): New function.
9730 * normal/menu_text.c: Include <grub/i18n.h>.
9731 * normal/menu_text.c (print_timeout): Gettexttize string.
9732 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
9733 * po/POTFILES: Add `normal/menu_text.c'.
9734 * po/ca.po: Add new translations.
c3ea6bd4
CPE
9735 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
9736 gettext module and defines locale_dir and lang in grub.cfg.
9737 * NEWS: Add gettext support.
9738
0fdb2568
RM
97392009-11-23 Robert Millan <rmh.grub@aybabtu.com>
9740
9741 * util/hostdisk.c: Include `<grub/i18n.h>'.
9742 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
9743 (make_device_name): Rewrite using asprintf.
9744 (convert_system_partition_to_system_disk): Replace 0 with NULL.
9745 (find_system_device): If a device is not found, generate one just
9746 by reusing the OS path name.
9747 (read_device_map): Make it permissible for device.map not to exist.
9748
f515aa62
RM
97492009-11-23 Robert Millan <rmh.grub@aybabtu.com>
9750
9751 * script/sh/execute.c: Move from here ...
9752 * script/execute.c: ... to here. Update all users.
9753 * script/sh/function.c: Move from here ...
9754 * script/function.c: ... to here. Update all users.
9755 * script/sh/lexer.c: Move from here ...
9756 * script/lexer.c: ... to here. Update all users.
9757 * script/sh/main.c: Move from here ...
9758 * script/main.c: ... to here. Update all users.
9759 * script/sh/parser.y: Move from here ...
9760 * script/parser.y: ... to here. Update all users.
9761 * script/sh/script.c: Move from here ...
9762 * script/script.c: ... to here. Update all users.
9763
f84b481b
RM
97642009-11-23 Robert Millan <rmh.grub@aybabtu.com>
9765
9766 * configure.ac: Detect all `emu' platforms. Define
9767 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
9768 --enable-grub-emu logic. Disable include/grub/machine
9769 symlink on `emu' platforms.
9770
9771 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
9772 * gensymlist.sh.in: Likewise.
9773
9774 * include/grub/i386/coreboot/machine.h: Remove file.
9775 * include/grub/i386/efi/machine.h: Likewise.
9776 * include/grub/i386/ieee1275/machine.h: Likewise.
9777 * include/grub/i386/pc/machine.h: Likewise.
9778 * include/grub/i386/qemu/machine.h: Likewise.
9779 * include/grub/powerpc/ieee1275/machine.h: Likewise.
9780 * include/grub/sparc64/ieee1275/machine.h: Likewise.
9781 * include/grub/x86_64/efi/machine.h: Likewise.
9782
9783 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
9784 * commands/halt.c: Likewise.
9785 * commands/reboot.c: Likewise.
9786 * include/grub/autoefi.h: Likewise.
9787 * include/grub/i386/at_keyboard.h: Likewise.
9788 * include/grub/i386/kernel.h: Likewise.
9789 * include/grub/i386/loader.h: Likewise.
9790 * include/grub/i386/pc/memory.h: Likewise.
9791 * kern/dl.c: Likewise.
9792 * kern/i386/coreboot/init.c: Likewise.
9793 * loader/i386/bsd.c: Likewise.
9794 * loader/i386/linux.c: Likewise.
9795 * loader/multiboot_loader.c: Likewise.
9796 * term/i386/pc/serial.c: Likewise.
9797 * term/usb_keyboard.c: Likewise.
9798
9799 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
9800 `<grub/machine/machine.h>'
9801 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
9802 * util/misc.c: Remove `<grub/machine/machine.h>' and
9803 `<grub/machine/time.h>'.
9804
9805 * Makefile.in (enable_grub_emu): Remove variable.
9806 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
9807
9808 * conf/any-emu.rmk: New file.
9809 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
9810 (grub_emu_init.c): Move from here ...
9811 * conf/any-emu.rmk: ... to here.
9812
9813 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
9814 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
9815 * conf/any-emu.rmk: ... to here.
9816
4efeab03
RM
98172009-11-23 Robert Millan <rmh.grub@aybabtu.com>
9818
9819 * include/grub/parser.h (grub_parser_register): Document need
9820 of `name' parameter.
9821 * normal/main.c (grub_normal_read_line): Simplify prompt string.
9822 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
9823 "sh" to "grub".
9824
ea1dd8bf
RM
98252009-11-23 Robert Millan <rmh.grub@aybabtu.com>
9826
9827 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
9828 `$(XGETTEXT)'.
9829 * include/grub/i18n.h (N_): New macro.
9830 * util/mkisofs/mkisofs.h: Likewise.
9831 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
9832 around N_().
9833 (usage): Use gettext() to translate help strings when printing them.
9834
0c140626
RM
98352009-11-23 Robert Millan <rmh.grub@aybabtu.com>
9836
9837 Based on patch from Bean
9838 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
9839
9840 * video/efi_fb.c: New file.
9841 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
9842 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
9843 variables.
9844 * conf/x86_64-efi.rmk: Likewise.
9845
87d58298
RM
98462009-11-22 Robert Millan <rmh.grub@aybabtu.com>
9847
9848 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
9849 * util/i386/pc/grub-setup.c: Likewise.
9850
994cc3a3
ST
98512009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
9852
9853 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
9854 <hurd/fs.h>
9855 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
9856 file_get_storage_info to implement grub_guess_root_device.
9857
26a61d6a
FZ
98582009-11-21 Felix Zielcke <fzielcke@z-51.de>
9859
9860 * Makefile.in (target): Use make's builtin $(shell) function
9861 instead of calling directly $(SHELL) to create the locale directories,
9862 inside the $(foreach) function.
9863
74ff1dd5
FZ
98642009-11-21 Felix Zielcke <fzielcke@z-51.de>
9865
9866 * util/grub-mkrescue.in: Print an error and usage if output option
9867 has not been given.
9868
0b787d0e
FZ
98692009-11-21 Felix Zielcke <fzielcke@z-51.de>
9870
9871 Patch from Loïc Minier <loic.minier@ubuntu.com>.
9872 * util/grub.d/30_os-prober.in: Cope with Linux entries where
9873 root and /boot are on different devices.
9874
1164b270
RM
98752009-11-21 Robert Millan <rmh.grub@aybabtu.com>
9876
9877 Fix build for srcdir != objdir.
9878
9879 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
9880 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
9881 $(srcdir).
9882 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
9883 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
9884 reference for input.
9885
13774a2f
RM
98862009-11-21 Robert Millan <rmh.grub@aybabtu.com>
9887
9888 * util/grub-mkrescue.in: Use source directory direcly (without copiing
9889 or hardlinking it). Remove -J option, Joliet is not compatible with
9890 multiple source directories.
9891
efda854e
RM
98922009-11-21 Carles Pina i Estany <carles@pina.cat>
98932009-11-21 Robert Millan <rmh.grub@aybabtu.com>
9894
9895 * util/grub-mkrescue.in: Recognize `--override-directory' option.
9896 (process_input_dir): New function. Process an arbitrary input
9897 directory.
9898 Misc adjustments to support both "override mode" and system-wide mode.
9899
6c09890c
FZ
99002009-11-20 Felix Zielcke <fzielcke@z-51.de>
9901
9902 * configure.ac (UNIFONT_BDF): Rename to ...
9903 (FONT_SOURCE): ... this. Update all users.
9904
a797824f
FZ
99052009-11-20 Felix Zielcke <fzielcke@z-51.de>
9906
9907 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
9908 to the list of unifont files to look for.
9909
cd4f42b0
RM
99102009-11-19 Robert Millan <rmh.grub@aybabtu.com>
9911
9912 Patch from Joe Auricchio <jauricchio@gmail.com>
9913 * commands/minicmd.c (grub_mini_cmd_clear): New function.
9914 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
9915 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
9916
393c783d
FZ
99172009-11-19 Felix Zielcke <fzielcke@z-51.de>
9918
9919 * Makefile.in (install-local): Add a missing backslash.
9920
b2f1e327
FZ
99212009-11-19 Felix Zielcke <fzielcke@z-51.de>
9922
9923 * include/grub/x86_64/io.h: New file.
9924
f577f7a0
RM
99252009-11-19 Robert Millan <rmh.grub@aybabtu.com>
9926
9927 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
9928 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
9929 Include `"progname.h"'.
9930 (main): Initialize gettext.
9931 * util/i386/pc/grub-setup.c: Gettexttize.
9932 * util/i386/pc/grub-mkimage.c: Likewise.
9933
9934 * Makefile.in (po/*.po): Redefine as ...
9935 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
9936
3bc7896c
RM
9937 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
9938
c37943b6
RM
99392009-11-19 Robert Millan <rmh.grub@aybabtu.com>
9940
9941 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
9942 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
9943 (program_name): Remove.
9944 (main): Initialize gettext support.
6323f705
RM
9945 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
9946 Include `<libintl.h>'.
9947 (_): New macro.
c37943b6
RM
9948
9949 * util/mkisofs/eltorito.c: Gettexttize.
9950 * util/mkisofs/joliet.c: Likewise.
9951 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
9952 * util/mkisofs/multi.c: Likewise.
9953 * util/mkisofs/rock.c: Likewise.
9954 * util/mkisofs/tree.c: Likewise.
9955 * util/mkisofs/write.c: Likewise.
9956
3bc7896c
RM
9957 * po/POTFILES: Update with new files.
9958
5ce77c6e
RM
99592009-11-18 Robert Millan <rmh.grub@aybabtu.com>
9960
9961 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
9962 * util/mkisofs/iso9660.h: Likewise.
9963 * util/mkisofs/joliet.c: Likewise.
9964 * util/mkisofs/mkisofs.c: Likewise.
9965 * util/mkisofs/mkisofs.h: Likewise.
9966 * util/mkisofs/rock.c: Likewise.
9967 * util/mkisofs/tree.c: Likewise.
9968 * util/mkisofs/write.c: Likewise.
9969
9970 * util/mkisofs/eltorito.c (rcsid): Remove.
9971 * util/mkisofs/hash.c: Likewise.
9972 * util/mkisofs/joliet.c: Likewise.
9973 * util/mkisofs/name.c: Likewise.
9974 * util/mkisofs/rock.c: Likewise.
9975 * util/mkisofs/tree.c: Likewise.
9976 * util/mkisofs/write.c: Likewise.
9977
1dabbc77
RM
99782009-11-18 Robert Millan <rmh.grub@aybabtu.com>
9979
9980 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
9981 instead of static allocation.
9982 * util/mkisofs/match.h: Likewise.
9983
633877cb
RM
99842009-11-18 Robert Millan <rmh.grub@aybabtu.com>
9985
3bc7896c
RM
9986 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
9987 and `util/grub.d/10_linux.in'.
633877cb
RM
9988 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
9989 translatable Shell files.
9990
af1c0c85
RM
99912009-11-18 Robert Millan <rmh.grub@aybabtu.com>
9992
9993 * Makefile.in ($(srcdir)/aclocal.m4): New target.
9994
769ae37b
RM
99952009-11-17 Robert Millan <rmh.grub@aybabtu.com>
9996
9997 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 9998 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
9999 * util/grub.d/10_kfreebsd.in (bindir): New variable.
10000 Add gettext initialization.
10001 (kfreebsd_entry): Make menuentry output translatable.
10002
100032009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10004
10005 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
10006 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
10007 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
10008 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
10009 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 10010 * po/LINGUAS: New file.
769ae37b
RM
10011
100122009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10013
10014 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
10015 other things).
10016 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
10017 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
10018 bindtextdomain() calls for gettext initialization.
10019
100202009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10021
10022 * gnulib/progname.c: New file (imported from Gnulib).
10023 * gnulib/progname.h: Likewise.
10024 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
10025 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
10026 (usage): Replace `progname' with `program_name'.
10027 (main): Use set_program_name() for program name initialization.
10028
100292009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10030
10031 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
10032 from here ...
10033 * Makefile.in (CPPFLAGS): ... to here.
10034
100352009-11-16 Robert Millan <rmh.grub@aybabtu.com>
10036
10037 * aclocal.m4: Move from here ...
10038 * acinclude.m4: ... to here.
10039 * autogen.sh: Add call to `aclocal'.
10040 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
10041
100422009-11-16 Robert Millan <rmh.grub@aybabtu.com>
10043
10044 * Makefile.in (CLEANFILES): Add `po/*.mo'.
10045 (LINGUAS): New variable.
10046 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
10047 (install-local): Install MO files.
10048 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
10049 * include/grub/i18n.h: New file.
3bc7896c
RM
10050 * po/POTFILES: New file.
10051 * po/ca.po: New file.
769ae37b
RM
10052 * util/grub.d/10_linux.in (bindir): New variable.
10053 Add gettext initialization.
10054 (linux_entry): Make menuentry output translatable.
10055 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
10056 (usage): Make --help output translatable.
10057 (main): Initialize gettext.
10058
02c0a6ad
RM
100592009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10060
10061 * import_gcry.py: New file (written by Vladimir with minor
10062 adjustments).
10063 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
10064 ciphers.
10065 * INSTALL: Document that Python is required for bootstrap.
10066
100672009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10068
10069 Import ciphers from libgcrypt 1.4.4.
10070
10071 * lib/libgcrypt/cipher/ChangeLog
10072 * lib/libgcrypt/cipher/ac.c
10073 * lib/libgcrypt/cipher/arcfour.c
10074 * lib/libgcrypt/cipher/bithelp.h
10075 * lib/libgcrypt/cipher/blowfish.c
10076 * lib/libgcrypt/cipher/camellia-glue.c
10077 * lib/libgcrypt/cipher/camellia.c
10078 * lib/libgcrypt/cipher/camellia.h
10079 * lib/libgcrypt/cipher/cast5.c
10080 * lib/libgcrypt/cipher/cipher.c
10081 * lib/libgcrypt/cipher/crc.c
10082 * lib/libgcrypt/cipher/des.c
10083 * lib/libgcrypt/cipher/dsa.c
10084 * lib/libgcrypt/cipher/ecc.c
10085 * lib/libgcrypt/cipher/elgamal.c
10086 * lib/libgcrypt/cipher/hash-common.c
10087 * lib/libgcrypt/cipher/hash-common.h
10088 * lib/libgcrypt/cipher/hmac-tests.c
10089 * lib/libgcrypt/cipher/md.c
10090 * lib/libgcrypt/cipher/md4.c
10091 * lib/libgcrypt/cipher/md5.c
10092 * lib/libgcrypt/cipher/primegen.c
10093 * lib/libgcrypt/cipher/pubkey.c
10094 * lib/libgcrypt/cipher/rfc2268.c
10095 * lib/libgcrypt/cipher/rijndael-tables.h
10096 * lib/libgcrypt/cipher/rijndael.c
10097 * lib/libgcrypt/cipher/rmd.h
10098 * lib/libgcrypt/cipher/rmd160.c
10099 * lib/libgcrypt/cipher/rsa.c
10100 * lib/libgcrypt/cipher/seed.c
10101 * lib/libgcrypt/cipher/serpent.c
10102 * lib/libgcrypt/cipher/sha1.c
10103 * lib/libgcrypt/cipher/sha256.c
10104 * lib/libgcrypt/cipher/sha512.c
10105 * lib/libgcrypt/cipher/tiger.c
10106 * lib/libgcrypt/cipher/twofish.c
10107 * lib/libgcrypt/cipher/whirlpool.c
10108
af2f93ac
RM
101092009-11-16 Robert Millan <rmh.grub@aybabtu.com>
10110
10111 Fix build for systems without error().
10112
10113 * gnulib/error.c: New file (imported from Gnulib).
10114 * gnulib/error.h: Likewise.
10115 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
10116 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
10117 (this variable is now used by error()).
10118
73fb3dd5
FZ
101192009-11-16 Felix Zielcke <fzielcke@z-51.de>
10120
814f5e96
FZ
10121 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
10122 instead of relying that char is signed.
73fb3dd5 10123
a691ca33
VS
101242009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10125
10126 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
10127 blocksize different from specified.
10128 (grub_pxefs_read): Likewise.
10129
2af8f0f4
FZ
101302009-11-16 Felix Zielcke <fzielcke@z-51.de>
10131
10132 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
10133
10134 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
10135 (grub_ata_readwrite): Likewise. Update 2 format strings.
10136 (grub_atapi_read): Likewise.
10137
10138 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
10139 * conf/i386.rmk (pkglib_MODULES): ... to here ...
10140 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
10141 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
10142 (ata_mod_LDFLAGS): Move from here ...
10143 * conf/i386.rmk: ... to here ...
10144 * conf/x86_64-efi.rmk: ... and here.
10145 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
10146 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
10147
83bdecaf
RM
101482009-11-16 Robert Millan <rmh.grub@aybabtu.com>
10149
10150 Relicense multiboot.h, with RMS' blessing.
10151
10152 * include/multiboot.h: Change to X11 license.
10153
fd6fd3d7
RM
101542009-11-15 Robert Millan <rmh.grub@aybabtu.com>
10155
10156 Support --version in grub-mkisofs.
10157
10158 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
10159 (OPTION_VERSION): New macro.
10160 (ld_options): Recognize --version.
10161 (usage): Move `program_name' from here ...
10162 (program_name): ... to here. Add `static' qualifier.
10163 (main): Recognize `OPTION_VERSION'.
10164
16a88c49
FZ
101652009-11-15 Felix Zielcke <fzielcke@z-51.de>
10166
10167 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
10168 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
10169
a4158476
RM
101702009-11-14 Robert Millan <rmh.grub@aybabtu.com>
10171
10172 Fix help2man generation for mkisofs.
10173
10174 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
10175 (usage): Send output to stdout (rather than stderr).
10176
fc2208b0
RM
101772009-11-14 Robert Millan <rmh.grub@aybabtu.com>
10178
10179 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
10180 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
10181 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
10182 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
10183 (bin_SCRIPTS): Add `grub-mkfloppy'.
10184 (grub_mkfloppy_SOURCES): New variable.
10185
10186 * util/grub-mkrescue.in: New file.
10187 * util/i386/pc/grub-mkfloppy.in: New file.
10188
10189 * util/i386/coreboot/grub-mkrescue.in: Remove.
10190 * util/i386/pc/grub-mkrescue.in: Remove.
10191
8d0edf4a
RM
101922009-11-13 Robert Millan <rmh.grub@aybabtu.com>
10193
10194 * include/grub/multiboot.h (struct grub_multiboot_header): Move
10195 from here ...
10196 * include/multiboot.h (struct multiboot_header): ... to here. Update
10197 all users.
10198 * include/grub/multiboot.h (struct grub_multiboot_info): Move
10199 from here ...
10200 * include/multiboot.h (struct multiboot_info): ... to here. Update
10201 all users.
10202 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
10203 from here ...
10204 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
10205 Update all users.
10206 * include/grub/multiboot.h (struct grub_mod_list): Move
10207 from here ...
10208 * include/multiboot.h (struct multiboot_mod_list): ... to here.
10209 Update all users.
10210
a73f5969
RM
102112009-11-13 Robert Millan <rmh.grub@aybabtu.com>
10212
10213 * include/multiboot2.h (multiboot_word): Rename from this ...
10214 (multiboot2_word): ... to this. Update all users.
10215 (multiboot_header): Rename from this ...
10216 (multiboot2_header): ... to this. Update all users.
10217 (multiboot_tag_header): Rename from this ...
10218 (multiboot2_tag_header): ... to this. Update all users.
10219 (multiboot_tag_start): Rename from this ...
10220 (multiboot2_tag_start): ... to this. Update all users.
10221 (multiboot_tag_name): Rename from this ...
10222 (multiboot2_tag_name): ... to this. Update all users.
10223 (multiboot_tag_module): Rename from this ...
10224 (multiboot2_tag_module): ... to this. Update all users.
10225 (multiboot_tag_memory): Rename from this ...
10226 (multiboot2_tag_memory): ... to this. Update all users.
10227 (multiboot_tag_unused): Rename from this ...
10228 (multiboot2_tag_unused): ... to this. Update all users.
10229 (multiboot_tag_end): Rename from this ...
10230 (multiboot2_tag_end): ... to this. Update all users.
10231
1c8927f0
RM
102322009-11-13 Robert Millan <rmh.grub@aybabtu.com>
10233
10234 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
10235 this platform we should support Multiboot1 first.
10236
10237 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
10238 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
10239 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
10240
6e1e0d89
RM
102412009-11-12 Robert Millan <rmh.grub@aybabtu.com>
10242
10243 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
10244 of write calls (converting them to fwrite() if they aren't already).
10245 (get_torito_desc): Likewise.
10246 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
10247
7f2b34d8
RM
102482009-11-12 Robert Millan <rmh.grub@aybabtu.com>
10249
10250 * util/i386/pc/grub-install.in: Move from here ...
10251 * util/grub-install.in: ... to here. Update all users.
10252
c0ef3311
CW
102532009-11-11 Colin Watson <cjwatson@ubuntu.com>
10254
10255 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
10256
e1f240ff
RM
102572009-11-11 Robert Millan <rmh.grub@aybabtu.com>
10258
10259 Support for El Torito without floppy emulation.
10260
10261 * util/mkisofs/eltorito.c: Include `<errno.h>'.
10262 (init_boot_catalog): Improve error handling.
10263 (get_torito_desc): Don't use floppy emulation unless requested by
10264 user. Patch boot information table when requested via
10265 `-boot-info-table'.
10266 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
10267 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
10268 (use_boot_info_table): New variables.
10269 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
10270 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
10271 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
10272 `--eltorito-emul-floppy'.
10273 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
10274 and `OPTION_ELTORITO_EMUL_FLOPPY'.
10275 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
10276 (use_boot_info_table, get_731): New prototypes.
10277 * util/mkisofs/write.c (get_731): New function.
10278
af7d4de5
FZ
102792009-11-11 Felix Zielcke <fzielcke@z-51.de>
10280
10281 Fix the generation of the man page.
10282
10283 * util/pc/i386/grub-install.in: Source
10284 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
10285
2c55dbc0
RM
102862009-11-11 Robert Millan <rmh.grub@aybabtu.com>
10287
10288 Large file support for grub-mkisofs.
10289
10290 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
10291 * util/mkisofs/mkisofs.c (next_extent, last_extent)
10292 (session_start): Upgrade type to `uint64_t'. Update all users.
10293 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
10294 (struct directory_entry): Upgrade type of `starting_block' and
10295 `size' to `uint64_t'. Update all users.
10296 (struct deferred): Remove unused structure.
10297 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
10298 Update all users.
10299 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
10300 file is larger than `UINT32_MAX'.
10301 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
10302 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
10303 return value.
10304 (struct deferred_write): Upgrade type of `extent' and `size' to
10305 `uint64_t'. Update all users.
10306 (last_extent_written): Upgrade type to `uint64_t'. Update all
10307 users.
10308 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
10309 Update all users. Upgrade type of `remain' to `int64_t' and
10310 `use' to `size_t'. Use error() to handle fread() errors.
10311 (write_files): Rely on write_one_file() rather than calling
10312 xfwrite() directly.
10313
6a9cead5
FZ
103142009-11-09 Felix Zielcke <fzielcke@z-51.de>
10315
10316 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
10317
4825d790
RM
103182009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10319
10320 * util/mkisofs/fnmatch.c: Remove.
10321 * util/mkisofs/getopt1.c: Likewise.
10322 * util/mkisofs/getopt.c: Likewise.
10323 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
10324 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
10325 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
10326 `gnulib/getopt1.c' and `gnulib/getopt.c'.
10327 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
10328
10329 * configure.ac: Detect `mingw32msvc' host_os.
10330 Check for lstat(), getuid() and getgid().
10331
10332 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
10333 instances of `u_char' with `uint8_t'.
10334
10335 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
10336 [!HAVE_GETUID] (getuid): New function (stub).
10337 [!HAVE_GETGID] (getgid): Likewise.
10338 [!HAVE_LSTAT] (lstat): Likewise.
10339 [!S_IROTH] (S_IROTH): New macro (dummy).
10340 [!S_IRGRP] (S_IRGRP): Likewise.
10341
84b860d8
RM
103422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10343
10344 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
10345 conditional expression).
10346
66e9b712
RM
103472009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10348
10349 Import from Gnulib.
10350
10351 * gnulib/fnmatch.c: New file.
10352 * gnulib/fnmatch.h: Likewise.
10353 * gnulib/fnmatch_loop.c: Likewise.
10354 * gnulib/getopt.c: Likewise.
10355 * gnulib/getopt.h: Likewise.
10356 * gnulib/getopt1.c: Likewise.
10357 * gnulib/getopt_int.h: Likewise.
10358 * gnulib/gettext.h: Likewise.
10359
34f4a5b0
RM
103602009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10361
10362 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
10363 * normal/handler.c (read_handler_list): Likewise.
10364
ac451143
RM
103652009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10366
10367 Misc cleanup.
10368
10369 * kern/command.c (grub_register_command_prio): Use
10370 grub_zalloc() instead of explicitly zeroing data.
10371 * kern/list.c: Include `<grub/mm.h>'.
10372 (grub_named_list_find): Replace `0' with `NULL'.
10373 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
10374 (fs_module_list): Change type to `grub_named_list_t'. Update all
10375 users.
10376 * normal/dyncmd.c (read_command_list): Add space between function
10377 call and parenthesis.
10378 * normal/handler.c (read_handler_list): Likewise.
10379
4089b167
RM
103802009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10381
10382 * normal/auth.c (punishment_delay): Moved from here ...
10383 (grub_auth_strcmp): ... to here (inside function).
10384
325f5037
RM
103852009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10386
10387 * include/grub/list.h (struct grub_named_list): Remove `const'
10388 qualifier from `name'.
10389 (struct grub_prio_list): Likewise.
10390
7aea29a3
RM
103912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10392
10393 * normal/auth.c: Include `<grub/time.h>'.
10394 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
10395
3fd6f044
RM
103962009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10397
10398 * normal/auth.c (punishment_delay): New variable.
10399 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
10400 (grub_auth_check_authentication): Punish failed login attempts with
10401 an incremental (2^N) delay.
10402
a4cd68e4
RM
104032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10404
10405 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
10406 path with $(srcdir).
10407
7ad12f43
VS
104082009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10409
10410 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
10411
c1129f03
RM
104122009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10413
10414 * util/i386/coreboot/grub-mkrescue.in: New file.
10415 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
10416 variables.
10417
10418 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
10419 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
10420 * configure.ac: Add header and function checks to satisfy grub-mkisofs
10421 requirements.
10422 * util/mkisofs/defaults.h: New file.
10423 * util/mkisofs/eltorito.c: Likewise.
10424 * util/mkisofs/exclude.h: Likewise.
10425 * util/mkisofs/fnmatch.c: Likewise.
10426 * util/mkisofs/getopt.c: Likewise.
10427 * util/mkisofs/getopt1.c: Likewise.
10428 * util/mkisofs/hash.c: Likewise.
10429 * util/mkisofs/include/fctldefs.h: Likewise.
10430 * util/mkisofs/include/mconfig.h: Likewise.
10431 * util/mkisofs/include/prototyp.h: Likewise.
10432 * util/mkisofs/include/statdefs.h: Likewise.
10433 * util/mkisofs/iso9660.h: Likewise.
10434 * util/mkisofs/joliet.c: Likewise.
10435 * util/mkisofs/match.c: Likewise.
10436 * util/mkisofs/match.h: Likewise.
10437 * util/mkisofs/mkisofs.c: Likewise.
10438 * util/mkisofs/mkisofs.h: Likewise.
10439 * util/mkisofs/multi.c: Likewise.
10440 * util/mkisofs/name.c: Likewise.
10441 * util/mkisofs/rock.c: Likewise.
10442 * util/mkisofs/tree.c: Likewise.
10443 * util/mkisofs/write.c: Likewise.
10444
ec8bb77d
VS
104452009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10446
10447 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
10448 being insecure.
10449
3716b12c
RM
104502009-11-08 Robert Millan <rmh.grub@aybabtu.com>
10451
10452 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
10453 `grub-mkimage' (and use $0 when possible).
10454
b97b7b91
RM
104552009-11-08 Robert Millan <rmh.grub@aybabtu.com>
10456
10457 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
10458 error message for excessively large memory map.
10459
04114812
RM
104602009-11-08 Robert Millan <rmh.grub@aybabtu.com>
10461
10462 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
10463 executable bit.
10464
e4eb2373
RM
104652009-11-08 Robert Millan <rmh.grub@aybabtu.com>
10466
10467 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
10468 message for coreboot users.
10469
c926e1d5 104702009-11-07 Robert Millan <rmh.grub@aybabtu.com>
10471
10472 Fix build with GNU gold.
10473
10474 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
10475 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
10476 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
10477 link addresses.
10478 * aclocal.m4: Likewise.
10479
86e5b1db 104802009-11-04 Felix Zielcke <fzielcke@z-51.de>
10481
10482 * configure.ac (AC_PREREQ): Bump to 2.59d.
10483 * INSTALL: Make it more clear when Autoconf and Ruby are
10484 needed and when to run `./autogen.sh'.
10485
246cd78f 104862009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
10487
10488 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
10489 OSes.
10490
4f9dfb37 104912009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
10492
10493 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
10494
b82bd5e1 104952009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
10496
10497 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
10498 giving it to GNU Mach.
10499
ff1a9bca 105002009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
10501
10502 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
10503 GNU partition number to get internal GRUB partition number.
10504
61697d9c 105052009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
10506
10507 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
10508 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
10509
a50569e1 105102009-11-01 Robert Millan <rmh.grub@aybabtu.com>
10511
10512 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
10513 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
10514 case.
10515
5b153867 105162009-11-01 Felix Zielcke <fzielcke@z-51.de>
10517
10518 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
10519
d9e2cd70 105202009-10-30 Robert Millan <rmh.grub@aybabtu.com>
10521
10522 Fix build problem.
10523
10524 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
10525 `-isystem=$(srcdir)/include'.
10526
805111a4 105272009-10-30 Robert Millan <rmh.grub@aybabtu.com>
10528
10529 * util/i386/pc/grub-install.in: Remove hint that device.map should be
10530 checked (grub-install doesn't currently rely on it).
10531
fa6e945f 105322009-10-29 Robert Millan <rmh.grub@aybabtu.com>
10533
10534 Revert SVN r2660.
10535
10536 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
10537 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
10538 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
10539 * conf/i386-ieee1275.rmk: Likewise.
10540 * conf/i386-pc.rmk: Likewise.
10541 * conf/powerpc-ieee1275.rmk: Likewise.
10542 * conf/sparc64-ieee1275.rmk: Likewise.
10543 * conf/x86_64-efi.rmk: Likewise.
10544
cee15086 105452009-10-28 Robert Millan <rmh.grub@aybabtu.com>
10546
10547 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
10548
95b9239e 105492009-10-28 Robert Millan <rmh.grub@aybabtu.com>
10550
10551 * include/grub/misc.h: Stop checking for APPLE_CC.
10552
2ed19dfd 105532009-10-28 Robert Millan <rmh.grub@aybabtu.com>
10554
10555 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
10556 doesn't cause an infinite call loop.
10557
fdcdde19 105582009-10-28 Felix Zielcke <fzielcke@z-51.de>
10559
10560 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
10561 strings.
10562
cefabfe1 105632009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10564
10565 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
10566 variable.
10567 * Makefile.in: Likewise.
10568
ed96ab6d 105692009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10570
10571 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
10572
0579b753 105732009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10574
10575 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
10576
478df409 105772009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10578
10579 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
10580
083d1679 105812009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10582
10583 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
10584 from here ...
10585 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
10586
5947ae32 105872009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10588
10589 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
10590 in $(MAKEINFO) invocation. This makes it clear in output that
10591 errors are being ignored.
10592
94180ff6 105932009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10594
10595 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
10596 from here ...
10597 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
10598 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
10599 * conf/i386-ieee1275.rmk: Likewise.
10600 * conf/i386-pc.rmk: Likewise.
10601 * conf/powerpc-ieee1275.rmk: Likewise.
10602 * conf/sparc64-ieee1275.rmk: Likewise.
10603 * conf/x86_64-efi.rmk: Likewise.
10604
9031b03a 106052009-10-26 Colin Watson <cjwatson@ubuntu.com>
10606
10607 * util/grub-editenv.c (main): If only a command is given, use
10608 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
10609 (usage): FILENAME is now optional and has a default.
10610
e4f6809b 106112009-10-26 Colin Watson <cjwatson@ubuntu.com>
10612
10613 Improve grub-mkconfig performance when there are several menu
10614 entries on a single filesystem.
10615
10616 * util/grub.d/10_linux.in (linux_entry): Cache the output of
10617 prepare_grub_to_access_device.
10618 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
10619 * util/grub.d/30_os-prober.in: Likewise.
10620
67937d4d 106212009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10622
10623 * util/grub.d/10_freebsd.in: Remove.
10624 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
10625 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
10626
ee3756cc 106272009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10628
5c35048e 10629 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 10630
4dea1c6f 106312009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10632
10633 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
10634 grub_util_error() call.
10635
042484d7 106362009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10637
10638 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
10639 `reserved_first_sector' member.
10640 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
10641 `reserved_first_sector' to 1.
10642 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
10643 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
10644 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
10645 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
10646 filesystems which begin at first sector.
10647 (options): New option --skip-fs-probe.
10648 (main): Handle --skip-fs-probe and pass it to setup().
10649
d64448a7 106502009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10651
10652 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
10653 (memset): Fix function prototype.
10654
508d42ec 106552009-10-25 Robert Millan <rmh.grub@aybabtu.com>
106562009-10-25 Vasily Averin <vvs@parallels.com>
10657
10658 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
10659 `dirent.direntlen == 0'.
10660
b240e30c 106612009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10662
10663 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
10664 `cpio'.
10665 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
10666
346e7fbe 106672009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10668
10669 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
10670 `__trampoline_setup' and `__ucmpdi2'.
10671 * include/grub/powerpc/libgcc.h: Only export symbols for functions
10672 that libgcc provides.
10673
cdb308b0 106742009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10675
10676 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
10677 * include/grub/sparc64/libgcc.h (memset): Likewise.
10678 * include/grub/misc.h (memset, memcmp): New function prototypes.
10679
fb26abc2 106802009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10681
10682 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
10683 `cpio'.
10684 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
10685
f6693890 106862009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10687
10688 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
10689 * docs/grub.cfg: Compensate for recent change in multiboot
10690 loader (since 2009-08-14 it won't pass filename to payload).
10691 * util/grub.d/10_hurd.in: Likewise.
10692
0933cdc0 106932009-10-21 Felix Zielcke <fzielcke@z-51.de>
10694
10695 * config.guess: Update to latest version from config git
10696 repository.
10697 * config.sub: Likewise.
10698
3b2fe8c2 106992009-10-20 Robert Millan <rmh.grub@aybabtu.com>
10700
10701 Fix build on sparc64.
10702
10703 * configure.ac: Perform checks for libgcc symbols before
10704 adding `-nostdlib' to LDFLAGS.
10705
46695a62 107062009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10707
10708 Let user specify OpenBSD root device.
10709
10710 * loader/i386/bsd.c (openbsd_root): New variable.
10711 (openbsd_opts): New option 'root'.
10712 (OPENBSD_ROOT_ARG): New macro.
10713 (grub_openbsd_boot): Use 'openbsd_root'.
10714 (grub_cmd_openbsd): Fill 'openbsd_root'.
10715
d2b6b7fc 107162009-10-16 Robert Millan <rmh.grub@aybabtu.com>
10717
10718 * NEWS: Misc adjustments.
10719
421bd7ac 107202009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10721
10722 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
10723
f1d29d87 107242009-10-16 Robert Millan <rmh.grub@aybabtu.com>
10725
10726 * configure.ac: Bump version to 1.97.
10727
6f3cd880 107282009-10-16 Colin Watson <cjwatson@ubuntu.com>
10729
10730 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
10731 -mno-3dnow on x86 architectures. Some toolchains enable these
10732 features by default, but they rely on registers that aren't enabled
10733 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
10734
035f7122 107352009-10-15 Robert Millan <rmh.grub@aybabtu.com>
10736
10737 Make entry text a bit more readable.
10738
10739 * util/grub.d/10_linux.in: Add `with' before `Linux'.
10740
44998e58 107412009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
10742
10743 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
10744
cd2851b3 107452009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
10746
10747 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
10748 operations.
10749
c6f3b249 107502009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
10751
10752 * configure.ac: Add missing dollar.
10753
6b5886ba 107542009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
10755
10756 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
10757
10758 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
10759 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
10760 exports.
10761 * include/grub/sparc64/libgcc.h: Likewise. Use
10762 preprocessor conditionals.
10763
e9d66f6d 107642009-10-14 Robert Millan <rmh.grub@aybabtu.com>
10765
10766 * conf/common.rmk (grub-dumpbios): Remove rule.
10767 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
10768 * util/grub-dumpbios.in: Remove file.
10769
9155bc17 107702009-10-14 Robert Millan <rmh.grub@aybabtu.com>
10771
10772 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
10773 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
10774
10775 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
10776 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
10777 users.
10778
10779 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
10780 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
10781 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
10782 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
10783 users.
10784
bf7f7a18 107852009-10-12 Robert Millan <rmh.grub@aybabtu.com>
10786
10787 * term/tparm.c: Switch to GPLv3.
10788
86564c26 107892009-10-09 Robert Millan <rmh.grub@aybabtu.com>
10790
10791 * include/grub/i386/cpuid.h: Add header protection.
10792
5c936493 107932009-10-09 Robert Millan <rmh.grub@aybabtu.com>
10794
10795 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
10796
10797 * include/grub/i386/cpuid.h: New file.
10798 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
10799 (has_longmode): Rename to ...
10800 (grub_cpuid_has_longmode): ... this. Update all users. Remove
10801 `static' attribute.
10802 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
10803 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
10804 on a CPU that doesn't implement AMD64 instruction set.
10805
186e7cf2 108062009-10-06 Colin Watson <cjwatson@ubuntu.com>
10807
10808 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
10809 that version.texi is rebuilt on version number changes.
10810
83b65c4a 108112009-10-06 Colin Watson <cjwatson@ubuntu.com>
10812
10813 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
10814 Fixes bug #27602.
10815
d244281c 108162009-10-06 Colin Watson <cjwatson@ubuntu.com>
10817
10818 * util/i386/pc/grub-install.in: Source
10819 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
10820 that the --grub-probe option will work.
10821 * util/sparc64/ieee1275/grub-install.in: Likewise.
10822
da25306d 108232009-10-05 Robert Millan <rmh.grub@aybabtu.com>
10824
10825 * configure.ac: Bump version to 1.97~beta4.
10826
e8ee83c0 108272009-10-03 Robert Millan <rmh.grub@aybabtu.com>
10828
10829 Resync grub-mkdevicemap in x86_64-efi.
10830
10831 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
10832 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
10833 `util/devicemap.c'.
10834
50dcabcf 108352009-10-01 Colin Watson <cjwatson@ubuntu.com>
10836
10837 * util/grub-editenv.c (create_envblk_file): Write new block with a
10838 .new suffix and then rename it into place, to ensure atomic
10839 creation.
10840
0e51c3a7 108412009-09-28 Robert Millan <rmh.grub@aybabtu.com>
10842
10843 Do not automatically install headers.
10844
10845 * Makefile.in (include_DATA): Remove. Update all users.
10846
31299a95 108472009-09-26 Robert Millan <rmh.grub@aybabtu.com>
10848
10849 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
10850 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
10851
10852 * util/osdetect.lua: Remove.
10853 * script/lua/lauxlib.c: Likewise.
10854 * script/lua/ldebug.c: Likewise.
10855 * script/lua/grub_main.c: Likewise.
10856 * script/lua/lauxlib.h: Likewise.
10857 * script/lua/ldebug.h: Likewise.
10858 * script/lua/ltablib.c: Likewise.
10859 * script/lua/liolib.c: Likewise.
10860 * script/lua/lstrlib.c: Likewise.
10861 * script/lua/lualib.h: Likewise.
10862 * script/lua/ldo.c: Likewise.
10863 * script/lua/ldump.c: Likewise.
10864 * script/lua/ldo.h: Likewise.
10865 * script/lua/loslib.c: Likewise.
10866 * script/lua/lundump.c: Likewise.
10867 * script/lua/grub_lib.c: Likewise.
10868 * script/lua/ldblib.c: Likewise.
10869 * script/lua/lundump.h: Likewise.
10870 * script/lua/lmem.c: Likewise.
10871 * script/lua/grub_lib.h: Likewise.
10872 * script/lua/lmathlib.c: Likewise.
10873 * script/lua/lstate.c: Likewise.
10874 * script/lua/ltm.c: Likewise.
10875 * script/lua/lvm.c: Likewise.
10876 * script/lua/lmem.h: Likewise.
10877 * script/lua/lstate.h: Likewise.
10878 * script/lua/ltm.h: Likewise.
10879 * script/lua/ltable.c: Likewise.
10880 * script/lua/lvm.h: Likewise.
10881 * script/lua/llex.c: Likewise.
10882 * script/lua/lgc.c: Likewise.
10883 * script/lua/grub_lua.h: Likewise.
10884 * script/lua/loadlib.c: Likewise.
10885 * script/lua/lfunc.c: Likewise.
10886 * script/lua/lopcodes.c: Likewise.
10887 * script/lua/lparser.c: Likewise.
10888 * script/lua/ltable.h: Likewise.
10889 * script/lua/llex.h: Likewise.
10890 * script/lua/lgc.h: Likewise.
10891 * script/lua/lfunc.h: Likewise.
10892 * script/lua/lbaselib.c: Likewise.
10893 * script/lua/lopcodes.h: Likewise.
10894 * script/lua/lparser.h: Likewise.
10895 * script/lua/lzio.c: Likewise.
10896 * script/lua/linit.c: Likewise.
10897 * script/lua/lobject.c: Likewise.
10898 * script/lua/llimits.h: Likewise.
10899 * script/lua/lstring.c: Likewise.
10900 * script/lua/lzio.h: Likewise.
10901 * script/lua/lapi.c: Likewise.
10902 * script/lua/lcode.c: Likewise.
10903 * script/lua/lua.h: Likewise.
10904 * script/lua/lobject.h: Likewise.
10905 * script/lua/lstring.h: Likewise.
10906 * script/lua/lapi.h: Likewise.
10907 * script/lua/lcode.h: Likewise.
10908 * script/lua/luaconf.h: Likewise.
10909
cb8a2c38 109102009-09-26 Colin Watson <cjwatson@ubuntu.com>
10911
10912 * docs/grub.texi (Command-line and menu entry commands): Document
10913 date and echo commands.
10914
6b9b6276 109152009-09-24 Pavel Roskin <proski@gnu.org>
10916
10917 * include/grub/kernel.h (struct grub_module_header): Remove
10918 `grub_module_header_types'. Make `type' unsigned. Make `size'
10919 32-bit on all platforms.
10920 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
10921 8-bit field. Use grub_host_to_target32() for `size'.
10922 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
10923 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
10924 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
10925
4e5a02a7 109262009-09-24 Robert Millan <rmh.grub@aybabtu.com>
10927
10928 Fix "lost keypress" bug in at_keyboard.
10929
10930 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
10931 Checks for readyness of input buffer (without flushing it).
10932 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
10933 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
10934
c6dcedf6 109352009-09-24 Robert Millan <rmh.grub@aybabtu.com>
10936
10937 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
10938 size check within GRUB_MACHINE_PCBIOS section.
10939
74c958b1 109402009-09-24 Robert Millan <rmh.grub@aybabtu.com>
10941
10942 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
10943 return value.
10944 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
10945 KEYBOARD_ISREADY check.
10946 (grub_at_keyboard_checkkey): Rename to ...
10947 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
10948 Remove gratuitous cast.
10949
ff420223 109502009-09-23 Colin Watson <cjwatson@ubuntu.com>
10951
10952 * configure.ac: Call AC_PROG_MKDIR_P.
10953 * Makefile.in (docs/stamp-vti): Create docs directory. Create
10954 version.texi in $(builddir) rather than $(srcdir).
10955 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
10956 to makeinfo's @include search path.
10957
d96875df 109582009-09-23 Felix Zielcke <fzielcke@z-51.de>
10959
10960 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
10961
9b3f8365 109622009-09-23 Felix Zielcke <fzielcke@z-51.de>
10963
10964 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
10965 for `*.dpkg-new'.
10966
c44c90db 109672009-09-21 Colin Watson <cjwatson@ubuntu.com>
10968
10969 Build info documentation. Some code borrowed from Automake.
10970
10971 * configure.ac: Check for makeinfo.
10972 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
10973 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
10974 docs/version.texi.
10975 (MOSTLYCLEANFILES): Add vti.tmp.
10976 (docs/version.texi, docs/stamp-vti): Update automatically.
10977 (docs/grub.info): Build info documentation. Use --force and ignore
10978 errors for now.
10979 (all-local): Add $(INFOS).
10980 (install-local): Install info files.
10981 (uninstall): Uninstall info files.
10982 * docs/version.texi: Remove from revision control. This file is
10983 automatically generated on build now.
10984 * gendistlist.sh: Add `*.info'.
10985
e0b37bb5 109862009-09-21 Felix Zielcke <fzielcke@z-51.de>
10987
10988 * kern/term.c: Fix indentation.
10989
5a78865b 109902009-09-21 Felix Zielcke <fzielcke@z-51.de>
10991
10992 * util/hostdisk.c: Fix a comment.
10993
dace7e8a 109942009-09-20 Robert Millan <rmh.grub@aybabtu.com>
10995
10996 Fix regression introduced in r2539.
10997
10998 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
10999 to 0xA1.
11000
a83d079b 110012009-09-19 Colin Watson <cjwatson@ubuntu.com>
11002
11003 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 11004 os-prober. Under normal operation, it does not print anything to
11005 stderr; if it does, we need to debug it, and throwing away stderr
11006 makes that excessively difficult.
a83d079b 11007
be94a509 110082009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
11009
11010 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
11011
63f745e8 110122009-09-16 Robert Millan <rmh.grub@aybabtu.com>
11013
11014 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
11015 AC_LANG_PROGRAM from autoconf.
11016 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
11017 prototypes (fixes warning).
11018
11019 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
11020 `--disable-werror' was used.
11021
bbb2a70f 110222009-09-16 Robert Millan <rmh.grub@aybabtu.com>
11023
11024 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
11025 uninitialized `lastaddr'.
11026
77c24f1d 110272009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11028
0f0b8c87 11029 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 11030
07197f23 110312009-09-14 Colin Watson <cjwatson@ubuntu.com>
11032
11033 * commands/test.c (get_fileinfo): Return immediately if
11034 grub_fs_probe fails.
11035
dabf1798 110362009-09-14 José Martínez <xosemp@gmail.com>
11037
11038 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
11039
d52109a7 110402009-09-14 Colin Watson <cjwatson@ubuntu.com>
11041
11042 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
11043 output.
11044
56532179 110452009-09-13 Robert Millan <rmh.grub@aybabtu.com>
11046
11047 * configure.ac: Remove --enable-grub-pe2elf. Only build
11048 grub-pe2elf when needed by the build system itself.
11049 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
11050
8ef070f5 110512009-09-12 Robert Millan <rmh.grub@aybabtu.com>
11052
11053 * configure.ac: Bump version to 1.97~beta3.
11054 * docs/version.texi: Likewise.
11055
61229557 110562009-09-12 Robert Millan <rmh.grub@aybabtu.com>
11057
11058 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
11059 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
11060 from here ...
11061 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
11062 (grub_linux_setup_video): ... to here (with some adjustments).
11063
5c9f8d84 110642009-09-12 Robert Millan <rmh.grub@aybabtu.com>
11065
11066 Fix memory corruption issue (spotted by Colin Watson).
11067
11068 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
11069 causing returned size to be stored in an incorrect memory location.
11070 Fix use of uninitialized value when storing the returned size.
11071
e8f5d6e9 110722009-09-12 Yves Blusseau <blusseau@zetam.org>
11073
11074 Change clean rules to properly remove files
11075
11076 * genmk.rb: add new clean rules
11077 * Makefile.in (clean): add the new targets
11078 (mostlyclean): likewise
11079
cda2a409 110802009-09-11 Colin Watson <cjwatson@ubuntu.com>
11081
11082 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
11083 to grub_uint64_t.
11084 * fs/ntfs.c (init_file): Understand 64-bit sizes for
11085 non-resident files.
11086
86695375 110872009-09-11 Colin Watson <cjwatson@ubuntu.com>
11088
11089 * configure.ac: Don't look for help2man when cross-compiling. Fixes
11090 part of bug #27349.
11091
8aa1541a 110922009-09-10 Felix Zielcke <fzielcke@z-51.de>
11093
11094 * util/grub-mkconfig.in: Make the created config mode 400 and
11095 print a warning if it fails.
11096
48d9bb0a 110972009-09-10 Robert Millan <rmh.grub@aybabtu.com>
11098
11099 * util/grub.d/40_custom.in: Ask user to type custom entries below
11100 comment, rather than below 'exec tail' line.
11101
3b0521be 111022009-09-10 Colin Watson <cjwatson@ubuntu.com>
11103
11104 * util/grub.d/40_custom.in: Make sure that the explanatory text is
11105 visible in grub.cfg.
11106
50051d55 111072009-09-10 Colin Watson <cjwatson@ubuntu.com>
11108
11109 * util/grub.d/40_custom.in: Make it a little clearer how to use this
11110 file.
11111
c0d34387 111122009-09-10 Felix Zielcke <fzielcke@z-51.de>
11113
11114 * docs/grub.cfg: Add an example menu entry for memtest86+.
11115
80a608f3 111162009-09-09 Felix Zielcke <fzielcke@z-51.de>
11117
a2094832 11118 * config.guess: Update to latest version from config git.
80a608f3 11119 * config.sub: Likewise.
11120
99423078 111212009-09-08 Colin Watson <cjwatson@ubuntu.com>
11122
11123 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
11124 unknown-command case. Fixes bug #27320.
11125
44454e4c 111262009-09-08 Felix Zielcke <fzielcke@z-51.de>
11127
11128 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
11129 `help' if the command exists.
11130
e30d87ad 111312009-09-06 Robert Millan <rmh.grub@aybabtu.com>
11132
11133 * INSTALL: Require GCC 4.1.3 or later.
11134
9a86f1ec 111352009-09-06 Yves Blusseau <blusseau@zetam.org>
11136
11137 * Makefile.in (RMKFILES): add i386-qemu.rmk
11138 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
11139 $(srcdir)/stamp-h.in
11140
7f26d466 111412009-09-05 Robert Millan <rmh.grub@aybabtu.com>
11142
11143 * util/grub-probe.c (probe): Comment out buggy codepath, which
11144 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
11145 should be re-enabled after 1.97.
11146
3a613259 111472009-09-05 Felix Zielcke <fzielcke@z-51.de>
11148
11149 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
11150 find searches for.
11151
197f76c7 111522009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
11153
11154 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
11155 unnecessary calls to grub_error.
11156
70ba68ce 111572009-09-04 Colin Watson <cjwatson@ubuntu.com>
11158
11159 * NEWS: Mention `keystatus' and Unicode fonts.
11160
4ff0d7a4 111612009-09-04 Robert Millan <rmh.grub@aybabtu.com>
11162
11163 * configure.ac: Bump version to 1.97~beta2.
11164 * docs/version.texi: Likewise.
11165
77c55a87 111662009-09-03 Colin Watson <cjwatson@ubuntu.com>
11167
11168 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
11169 containing unwind information in some cases where it previously did
11170 not. Use -fno-dwarf2-cfi-asm if available to restore the old
11171 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
11172 discussion.
11173
f79572cd 111742009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
11175
11176 Embedding loadenv module into grub-emu
11177
11178 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
11179 commands/loadenv.c
11180 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
11181 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
11182 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
11183 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
11184 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
11185 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
11186
93a81088 111872009-09-03 Magnus Granberg <zorry@ume.nu>
11188
11189 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
11190 include -fPIE in the default specs.
11191 * configure.ac: Check if pie_possible is yes and add -fno-PIE
11192 to TARGET_CFLAGS.
11193
160034b2 111942009-09-03 Felix Zielcke <fzielcke@z-51.de>
11195
11196 * INSTALL: Note that GNU Bison 2.3 or later is required.
11197
087c07c4 111982009-09-03 Colin Watson <cjwatson@ubuntu.com>
11199
11200 * kern/i386/pc/startup.S: Fix typo.
11201
cbf978c0 112022009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11203
11204 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
11205 according to GCS.
11206
112072009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 11208
11209 * docs/grub.texi (Naming convention): Describe one-based partition
11210 numbering.
11211 (Device syntax): Likewise.
11212 (File name syntax): Likewise.
11213 (Block list syntax): Likewise.
11214 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
11215 menu.lst.
11216 (File name syntax): Likewise.
11217 (Command-line and menu entry commands): Document acpi, blocklist,
11218 crc, export, insmod, keystatus, ls, set, and unset commands.
11219
f3e8cdfd 112202009-09-02 Colin Watson <cjwatson@ubuntu.com>
11221
11222 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
11223 to avoid implying that only one of --shift, --ctrl, or --alt may be
11224 used.
11225
c0bc232b 112262009-09-02 Colin Watson <cjwatson@ubuntu.com>
11227
11228 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
11229 rather than comparing against S_IFREG, which will almost never work.
11230
aa0f752d 112312009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
11232
11233 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
11234 (write_blocklists): Likewise.
11235
ecb3166a 112362009-09-01 Colin Watson <cjwatson@ubuntu.com>
11237
11238 * script/lua/grub_lua.h (fputs): Supply a format string as the first
11239 argument to grub_printf.
11240
c403a125 112412009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 11242
11243 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 11244 non GNU test.
31aba781 11245
b5e7312c 112462009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11247
11248 * kern/file.c (grub_file_read): Spelling fix
11249
fe00f472 112502009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11251
11252 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
11253 loading of headers in some cases.
11254
cc55302e 112552009-08-30 Robert Millan <rmh.grub@aybabtu.com>
11256
11257 * configure.ac: Bump version to 1.97~beta1.
11258 * docs/version.texi: Likewise.
11259
5c90cdd2 112602009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 11261
11262 * include/grub/i386/xnu.h: Add license header.
11263 include grub/err.h explicitly.
11264
c90edae4 112652009-08-29 Robert Millan <rmh.grub@aybabtu.com>
11266
11267 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
11268 to `ufs' in the vfs.root.mountfrom kernel parameter.
11269
d8888b5c 112702009-08-29 Robert Millan <rmh.grub@aybabtu.com>
11271
11272 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
11273
11274 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
11275 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
11276
11277 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
11278 `ARRAY_SIZE' macro.
11279
6f07b921 112802009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11281
11282 * kern/file.c (grub_file_read): Check offset.
11283 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
11284 * fs/jfs.c (grub_jfs_read_file): Likewise.
11285 * fs/ntfs.c (grub_ntfs_read): Likewise.
11286 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
11287 * fs/minix.c (grub_minix_read_file): Correct offset check.
11288 * fs/ufs.c (grub_ufs_read_file): Likewise.
11289
b4f34077 112902009-08-28 Colin Watson <cjwatson@ubuntu.com>
11291
11292 * term/i386/pc/console.c (bios_data_area): Cast
11293 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
11294
e7c69859 112952009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11296
11297 1-bit optimised blitters.
11298
11299 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
11300 prototype.
11301 (grub_video_fbblit_replace_24bit_1bit): Likewise.
11302 (grub_video_fbblit_replace_16bit_1bit): Likewise.
11303 (grub_video_fbblit_replace_8bit_1bit): Likewise.
11304 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
11305 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
11306 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
11307 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
11308 function.
11309 (grub_video_fbblit_replace_24bit_1bit): Likewise.
11310 (grub_video_fbblit_replace_16bit_1bit): Likewise.
11311 (grub_video_fbblit_replace_8bit_1bit): Likewise.
11312 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
11313 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
11314 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
11315 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
11316 when possible.
11317 * video/video.c (grub_video_get_blit_format): Return
11318 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
11319
a57da43f 113202009-08-28 Colin Watson <cjwatson@ubuntu.com>
11321
11322 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
11323 the first argument to grub_printf.
11324
4cbe67e5 113252009-08-28 Colin Watson <cjwatson@ubuntu.com>
113262009-08-28 Robert Millan <rmh.grub@aybabtu.com>
11327
11328 Add `getkeystatus' terminal method. Add a new `keystatus' command
11329 to query it.
11330
11331 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
11332 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
11333 modifier key bitmasks.
11334 (struct grub_term_input): Add `getkeystatus' member.
11335 (grub_getkeystatus): Add prototype.
11336 * kern/term.c (grub_getkeystatus): New function.
11337
11338 * include/grub/i386/pc/memory.h
11339 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
11340 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
11341 Data Area layout.
11342 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
11343 (grub_console_term_input): Set `getkeystatus' member.
11344 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
11345 constants.
11346 (grub_usb_keyboard_getreport): Likewise.
11347 (grub_usb_keyboard_checkkey): Likewise.
11348 (grub_usb_keyboard_getkeystatus): New function.
11349 (grub_usb_keyboard_term): Set `getkeystatus' member.
11350
11351 * commands/keystatus.c: New file.
11352 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
11353 (keystatus_mod_SOURCES): New variable.
11354 (keystatus_mod_CFLAGS): Likewise.
11355 (keystatus_mod_LDFLAGS): Likewise.
11356 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
11357 commands/keystatus.c.
11358 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11359 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11360 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11361 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11362 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11363 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 11364
6e2a9085 113652009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11366
11367 Split befs.mod and afs.mod into *_be.mod and *.mod
11368
11369 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
11370 (grub_fstest_SOURCES): Likewise.
11371 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
11372 (afs_be_mod_SOURCES): New variable.
11373 (afs_be_mod_CFLAGS): Likewise.
11374 (afs_be_mod_LDFLAGS): Likewise.
11375 (befs_be_mod_SOURCES): Likewise.
11376 (befs_be_mod_CFLAGS): Likewise.
11377 (befs_be_mod_LDFLAGS): Likewise.
11378 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
11379 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11380 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11381 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
11382 (grub_emu_SOURCES): Likewise.
11383 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11384 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11385 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11386 * fs/afs_be.c: New file.
11387 * fs/befs_be.c: New file.
11388 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
11389 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
11390 (U16): Replaced with ...
11391 (grub_afs_to_cpu16): ...this. All users updated.
11392 (U32): Replaced with ...
11393 (grub_afs_to_cpu32): ...this. All users updated.
11394 (U64): Replaced with ...
11395 (grub_afs_to_cpu64): ...this. All users updated.
11396 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
11397 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 11398 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 11399 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
11400 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
11401 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
11402 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
11403 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
11404 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
11405 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
11406 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
11407
32a71655 114082009-08-26 Bean <bean123ch@gmail.com>
11409
11410 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
11411 64-bit number.
11412 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
11413 (grub_xfs_inode_block): Change return type to grub_uint64_t.
11414 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
11415
552bf6c5 114162009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11417
11418 NetBSD memory map support.
11419
11420 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
11421 (grub_netbsd_btinfo_mmap_header): New structure.
11422 (grub_netbsd_btinfo_mmap_entry): Likewise.
11423 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
11424
1ae2078c 114252009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11426
11427 Enable bsd.mod on coreboot.
11428
11429 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
11430 (bsd_mod_SOURCES): New variable.
11431 (bsd_mod_CFLAGS): Likewise.
11432 (bsd_mod_LDFLAGS): Likewise.
11433 (bsd_mod_ASFLAGS): Likewise.
11434 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
11435 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
11436
beefc598 114372009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11438
11439 Cleanup NetBSD root support.
11440
11441 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
11442 grub_bsd_get_device.
11443 Fix typo.
11444
3b76e68b 114452009-08-25 Felix Zielcke <fzielcke@z-51.de>
11446
11447 * util/grub.d/00_header.in: Move check for the video backend of
11448 gfxterm from here ...
11449 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
11450 a suitable video backend.
11451
aea664ea 114522009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11453
11454 Fix breakage in grub-setup.
11455
11456 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
11457 "msdos_partition_map".
11458
ff747d50 114592009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11460
11461 Fix breakage in normal/auth.c.
11462
11463 * normal/auth.c (grub_iswordseparator): New function.
11464
e7e1f93f 114652009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11466
11467 Authentication support.
11468
11469 * commands/password.c: New file.
11470 * conf/common.rmk (pkglib_MODULES): Add password.mod.
11471 (password_mod_SOURCES): New variable.
11472 (password_mod_CFLAGS): Likewise.
11473 (password_mod_LDFLAGS): Likewise.
11474 (normal_mod_SOURCES): Add normal/auth.c.
11475 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
11476 normal/auth.c.
11477 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11478 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11479 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11480 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11481 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11482 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11483 * include/grub/auth.h: New file.
11484 * include/grub/err.h (grub_err_t): New enum value
11485 GRUB_ERR_ACCESS_DENIED.
11486 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
11487 'users'.
11488 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
11489 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
11490 users updated.
11491 * normal/auth.c: New file.
11492 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
11493 (grub_cmdline_run): Don't allow to go to command line without
11494 authentication.
11495 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
11496 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
11497 menuentry without superuser rights.
11498 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
11499 user isn't a superuser.
11500
70f1161d 115012009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11502
11503 Save space by inlining misc.c functions.
11504
11505 * kern/misc.c (grub_iswordseparator): Made static.
11506 * kern/misc.c (grub_strcat): Moved from here ...
11507 * include/grub/misc.h (grub_strcat): ... here. Inlined.
11508 * kern/misc.c (grub_strncat): Moved from here ...
11509 * include/grub/misc.h (grub_strncat): ... here. Inlined.
11510 * kern/misc.c (grub_strcasecmp): Moved from here ...
11511 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
11512 * kern/misc.c (grub_strncasecmp): Moved from here ...
11513 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
11514 * kern/misc.c (grub_isalpha): Moved from here ...
11515 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
11516 * kern/misc.c (grub_isdigit): Moved from here ...
11517 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
11518 * kern/misc.c (grub_isgraph): Moved from here ...
11519 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
11520 * kern/misc.c (grub_tolower): Moved from here ...
11521 * include/grub/misc.h (grub_tolower): ... here. Inlined.
11522
48e40bff 115232009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11524
11525 * script/sh/function.c (grub_script_function_find): Cut error message
11526 not to flood terminal.
11527 * script/sh/lexer.c (grub_script_yylex): Remove command line length
11528 limit.
11529 * script/sh/script.c (grub_script_arg_add): Duplicate string.
11530
c385bfc3 115312009-08-24 Colin Watson <cjwatson@ubuntu.com>
11532
11533 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
11534 `report' grub_uint8_t *.
11535 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
11536 Use a 50-millisecond timeout rather than just repeating
11537 grub_usb_keyboard_getreport 50 times.
11538 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
11539
2d21e3e8 115402009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11541
11542 Rename *_partition_map to part_*
11543
11544 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
11545 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
11546 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
11547 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
11548 All users updated.
11549 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
11550 All users updated.
11551 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
11552 * util/grub-probe.c (probe_partmap): Don't transform partition name
11553 to get module name.
11554
dd103c4e 115552009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11556
11557 Fix OpenBSD and NetBSD support.
11558
11559 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
11560 memory address conflict.
11561 (OPENBSD_MMAP_ACPI): New definition.
11562 (OPENBSD_MMAP_NVS): Likewise.
11563 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
11564 and OPENBSD_MMAP_NVS.
11565 Add memory map terminator
11566 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 11567 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 11568
16c84d74 115692009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11570
11571 Let user specify NetBSD root device.
11572
11573 * loader/i386/bsd.c (netbsd_root): New variable.
11574 (netbsd_opts): New option 'root'.
11575 (NETBSD_ROOT_ARG): New macro.
11576 (grub_netbsd_boot): Use 'netbsd_root'.
11577 (grub_bsd_unload): Free 'netbsd_root'.
11578 (grub_cmd_netbsd): Fill 'netbsd_root'.
11579
adb29902 115802009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11581
11582 Support for 64-bit NetBSD.
11583
11584 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
11585 point when booting non-FreeBSD.
11586
f5ae9f74 115872009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11588
11589 Support --no-smp and --no-acpi for NetBSD.
11590
11591 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
11592 (NETBSD_AB_NOACPI): Likewise.
11593 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
11594 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
11595
de74f136 115962009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11597
11598 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
11599 errors.
11600 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
11601 errors. Call grub_error when needed.
11602
e9a925da 116032009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11604
11605 * commands/search.c (search_fs): Try searching without autoload first.
11606 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
11607 filesystem module explicitly for faster booting.
11608
5174302b 116092009-08-23 Colin Watson <cjwatson@ubuntu.com>
11610
11611 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
11612
c8c80635 116132009-08-23 Colin Watson <cjwatson@ubuntu.com>
11614
11615 * util/grub.d/30_os-prober.in: Disable os-prober if
11616 `GRUB_DISABLE_OS_PROBER' was set to true.
11617
71acf5e5 116182009-08-23 Robert Millan <rmh.grub@aybabtu.com>
11619
11620 * partmap/pc.c: Rename to ...
11621 * partmap/msdos.c: ... this. Update all users.
11622 (grub_pc_partition_map): Rename to ...
11623 (grub_msdos_partition_map): ... this. Update all users.
11624
11625 * parttool/pcpart.c: Rename to ...
11626 * parttool/msdospart.c: ... this. Update all users.
11627
11628 * include/grub/pc_partition.h: Rename to ...
11629 * include/grub/msdos_partition.h: ... this. Update all users.
11630 (grub_pc_partition_bsd_entry): Rename to ...
11631 (grub_msdos_partition_bsd_entry): ... this. Update all users.
11632 (grub_pc_partition_disk_label): Rename to ...
11633 (grub_msdos_partition_disk_label): ... this. Update all users.
11634 (grub_pc_partition_entry): Rename to ...
11635 (grub_msdos_partition_entry): ... this. Update all users.
11636 (grub_pc_partition_mbr): Rename to ...
11637 (grub_msdos_partition_mbr): ... this. Update all users.
11638 (grub_pc_partition): Rename to ...
11639 (grub_msdos_partition): ... this. Update all users.
11640 (grub_pc_partition_is_empty): Rename to ...
11641 (grub_msdos_partition_is_empty): ... this. Update all users.
11642 (grub_pc_partition_is_extended): Rename to ...
11643 (grub_msdos_partition_is_extended): ... this. Update all users.
11644 (grub_pc_partition_is_bsd): Rename to ...
11645 (grub_msdos_partition_is_bsd): ... this. Update all users.
11646
11647 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
11648 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
11649 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
11650 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
11651 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
11652 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
11653 (gpt_mod_LDFLAGS): Rename to ...
11654 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
11655 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
11656 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
11657 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
11658 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
11659 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
11660 (part_gpt_mod_LDFLAGS): ... this.
11661 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
11662 `pcpart.mod' to `msdospart.mod'.
11663 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
11664 to ...
11665 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
11666 (msdospart_mod_LDFLAGS): ... this.
11667
c11fded5 116682009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11669
11670 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
11671 (openbsd_opts): Likewise.
11672 (netbsd_opts): Likewise.
11673 (freebsd_flags): Added 0 terminator.
11674 (openbsd_flags): Likewise.
11675 (netbsd_flags): Likewise.
11676 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
11677 (grub_cmd_freebsd): Transformed into extended command.
11678 (grub_cmd_openbsd): Likewise.
11679 (grub_cmd_netbsd): Likewise.
11680 (cmd_freebsd): Changed type to grub_extcmd_t.
11681 (cmd_openbsd): Likewise.
11682 (cmd_netbsd): Likewise.
11683 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
11684 grub_cmd_openbsd as extended commands.
11685 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
11686 cmd_netbsd and cmd_openbsd
11687
11d1c769 116882009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
11689
11690 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
11691
7a9094e5 116922009-08-21 Pavel Roskin <proski@gnu.org>
11693
5496c37e 11694 * Makefile.in (install-local): When checking if a file is in the
11695 build directory, use "test -e" to detect symlinks.
11696
7a9094e5 11697 * Makefile.in (install-local): Remove all files in
11698 $(DESTDIR)$(pkglibdir) before installing new files there.
11699
e53cea11 117002009-08-18 Felix Zielcke <fzielcke@z-51.de>
11701
11702 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
11703 grub-mkelfimage.
11704
9aced544 117052009-08-18 Felix Zielcke <fzielcke@z-51.de>
11706
11707 * util/grub-mkconfig.in: Don't use gfxterm by default if not
11708 explicitly specified by the user.
11709
b7da6bab 117102009-08-18 Pavel Roskin <proski@gnu.org>
11711
11712 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
11713 grub_uint8_t pointer for data.
11714 * include/grub/fbutil.h (struct grub_video_fbblit_info):
11715 Likewise.
11716 * video/fb/fbutil.c: Remove unnecessary casts.
11717
19f1b335 117182009-08-17 Michal Suchanek <hramrach@centrum.cz>
11719
11720 VBE cleanup.
11721
11722 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
11723 (grub_vbe_set_video_mode): Save active mode info
11724 only after setting the mode.
11725 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
11726 second argument.
11727
2f467aa9 117282009-08-17 Michal Suchanek <hramrach@centrum.cz>
11729
11730 Rename variables for clarity.
11731
11732 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
11733 (active_vbe_mode_info): ... this. All users updated.
11734 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
11735 All users updated.
11736 (initial_mode): Rename to ...
11737 (initial_vbe_mode): ... this. All users updated.
11738 (mode_in_use): Rename to ..
11739 (vbe_mode_in_use): ... this. All users updated.
11740 (mode_list): Rename to ..
11741 (vbe_mode_list): ... this. All users updated.
11742 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
11743 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
11744 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
11745 'mode_list_size' to 'vbe_mode_list_size'.
11746 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
11747 'best_mode_info' to 'best_vbe_mode_info' and
11748 'best_mode' to 'best_vbe_mode'
11749
6025fcd7 117502009-08-17 Michal Suchanek <hramrach@centrum.cz>
11751
11752 Remove duplicate grub_video_fb_get_video_ptr.
11753
11754 * include/grub/fbutil.h (get_data_ptr): Rename to ...
11755 (grub_video_fb_get_video_ptr): ... this.
11756 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
11757 * video/fb/fbutil.c: Add comment about addressing.
11758 (get_data_ptr): Rename to ...
11759 (grub_video_fb_get_video_ptr): ... this. All users updated.
11760 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
11761
cc8c6faf 117622009-08-17 Robert Millan <rmh.grub@aybabtu.com>
11763
11764 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
11765 grub_dprintf() that was just added.
11766
08aa61f0 117672009-08-17 Robert Millan <rmh.grub@aybabtu.com>
11768
11769 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
11770 (DEFAULT_VIDEO_MODE): Remove macros.
11771 (grub_linux_boot): Remove assumption that Linux has FB support,
11772 and use "text" as default video mode.
11773
7cef4f75 117742009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
11775
11776 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
11777 grub_dprintf.
11778 * fs/fat.c (grub_fat_read_data): Likewise.
11779
e1f39873 117802009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
11781
11782 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
11783 payload.
11784 (grub_module): Likewise.
11785
c166d79e 117862009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
11787
11788 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
11789 mbi->cmdline but free playground.
11790
c60cee8e 117912009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
11792
11793 Handle group offset on UFS1.
11794
11795 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
11796 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
11797
c0d8b5d4 117982009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
11799
11800 Split ufs.mod into ufs1.mod and ufs2.mod.
11801
11802 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
11803 (grub_fstest_SOURCES): Likewise.
11804 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
11805 (ufs_mod_SOURCES): Remove.
11806 (ufs_mod_CFLAGS): Likewise.
11807 (ufs_mod_LDFLAGS): Likewise.
11808 (ufs1_mod_SOURCES): New variable.
11809 (ufs1_mod_CFLAGS): Likewise.
11810 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 11811 (ufs2_mod_SOURCES): New variable.
11812 (ufs2_mod_CFLAGS): Likewise.
11813 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 11814 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
11815 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
11816 Likewise.
11817 (grub_emu_SOURCES): Likewise.
11818 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11819 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11820 (grub_setup_SOURCES): Likewise.
11821 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11822 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
11823 (grub_setup_SOURCES): Likewise.
11824 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
11825 Likewise.
11826 * fs/ufs2.c: New file.
11827 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
11828
d3539132 118292009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
11830
11831 Framebuffer split.
11832
11833 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
11834 subsystem at the end.
11835 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
11836 (video_fb_mod_SOURCES): New variable.
11837 (video_fb_mod_CFLAGS): Likewise.
11838 (video_fb_mod_LDFLAGS): Likewise.
11839 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
11840 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
11841 * video/i386/pc/vbeblit.c: Moved from here ...
11842 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
11843 * video/i386/pc/vbefill.c: Moved from here ...
11844 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
11845 * video/i386/pc/vbeutil.c: Moved from here ...
11846 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
11847 * include/grub/i386/pc/vbeblit.h: Moved from here ...
11848 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
11849 * include/grub/i386/pc/vbefill.h: Moved from here ...
11850 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
11851 * include/grub/i386/pc/vbeutil.h: Moved from here ...
11852 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
11853 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
11854 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
11855 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
11856 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
11857 (grub_video_adapter): Added 'get_info_and_fini'.
11858 (grub_video_get_info_and_fini): New prototype.
11859 (grub_video_set_mode): make modestring const char *.
11860 * loader/i386/linux.c (grub_linux_setup_video): Use
11861 grub_video_get_info_and_fini.
11862 (grub_linux_boot): Move modesetting just before booting.
11863 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
11864 grub_video_get_info_and_fini.
11865 * video/i386/pc/vbe.c: Moved framebuffer part ...
11866 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
11867 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
11868 grub_video_fbstd_colors and grub_video_fb_set_palette.
11869 (grub_video_vbe_init): Clear 'framebuffer' variable and use
11870 grub_video_fb_init.
11871 (grub_video_vbe_fini): Use grub_video_fb_fini.
11872 (grub_video_vbe_setup): Use framebuffer.render_target instead of
11873 render_target and use grub_video_fb_set_active_render_target and
11874 grub_video_fb_set_palette.
11875 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
11876 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
11877 (grub_video_vbe_adapter): Use framebuffer.
11878 * video/video.c (grub_video_get_info_and_fini): New function.
11879 (grub_video_set_mode): Make modestring const char *.
11880 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
11881 values are already initialised.
11882
d404ee56 118832009-08-14 Pavel Roskin <proski@gnu.org>
11884
11885 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
11886 ABS and APPLE_CC.
11887 * boot/i386/pc/diskboot.S: Likewise.
11888 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
11889 sectors allow compilation on MacOSX.
11890 * conf/i386-pc.rmk: Enable unconditional compilation of
11891 lnxboot.img.
11892
9a10df16 118932009-08-13 Colin Watson <cjwatson@ubuntu.com>
11894
11895 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
11896 * util/grub.d/00_header.in: Enter interruptible sleep if
11897 GRUB_HIDDEN_TIMEOUT is set.
11898
be3c9ca7 118992009-08-13 Yves Blusseau <blusseau@zetam.org>
11900
11901 * include/grub/symbol.h: Add the LOCAL macro.
11902 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
11903 starting with "L_".
11904
1f9e557e 119052009-08-13 Pavel Roskin <proski@gnu.org>
11906
9ca62843 11907 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
11908 any modern compilers we support.
11909
1f9e557e 11910 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
11911 Use local labels starting with "L_" so that Apple assembler
11912 knows they are local.
11913
81623db6 119142009-08-10 Robert Millan <rmh.grub@aybabtu.com>
11915
11916 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
11917 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
11918 (bsd_kernel_types): ... this enum.
11919
11920 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
11921 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
11922 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
11923
11924 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
11925 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
11926 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
11927 messages.
11928
f5d35e7a 119292009-08-08 Robert Millan <rmh.grub@aybabtu.com>
11930
11931 * util/grub-dumpdevtree: Moved from here ...
11932 * util/i386/efi/grub-dumpdevtree: ... to here.
11933 (hexify): New function. Converts a string to its hex version.
11934 Generate hex versions of "efi" and "device-properties" by calling
11935 hexify() on the ASCII strings rather than by hardcoding numbers.
11936
d1e1d527 119372009-08-08 Robert Millan <rmh.grub@aybabtu.com>
11938
11939 * fs/jfs.c: Update copyright year.
11940
1ebbe064 119412009-08-08 Felix Zielcke <fzielcke@z-51.de>
11942
11943 * util/grub.d/00_header.in: Fix a comment.
11944 * util/grub.d/10_linux.in: Likewise.
11945 * util/grub.d/10_windows.in: Likewise.
11946 * util/grub.d/10_hurd.in: Likewise.
11947
a78c8d24 119482009-08-08 Felix Zielcke <fzielcke@z-51.de>
11949
11950 * util/grub-mkconfig.in: Allow the user to specify the used font
11951 with GRUB_FONT.
11952
29a6b9e8 119532009-08-08 Pavel Roskin <proski@gnu.org>
11954
b5f16cc4 11955 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
11956 available, xfs.mod needs it now.
11957
2f5cb827 11958 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
11959 the "g" modifier in sed when the intention is to strip something
11960 once. This fixes comparison of kernels with multiple dashes.
11961
29a6b9e8 11962 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
11963 on it. Add missing space before closing bracket. Fix
11964 misleading formatting.
11965
892a3d98 119662009-08-07 Robert Millan <rmh.grub@aybabtu.com>
11967
11968 * docs/grub.texi: Major overhaul. Remove all sections that are
11969 specific to GRUB Legacy, or mostly composed of Legacy-specific
11970 information.
11971
ed94253f 119722009-08-07 Robert Millan <rmh.grub@aybabtu.com>
11973
11974 * docs/version.texi: New file. Provides version information for
11975 grub.texi.
11976
126d6628 119772009-08-07 Robert Millan <rmh.grub@aybabtu.com>
11978
11979 * docs/grub.texi: Update CVS information to SVN.
11980 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
11981
998b5aa9 119822009-08-07 Felix Zielcke <fzielcke@z-51.de>
11983
11984 * util/grub-mkconfig.in: Remove a wrong `fi'.
11985
818e094a 119862009-08-07 Felix Zielcke <fzielcke@z-51.de>
11987
11988 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
11989 (grub_jfs_uuid): New function.
11990 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
11991
b969c52f 119922009-08-07 Felix Zielcke <fzielcke@z-51.de>
11993
11994 * util/grub-mkconfig_lib.in (font_path): Move the functionality
11995 of it to ...
11996 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
11997 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
11998
7a4894cc 119992009-08-07 Robert Millan <rmh.grub@aybabtu.com>
12000
12001 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
12002 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
12003 Update all users.
12004
12005 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
12006 not just "vmlinu[zx]".
12007 Moved from here ...
12008 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
12009 all users.
12010
12011 * util/grub.d/10_linux.in (find_latest): Moved from here ...
12012 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
12013 all users.
12014
4e2171f8 120152009-08-07 Robert Millan <rmh.grub@aybabtu.com>
12016
12017 * util/grub.d/10_freebsd.in: Use an absolute device path for
12018 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
12019
6dcfcb32 120202009-08-06 Felix Zielcke <fzielcke@z-51.de>
12021
12022 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
12023 handling of multiple abstraction modules.
12024
f56a8756 120252009-08-04 Robert Millan <rmh.grub@aybabtu.com>
12026
12027 Fix a bug resulting in black screen when loading Linux using a
12028 packed video mode.
12029
12030 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
12031 function.
12032
12033 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
12034 (grub_vbe_bios_getset_dac_palette_width): New function.
12035 (grub_vbe_bios_get_dac_palette_width)
12036 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
12037 grub_vbe_bios_getset_dac_palette_width()).
12038
12039 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
12040 check for return status.
12041 (grub_vbe_get_video_mode_info): When getting information for a packed
12042 mode (<= 8 bpp), obtain DAC palette width using
12043 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
12044 {red,green,blue}_mark_size.
12045
222671b2 120462009-08-04 Felix Zielcke <fzielcke@z-51.de>
12047
ecb1a6d9 12048 * commands/search.c (options): Fix help output to match actual code.
222671b2 12049
f84114f5 120502009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
12051
12052 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
12053 of homegrown code.
12054
bd288a20 120552009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 12056
12057 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
12058 on XFS or ReiserFS.
12059
8aab5e25 120602009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
12061
12062 Support Apple partition map with sector size different from 512 bytes.
12063
12064 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
12065 (apple_partition_map_iterate): Respect 'aheader.blocksize'
12066 and 'apart.partmap_size'.
12067
6ad6258a 120682009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
120692009-08-01 Robert Millan <rmh.grub@aybabtu.com>
12070
12071 Fix cpuid command.
12072
12073 * commands/i386/cpuid.c (options): New variable.
12074 (grub_cmd_cpuid): Return real error.
12075 (GRUB_MOD_INIT(cpuid)): Declare options.
12076
67459bc6 120772009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
12078
12079 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
12080 valid.
12081
fbc6ab54 120822009-07-31 Bean <bean123ch@gmail.com>
12083
12084 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
12085 log2_inode.
12086 (grub_fshelp_node): Move inode field to the end.
12087 (grub_xfs_data): Remove inode field.
12088 (grub_xfs_inode_block): Calculate inode size using sblock.
12089 (grub_xfs_inode_offset): Likewise.
12090 (grub_xfs_read_inode): Calculate inode size using sblock.
12091 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
12092 (grub_xfs_iterate_dir): Calculate inode size using sblock.
12093 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
12094 to match inode size.
12095 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
12096 not accessible when data is null.
12097 (grub_xfs_open): Likewise.
12098
f45d6cfc 120992009-07-31 Bean <bean123ch@gmail.com>
12100
12101 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
12102 Don't change pv->disk if it's already set.
12103
12104 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
12105 (grub_raid_register): ... here.
12106 (grub_raid_rescan): Removed.
12107
12108 * include/grub/raid.h (grub_raid_rescan): Removed.
12109
12110 * util/grub-fstest.c: Remove include file <grub/raid.h>.
12111 (fstest): Replace grub_raid_rescan with module fini function followed
12112 by init function.
12113
12114 * util/grub-probe.c: Add include file <grub/raid.h>.
12115 (probe_raid_level): New function.
12116 (probe): Detect abstraction by walking the disk device, support two
12117 level of abstraction (LVM on RAID) when detecting partition map.
12118
24443b5a 121192009-07-31 Pavel Roskin <proski@gnu.org>
12120
12121 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
12122 to grub_zalloc(), it was erroneous.
12123 Reported by Bean <bean123ch@gmail.com>
12124
a275d9e7 121252009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
12126
12127 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 12128 embedding zone, not only the first one.
a275d9e7 12129
56c5a47f 121302009-07-29 Joe Auricchio <jauricchio@gmail.com>
12131
12132 * term/gfxterm.c (clear_char): New function.
12133 (grub_virtual_screen_setup): Use clear_char.
12134 (scroll_up): Likewise.
12135 (grub_virtual_screen_cls): Likewise.
12136
67bb323a 121372009-07-29 Felix Zielcke <fzielcke@z-51.de>
12138
12139 * util/deviceiter.c (get_acceleraid_disk_name): New static
12140 function.
12141 (grub_util_iterate_devices): Handle Accelraid devices.
12142 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
12143
388a7c75 121442009-07-28 Robert Millan <rmh.grub@aybabtu.com>
12145
12146 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
12147 separator for the suggested gfxpayload string (';' collides with the
12148 parser and needs escaping).
12149
3bb7abcf 121502009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
12151
12152 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
12153 Clear direction flag before jumping to OS.
12154 (grub_multiboot2_real_boot): Likewise.
12155
2ddd36d7 121562009-07-28 Felix Zielcke <fzielcke@z-51.de>
12157
12158 * util/i386/pc/grub-install: Fix parsing of --disk-module
12159 option.
12160
c521b62b 121612009-07-28 Felix Zielcke <fzielcke@z-51.de>
12162
12163 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
12164 when embedding.
12165
880e0a0c 121662009-07-26 Felix Zielcke <fzielcke@z-51.de>
12167
12168 * util/grub-mkconfig.in (package_version): New variable.
12169 Use it do display the version.
12170
2366e356 121712009-07-25 Felix Zielcke <fzielcke@z-51.de>
12172
12173 * kern/file.c (grub_file_open): Revert to previous check with
12174 grub_errno.
12175
7ad8c80e 121762009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12177
12178 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
12179 from help line. It's out of sync with code.
12180
72b9658b 121812009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12182
12183 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
12184 entries on failed boot.
12185
77435277 121862009-07-25 Felix Zielcke <fzielcke@z-51.de>
12187
12188 * kern/file.c (grub_file_open): Fix an error check.
12189
fcaa8b21 121902009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
12191
35d16c74 12192 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
12193 partition map couldn't be identified.
fcaa8b21 12194
48904cd1 121952009-07-23 Pavel Roskin <proski@gnu.org>
12196
ef3c317f 12197 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
12198 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
12199 case of little endian words becomes just an optimization.
12200 Respect const modifier.
ad8ea1f4 12201 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 12202
48904cd1 12203 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
12204 to avoid loss of upper bits if align is unsigned and shorter
12205 than addr.
12206
260c9a89 122072009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
12208
12209 UUID support for UFS
12210
12211 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
12212 (grub_ufs_uuid): New function.
12213 (grub_ufs_fs): add .uuid
12214
f76ce889 122152009-07-21 Pavel Roskin <proski@gnu.org>
12216
12217 * kern/dl.c (grub_dl_check_header): Make static.
12218
6a6cbcaf 122192009-07-21 Felix Zielcke <fzielcke@z-51.de>
12220
12221 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
12222 add drivemap for Vista. It breaks Windows 7.
12223
cffcddb2 122242009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
12225
12226 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
12227 128 bytes
12228
1ef44b80 122292009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12230
12231 Add BFS support
12232
12233 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
12234 (grub_fstest_SOURCES): Likewise.
12235 (pkglib_MODULES): Add befs.mod.
12236 (befs_mod_SOURCES): New variable.
12237 (befs_mod_CFLAGS): Likewise.
12238 (befs_mod_LDFLAGS): Likewise.
12239 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12240 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12241 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12242 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
12243 (grub_setup_SOURCES): Likewise.
12244 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12245 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12246 (grub_setup_SOURCES): Likewise.
12247 * fs/befs.c: New file.
12248 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
12249 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
12250 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
12251 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
12252 (B_KEY_INDEX_ALIGN): New declaration.
12253 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
12254 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
12255 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
12256 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
12257 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
12258 (grub_afs_mount) [MODE_BFS]: Likewise.
12259 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
12260 (grub_afs_fs): Use GRUB_AFS_FSNAME
12261 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
12262 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
12263 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
12264 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
12265
4f253044 122662009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
12267
12268 * util/getroot.c (find_root_device): Add support for MacOSX.
12269 * util/hostdisk.c: Likewise.
12270
57a55913 122712009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12272
12273 * font/font.c (find_glyph): Check whether a font is present to avoid
12274 segmentation fault.
75421ca9 12275
122762009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 12277
12278 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
12279
e98cd0c2 122802009-07-20 Pavel Roskin <proski@gnu.org>
12281
12282 * configure.ac: Trim excessively wordy excuses.
12283
1d2d169a 122842009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12285
12286 Add symlink, mtime and label support to AtheFS.
12287
12288 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
12289 (grub_afs_iterate_dir): Handle symlinks.
12290 (grub_afs_open): Use grub_afs_read_symlink.
12291 (grub_afs_dir): Likewise.
12292 Pass mtime.
12293 (grub_afs_label): New function.
12294 (grub_afs_fs): Add grub_afs_label.
12295 (grub_afs_read_symlink): New function.
12296
186f3189 122972009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12298
12299 Fix AtheFS support.
12300
12301 * fs/afs.c: Fix comments style.
12302 (grub_afs_blockrun): Declare as packed.
12303 (grub_afs_datastream): Likewise.
12304 (grub_afs_bnode): Likewise.
12305 (grub_afs_btree): Likewise.
12306 (grub_afs_sblock): Likewise.
12307 Declare `name' as char.
12308 (grub_afs_inode): Declare as packed.
12309 Change void *vnode to grub_uint32_t unused.
12310 (grub_afs_iterate_dir): Check that key_size is positive.
12311 (grub_afs_mount): Don't read superblock twice.
75421ca9 12312 (grub_afs_dir): Don't free node in case of error,
186f3189 12313 grub_fshelp_find_file already handles this.
12314 (grub_afs_open): Likewise.
12315
5680109e 123162009-07-19 Pavel Roskin <proski@gnu.org>
12317
12318 * Makefile.in: Remove LIBLZO and enable_lzo.
12319 * conf/i386-pc.rmk: Remove lzo support.
12320 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
12321 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
12322 support.
12323 * kern/i386/pc/lzo1x.S: Remove.
12324 * kern/i386/pc/startup.S: Remove lzo support.
12325 * util/i386/pc/grub-mkimage.c: Likewise.
12326
ac70fa32 123272009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
12328
12329 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
12330 * fs/xfs.c (grub_xfs_dir): Likewise.
12331 * fs/afs.c (grub_afs_dir): Likewise.
12332 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
12333 (grub_iso9660_open): Likewise.
12334 * fs/jfs.c (grub_jfs_open): Likewise.
12335 * fs/ext2.c (grub_ext2_dir): Likewise.
12336 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
12337 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 12338
eab58da2 123392009-07-16 Pavel Roskin <proski@gnu.org>
12340
d2838156 12341 * configure.ac: Never add "-c" to CFLAGS.
12342
55c70904 12343 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
12344
43e6200c 12345 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
12346 grub_cv_cc_efiemu should be used.
12347
ce7a733d 12348 * configure.ac: Typo fixes.
12349
eab58da2 12350 * kern/mm.c (grub_zalloc): New function.
12351 (grub_debug_zalloc): Likewise.
12352 * include/grub/mm.h: Declare grub_zalloc() and
12353 grub_debug_zalloc().
12354 * util/misc.c (grub_zalloc): New function.
12355 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
12356 instead of grub_malloc(), remove unneeded initializations.
12357 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
12358 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
12359 * commands/parttool.c (grub_cmd_parttool): Likewise.
12360 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
12361 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
12362 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
12363 * disk/usbms.c (grub_usbms_finddevs): Likewise.
12364 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
12365 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
12366 (grub_cmd_efiemu_pnvram): Likewise.
12367 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
12368 * fs/iso9660.c (grub_iso9660_mount): Likewise.
12369 (grub_iso9660_iterate_dir): Likewise.
12370 * fs/jfs.c (grub_jfs_opendir): Likewise.
12371 * fs/ntfs.c (list_file): Likewise.
12372 (grub_ntfs_mount): Likewise.
12373 * kern/disk.c (grub_disk_open): Likewise.
12374 * kern/dl.c (grub_dl_load_core): Likewise.
12375 * kern/elf.c (grub_elf_file): Likewise.
12376 * kern/env.c (grub_env_context_open): Likewise.
12377 (grub_env_set): Likewise.
12378 (grub_env_set_data_slot): Likewise.
12379 * kern/file.c (grub_file_open): Likewise.
12380 * kern/fs.c (grub_fs_blocklist_open): Likewise.
12381 * loader/i386/multiboot.c (grub_module): Likewise.
12382 * loader/xnu.c (grub_xnu_create_key): Likewise.
12383 (grub_xnu_create_value): Likewise.
12384 * normal/main.c (grub_normal_add_menu_entry): Likewise.
12385 (read_config_file): Likewise.
12386 * normal/menu_entry.c (make_screen): Likewise.
12387 * partmap/sun.c (sun_partition_map_iterate): Likewise.
12388 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
12389 * script/sh/script.c (grub_script_parse): Likewise.
12390 * video/bitmap.c (grub_video_bitmap_create): Likewise.
12391 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
12392 * video/readers/png.c (grub_png_output_byte): Likewise.
12393 (grub_video_reader_png): Likewise.
12394
830afef7 123952009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 12396
12397 Enable all targets that can be built by default
12398
830afef7 12399 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 12400 grub-mkfont and grub-fstest if they can be built
12401
ee293aee 124022009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
12403
12404 Fix hang and segmentation fault in grub-emu-usb
12405
12406 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
12407 * util/usb.c (grub_libusb_devices): likewise
12408 (grub_libusb_init): rename to ...
12409 (GRUB_MOD_INIT (libusb)):...this
12410 (grub_libusb_fini): rename to ..
12411 (GRUB_MOD_FINI (libusb)):...this
12412 * disk/usbms.c (grub_usbms_transfer): fix retry logic
12413 * include/grub/disk.h (grub_raid_init): removed, it's useless
12414 (grub_raid_fini): likewise
12415 (grub_lvm_init): likewise
12416 (grub_lvm_fini): likewise
12417 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
12418 by grub_init_all
12419
94414221 124202009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
12421
12422 Fix libusb
12423
12424 * Makefile.in (LIBUSB): new macro
12425 * genmk.rb (Utility/print_tail): new method
12426 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
12427 (top level): call util.print_tail at the end.
12428
59ade63d 124292009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
12430
12431 Make FreeBSD accept zpool.cache
12432
12433 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
12434 type is /boot/zfs/zpool.cache
12435
a58da8c7 124362009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
12437
12438 Fix 64-bit efiemu
12439
12440 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
12441 correct wrong typedef
12442 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
12443
20591577 124442009-07-15 Pavel Roskin <proski@gnu.org>
12445
560ca572 12446 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
12447 * kern/disk.c (struct grub_disk_cache): Likewise.
12448
e8e8e4fd 12449 * commands/probe.c (options): Typo fix.
12450
fde24e10 12451 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
12452 Increase to 0x5a to accommodate FAT32. Adjust other offsets
12453 accordingly.
12454 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
12455
379c54c1 12456 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
12457 the end of "Error" to make the message more readable.
12458
7bd8f5bf 12459 * boot/i386/pc/boot.S (kernel_segment): Remove.
12460 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
12461 for destination.
12462
40b132c5 12463 * boot/i386/pc/boot.S (boot_version): Remove.
12464 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
12465 Remove.
12466
20591577 12467 * include/grub/i386/pc/boot.h: Sort all offsets.
12468 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
12469 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
12470 * boot/i386/pc/boot.S: Assert location of every offset listed in
12471 include/grub/i386/pc/boot.h.
12472
2df32b2c 124732009-07-13 Pavel Roskin <proski@gnu.org>
12474
44b5d879 12475 * include/grub/i386/coreboot/machine.h: Rename
12476 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
12477 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
12478 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
12479
17dc3751 12480 * kern/dl.c: Force native word size to suppress warnings when
12481 compiling grub-emu.
12482
2df32b2c 12483 * kern/device.c (grub_device_iterate): Change struct part_ent to
12484 hold the name, not a pointer to it. Use one grub_malloc() per
12485 partition, not two. Free partition_name if grub_malloc() fails.
12486 Set ents to NULL only before grub_partition_iterate() is called.
12487
75c59f59 124882009-07-11 Bean <bean123ch@gmail.com>
12489
12490 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
12491 childname.
12492
0ae1bf88 124932009-07-10 Bean <bean123ch@gmail.com>
124942009-07-10 Robert Millan <rmh.grub@aybabtu.com>
12495
12496 * kern/ieee1275/openfw.c (grub_children_iterate)
12497 (grub_devalias_iterate): Fix size evaluation for property or path
12498 strings, which was broken since r2132.
12499
8279cade 125002009-07-07 Pavel Roskin <proski@gnu.org>
12501
7d8a52d3 12502 * commands/search.c (search_file): Merge into ...
12503 (search_fs): ... this. Accept search type as argument.
12504 (grub_cmd_search): Pass search type to search_fs().
12505
25f9a05a 12506 * include/grub/util/console.h: New file.
12507 * util/console.c: Use it instead of grub/machine/console.h.
12508 * util/grub-emu.c: Likewise.
12509
8279cade 12510 * lib/arg.c (find_long_option): Remove.
12511 (find_long): Add `len' argument, make `s' const char *.
12512 (grub_arg_parse): Parse long options in place, not in a
12513 temporary buffer.
12514
4a11b60f 125152009-07-06 Pavel Roskin <proski@gnu.org>
12516
99f68041 12517 * commands/search.c (search_fs): Fix potential NULL pointer
12518 dereference.
12519
4a11b60f 12520 * commands/search.c (search_fs): Replace QUID macro with quid_fn
12521 function pointer.
12522
e110f4de 125232009-07-06 Daniel Mierswa <impulze@impulze.org>
12524
12525 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
12526 comparison.
12527
46eeb6a2 125282009-07-05 Pavel Roskin <proski@gnu.org>
12529
bab74958 12530 * include/grub/i386/linux.h (struct linux_kernel_params):
12531 Restore padding3, it's still needed.
12532
46eeb6a2 12533 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
12534 FreeBSD.
12535 * util/osdetect.lua: Likewise.
12536
b4a1dc79 125372009-07-05 Bean <bean123ch@gmail.com>
12538
12539 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
12540
12541 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
12542 (grub_lua_getenv): Likewise.
12543 (grub_lua_setenv): Likewise.
12544 (save_errno): New function.
12545 (push_result): Likewise.
12546 (grub_lua_enum_device): Likewise.
12547 (grub_lua_enum_file): Likewise.
12548 (grub_lua_file_open): Likewise.
12549 (grub_lua_file_close): Likewise.
12550 (grub_lua_file_seek): Likewise.
12551 (grub_lua_file_read): Likewise.
12552 (grub_lua_file_getline): Likewise.
12553 (grub_lua_file_getsize): Likewise.
12554 (grub_lua_file_getpos): Likewise.
12555 (grub_lua_file_eof): Likewise.
12556 (grub_lua_file_exist): Likewise.
12557 (grub_lua_add_menu): Likewise.
12558
12559 * script/lua/grub_lua.h (isupper): New inline function.
12560 (islower): Likewise.
12561 (ispunct): Likewise.
12562 (isxdigit): Likewise.
12563 (strcspn): Change to normal function.
12564 (strpbkr): New function declaration.
12565 (memchr): Likewise.
12566
12567 * script/lua/grub_main.c (scan_str): New function.
12568 (strcspn): Likewise.
12569 (strpbrk): Likewise.
12570 (memchr): Likewise.
12571
12572 * script/lua/linit.c (lualibs): Enable the string library.
12573
12574 * util/osdetect.lua: New file.
12575
2da92295 125762009-07-04 Robert Millan <rmh.grub@aybabtu.com>
12577
12578 * include/grub/i386/linux.h (struct linux_kernel_params): Add
12579 `capabilities' member.
12580
b2582ec9 125812009-07-02 Pavel Roskin <proski@gnu.org>
12582
12583 * genparttoollist.sh: Add missing newline at the end.
12584
32622956 125852009-07-01 Pavel Roskin <proski@gnu.org>
12586
87a7339e 12587 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
12588
d23af54e 12589 * util/hostdisk.c (open_device): Remove `const' from
12590 `sysctl_size', as sysctlbyname() can change it (in this case it
12591 doesn't actually happen).
12592
c94b18a9 12593 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
12594 using signed long int constants.
12595
c6cd3ef0 12596 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
12597 constant to avoid a warning on FreeBSD.
12598
0df63420 12599 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
12600 where it's needed.
12601
999577f1 12602 * Makefile.in: Install include/grub/machine symlink.
12603
6f41557f 12604 * Makefile.in: When installing symlinks, use "cp -fR", which
12605 works on FreeBSD and MacOSX.
12606 From Yves Blusseau <cl7m42e02@sneakemail.com>
12607
c8d22988 12608 * kern/dl.c (grub_dl_resolve_symbol): Make static.
12609 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
12610
1b96e952 12611 * util/misc.c: Move grub_reboot() and grub_halt() ...
12612 * util/grub-emu.c: ... here. Make main_env static.
12613 * include/grub/util/misc.h: Remove main_env.
12614
2ef0084d 12615 * kern/mm.c: Use correct format to print size_t.
12616
32622956 12617 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
12618 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
12619 * kern/powerpc/dl.c: Likewise.
12620 * kern/sparc64/dl.c: Likewise.
12621 * kern/x86_64/dl.c: Likewise.
12622
3f7f0cd0 126232009-07-01 Robert Millan <rmh.grub@aybabtu.com>
12624
12625 Fix grub-emu build on sparc64-ieee1275.
12626
75421ca9 12627 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 12628 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
12629
211d06b5 126302009-07-01 Robert Millan <rmh.grub@aybabtu.com>
12631
12632 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
12633 (grub_reboot, grub_halt): New functions.
12634
12635 * util/i386/pc/misc.c: Delete. Update all users.
12636 * util/sparc64/ieee1275/misc.c: Likewise.
12637 * util/powerpc/ieee1275/misc.c: Likewise.
12638
aaf53e3c 126392009-07-01 Robert Millan <rmh.grub@aybabtu.com>
12640
12641 * conf/i386.rmk (setjmp_mod_SOURCES)
12642 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
12643 * conf/common.rmk (setjmp_mod_SOURCES)
12644 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
12645 to use $(target_cpu).
12646 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
12647 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
12648 * conf/powerpc-ieee1275.rmk: Likewise.
12649 * conf/sparc64-ieee1275.rmk: Likewise.
12650
12651 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
12652 $(target_cpu) for kern/$(target_cpu)/dl.c.
12653 * conf/i386-efi.rmk: Likewise.
12654 * conf/i386-ieee1275.rmk: Likewise.
12655 * conf/x86_64-efi.rmk: Likewise.
12656 * conf/i386-coreboot.rmk: Likewise.
12657 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
12658 $(target_cpu) for kern/$(target_cpu)/dl.c and for
12659 kern/$(target_cpu)/cache.S.
12660 * conf/sparc64-ieee1275.rmk: Likewise.
12661
a337130b 126622009-07-01 Robert Millan <rmh.grub@aybabtu.com>
12663
12664 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
12665 type to `grub_uint8_t', and adjust `padding9' accordingly.
12666
c6fe4d53 126672009-06-29 Robert Millan <rmh.grub@aybabtu.com>
12668
b09db61d 12669 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
12670
c6fe4d53 12671 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
12672 assembly in final jump, using register constraints.
12673
b09db61d 12674 (grub_linux_boot): For text mode, initialize `have_vga' using
12675 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
12676
12677 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
12678 right before the final jump.
12679
12680 Set `video_mode' to 0x3.
12681
12682 Document initialization of `video_page', `video_mode' and
12683 `video_ega_bx'.
12684
28333ad0 126852009-06-29 Robert Millan <rmh.grub@aybabtu.com>
12686
12687 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
12688 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 12689 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 12690
02164e1b 126912009-06-29 Robert Millan <rmh.grub@aybabtu.com>
12692
12693 Fix build on Debian / sparc.
12694
12695 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
12696
18b6c557 126972009-06-28 Pavel Roskin <proski@gnu.org>
12698
85f2aab6 12699 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
12700 fix a warning.
12701
18b6c557 12702 * util/grub.d/10_linux.in: Match SUSE style initrd names.
12703
ad760f81 127042009-06-27 Robert Millan <rmh.grub@aybabtu.com>
12705
12706 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
12707 `err'.
12708
87a4623b 127092009-06-27 Robert Millan <rmh.grub@aybabtu.com>
12710
12711 Revert r2338.
12712
12713 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
12714 file can't be opened. grub_file_open() is already supposed to set
75421ca9 12715 grub_errno / grub_errmsg appropriately.
87a4623b 12716 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12717
8231fb77 127182009-06-27 Pavel Roskin <proski@gnu.org>
127192009-06-27 Robert Millan <rmh.grub@aybabtu.com>
12720
12721 * include/grub/dl.h: Include grub/elf.h.
12722 (struct grub_dl): Add symtab field.
12723 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
12724 GRUB_MODULES_MACHINE_READONLY.
12725 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
12726 of the header for read-only modules.
12727 (grub_dl_unload): Free mod->symtab for read-only modules.
12728 * kern/i386/dl.c: Use mod->symtab.
12729 * kern/powerpc/dl.c: Likewise.
12730 * kern/sparc64/dl.c: Likewise.
12731 * kern/x86_64/dl.c: Likewise.
12732
12733 * conf/i386-qemu.rmk: New file.
12734 * kern/i386/qemu/startup.S: Likewise.
12735 * kern/i386/qemu/mmap.c: Likewise.
12736 * boot/i386/qemu/boot.S: Likewise.
12737 * include/grub/i386/qemu/time.h: Likewise.
12738 * include/grub/i386/qemu/serial.h: Likewise.
12739 * include/grub/i386/qemu/kernel.h: Likewise.
12740 * include/grub/i386/qemu/console.h: Likewise.
12741 * include/grub/i386/qemu/boot.h: Likewise.
12742 * include/grub/i386/qemu/init.h: Likewise.
12743 * include/grub/i386/qemu/machine.h: Likewise.
12744 * include/grub/i386/qemu/loader.h: Likewise.
12745 * include/grub/i386/qemu/memory.h: Likewise.
12746
12747 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
12748 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
12749 [qemu] (pkglib_IMAGES): Add `boot.img'.
12750 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
12751 [qemu] (boot_img_FORMAT): New variables.
12752 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
12753 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
12754 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
12755 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
12756 [qemu] (kernel_img_FORMAT): New variables.
12757
12758 * configure.ac: Recognise `i386-qemu'.
12759
12760 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
12761 (for no compression).
12762 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
12763 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
12764 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
12765 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
12766 ifdefs).
12767
97fe384e 127682009-06-27 Pavel Roskin <proski@gnu.org>
12769
12770 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
12771 read.
12772 * efiemu/prepare32.c: Likewise.
12773 * efiemu/prepare64.c: Likewise.
12774
c402ab17 127752009-06-26 Pavel Roskin <proski@gnu.org>
12776
12777 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
12778 * include/grub/elf.h: Define symbols without "32" or "64" based
12779 on GRUB_TARGET_WORDSIZE.
12780 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
12781 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
12782 ELF definitions.
12783 * efiemu/loadcore64.c: Likewise.
12784 * loader/i386/bsd32.c: Likewise.
12785 * loader/i386/bsd64.c: Likewise.
12786 * kern/dl.c: Remove own ELF definitions.
12787 * util/i386/efi/grub-mkimage.c: Likewise.
12788
9bbdfd4d 127892009-06-23 Robert Millan <rmh.grub@aybabtu.com>
12790
12791 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
12792 segment 0x0 unconditionally, because the reference generated by
12793 GAS is an absolute address.
12794
a42ce6e9 127952009-06-22 Robert Millan <rmh.grub@aybabtu.com>
12796
12797 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
12798 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
12799
c952cf92 128002009-06-22 Robert Millan <rmh.grub@aybabtu.com>
12801
12802 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
12803 indexes. Check for -f explicitly.
cc3752ad 12804 (search_file): Improve error message.
12805 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 12806
132a0a59 128072009-06-22 Robert Millan <rmh.grub@aybabtu.com>
12808
12809 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
12810 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
12811
387a140c 128122009-06-22 Robert Millan <rmh.grub@aybabtu.com>
12813
12814 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
12815 * conf/i386-ieee1275.rmk: Likewise.
12816 * conf/i386-coreboot.rmk: Likewise.
12817
12818 * kern/i386/pc/startup.S (grub_stop): Remove function.
12819 * kern/i386/ieee1275/startup.S: Likewise.
12820 * kern/i386/coreboot/startup.S: Likewise.
12821 * kern/i386/misc.S (grub_stop): New function.
12822
41da9665 128232009-06-22 Robert Millan <rmh.grub@aybabtu.com>
12824
12825 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
12826 * kern/i386/realmode.S (real_to_prot): ... to here.
12827
bf337234 128282009-06-22 Robert Millan <rmh.grub@aybabtu.com>
12829
12830 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
12831 with `kernel.img'.
12832 (kernel_elf_SOURCES): Rename to ...
12833 (kernel_img_SOURCES): ... this.
12834 (kernel_elf_HEADERS): Rename to ...
12835 (kernel_img_HEADERS): ... this. Update all users.
12836 (kernel_elf_ASFLAGS): Rename to ...
12837 (kernel_img_ASFLAGS): ... this.
12838 (kernel_elf_CFLAGS): Rename to ...
12839 (kernel_img_CFLAGS): ... this.
12840 (kernel_elf_LDFLAGS): Rename to ...
12841 (kernel_img_LDFLAGS): ... this.
12842 * conf/i386-coreboot.rmk: Likewise.
12843 * conf/powerpc-ieee1275.rmk: Likewise.
12844
12845 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
12846 with "kernel.img".
12847
f52196ff 128482009-06-21 Pavel Roskin <proski@gnu.org>
12849
c3cee413 12850 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
12851 to match nested functions.
12852 * loader/sparc64/ieee1275/linux.c: Likewise.
12853
f52196ff 12854 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
12855
58750afc 128562009-06-21 Robert Millan <rmh.grub@aybabtu.com>
12857
12858 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
12859 all i386 platforms.
12860
15355c7d 128612009-06-21 Robert Millan <rmh.grub@aybabtu.com>
12862
12863 Fix asm file handling on ELF, and remove workarounds.
12864
12865 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 12866 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 12867 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
12868 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
12869
3f3ec72b 128702009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
12871
12872 Load BSD ELF modules
12873
12874 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
12875 and loader/i386/bsd64.c
12876 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
12877 (FREEBSD_MODTYPE_ELF_MODULE): New definition
12878 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
12879 (grub_freebsd_load_elfmodule32): New declaration
12880 (grub_freebsd_load_elfmoduleobj64): Likewise
12881 (grub_freebsd_load_elf_meta32): Likewise
12882 (grub_freebsd_load_elf_meta64): Likewise
12883 (grub_freebsd_add_meta): Likewise
12884 (grub_freebsd_add_meta_module): Likewise
12885 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
12886 (grub_freebsd_add_meta_module): Likewise and move module-specific
12887 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
12888 (grub_cmd_freebsd): Add elf-kernel specific parts
12889 based on grub_freebsd_add_meta_module
12890 (grub_cmd_freebsd_module): Add type parsing moved from
12891 grub_freebsd_add_meta_module
12892 (grub_cmd_freebsd_module_elf): New function
12893 (cmd_freebsd_module_elf): New variable
12894 (GRUB_MOD_INIT): Register freebsd_module_elf
12895 * loader/i386/bsd32.c: New file
12896 * loader/i386/bsd64.c: Likewise
12897 * loader/i386/bsdXX.c: Likewise
12898 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
12899 (grub_elf64_load): Likewise
12900 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
12901 All users updated
12902 (grub_elf64_load_hook_t): Likewise
12903
0db15301 129042009-06-21 Colin Watson <cjwatson@ubuntu.com>
12905
12906 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
12907 variable.
12908 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
12909 don't write a menu entry for recovery mode.
12910
546796c1 129112009-06-20 Robert Millan <rmh.grub@aybabtu.com>
12912
12913 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
12914 after it's no longer needed.
12915
cd7310d5 129162009-06-20 Robert Millan <rmh.grub@aybabtu.com>
12917
12918 * include/grub/i386/loader.h (grub_linux_prot_size)
12919 (grub_linux_tmp_addr, grub_linux_real_addr)
12920 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
12921 GRUB_MACHINE_PCBIOS.
12922 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
12923 common grub_util_info() call to ...
12924 (generate_image): ... here.
12925 Fix use of uninitialized memory, comparison of signed with
12926 unsigned integers and memory leak.
12927 Remove bogus module address message.
12928
ab32d3b5 129292009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12930
12931 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
12932 grub_raid_register
12933 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
12934
024ef597 129352009-06-19 Pavel Roskin <proski@gnu.org>
12936
12937 * configure.ac: Remove stray AC_MSG_CHECKING.
12938
3ac72b51 129392009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
12940
12941 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 12942
e14cd814 129432009-06-18 Pavel Roskin <proski@gnu.org>
12944
12945 * conf/common.rmk: Add fs_file.mod.
12946 * disk/fs_file.c: New file.
12947 * include/grub/disk.h (enum grub_disk_dev_id): Add
12948 GRUB_DISK_DEVICE_FILE_ID.
12949
26586d98 129502009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
12951
12952 Fix build with Apple's toolchain. Part 2
12953
12954 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
12955 a fake start
12956
26de2bcd 129572009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
12958
12959 Fix build with Apple's toolchain. Part 1
12960
12961 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
12962 for long calls
12963 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 12964 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 12965 Apple's toolchain
12966
09b3490b 129672009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
12968
12969 Fix warnings
12970
12971 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
12972 (decomp_block): initialize ch
12973 use grub_memcpy instead of memcpy
12974
c22a006a 129752009-06-17 Pavel Roskin <proski@gnu.org>
12976
d3638678 12977 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
12978 version, use declarations needed to use vga_text as the startup
12979 console.
12980
c22a006a 12981 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
12982 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
12983 the kernel.
12984 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
12985 and grub_at_keyboard_fini(), it's done on module load and
12986 unload.
12987
05b129e0 129882009-06-17 Felix Zielcke <fzielcke@z-51.de>
12989
12990 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
12991 file can't be found.
12992 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12993
cf24ed9e 129942009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
12995
12996 Fix newline handling
12997
12998 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 12999 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 13000 (grub_script_yylex): don't segfault on unterminated script
13001 newline terminates command and variable
13002
74aa8e4b 130032009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
13004
13005 avoid double grub_adjust_range call. Bug reported by David Simner
13006
13007 * kern/disk.c (grub_disk_write): change to raw disk access before
13008 calling disk_read
13009
1bd265f3 130102009-06-17 Colin Watson <cjwatson@ubuntu.com>
13011
13012 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
13013 spaces, for the benefit of help2man.
13014 * util/i386/efi/grub-mkimage.c (usage): Likewise.
13015
a2d08c06 130162009-06-16 Pavel Roskin <proski@gnu.org>
13017
13018 * kern/i386/halt.c: Include grub/machine/init.h.
13019 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
13020
b97bcb19 130212009-06-16 Felix Zielcke <fzielcke@z-51.de>
13022
13023 * util/grub.d/30_os-prober.in: Use ${root} in the generated
13024 drivemap menuentry.
13025
0644f96c 130262009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
13027
13028 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
13029 `echo' command.
13030
3ef17a2e 130312009-06-16 Pavel Roskin <proski@gnu.org>
13032
13033 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
13034 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
13035 save %dx, we only need %dl and we never change it.
13036 * boot/i386/pc/cdboot.S: Don't set the root drive.
13037 * boot/i386/pc/pxeboot.S: Likewise.
13038 * include/grub/i386/pc/boot.h: Remove
13039 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
13040 GRUB_BOOT_MACHINE_DRIVE_CHECK.
13041 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
13042 * kern/i386/pc/init.c (make_install_device): Remove references
13043 to grub_root_drive.
13044 * kern/i386/pc/startup.S: Likewise.
13045 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
13046
693fe637 130472009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
13048
13049 xnu_uuid command
13050
13051 * commands/xnu_uuid.c: new file
13052 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
13053 (xnu_uuid_mod_SOURCES): new variable
13054 (xnu_uuid_mod_CFLAGS): likewise
13055 (xnu_uuid_mod_LDFLAGS): likewise
13056 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
13057 * conf/i386-ieee1275.rmk: likewise
13058 * conf/i386-pc.rmk: likewise
13059 * conf/powerpc-ieee1275.rmk: likewise
13060 * conf/sparc64-ieee1275.rmk: likewise
13061 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
13062
c9da87d0 130632009-06-16 Pavel Roskin <proski@gnu.org>
13064
13065 * configure.ac: Avoid '==' in test command, it's not portable.
13066
9c6f4596 130672009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
13068
13069 Probe command
13070
13071 * commands/probe.c: new file
13072 * conf/common.rmk (pkglib_MODULES): add probe.mod
13073 (probe_mod_SOURCES): new variable
13074 (probe_mod_CFLAGS): likewise
13075 (probe_mod_LDFLAGS): likewise
13076 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
13077 * conf/i386-ieee1275.rmk: likewise
13078 * conf/i386-pc.rmk: likewise
13079 * conf/powerpc-ieee1275.rmk: likewise
13080 * conf/sparc64-ieee1275.rmk: likewise
13081
70b7f9fd 130822009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
13083
13084 Fix handling of string like \"hello\" and "a
13085 b"
13086
13087 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
13088 (grub_script_yylex): fix parsing of quoting, escaping and newline
13089
71c79a6b 130902009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
13091
dd74360c 13092 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 13093 handling
dd74360c 13094
0644f96c 130952009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 13096
13097 * util/grub-mkconfig.in: Fix parsing of --output option.
13098
e40893c3 130992009-06-12 Pavel Roskin <proski@gnu.org>
13100
13101 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
13102 genmk.rb don't need to be generated or installed.
13103
3a1acfe2 131042009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13105
13106 * commands/i386/pc/drivemap_int13h.S: add more comments
13107
3a4575d4 131082009-06-11 Pavel Roskin <proski@gnu.org>
13109
0658e928 13110 * Makefile.in (uninstall): Uninstall manuals.
13111
ca0388f0 13112 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
13113 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
13114 and update-grub_lib in two places.
13115 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
13116
e3b27c39 13117 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
13118 a compiler warning.
13119
3a4575d4 13120 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
13121 `entry_lo' to fix variable shadowing.
13122
af1f4f55 131232009-06-11 Christian Franke <franke@computer.org>
13124
13125 * kern/misc.c (__enable_execute_stack): Add missing return type
13126 to prevent gcc warning.
13127
5225e649 131282009-06-11 Felix Zielcke <fzielcke@z-51.de>
13129
13130 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
13131
7d83bd47 131322009-06-11 Pavel Roskin <proski@gnu.org>
13133
c1cb63ba 13134 * Makefile.in: Don't rely on any scripts being executable.
13135 Always use $(SHELL) to run shell scripts.
13136
7d83bd47 13137 * configure.ac: Always define ___main if using -nostdlib. This
13138 fixes tests on Cygwin.
13139
948f48e7 131402009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
13141
13142 UDF fix
13143
7d83bd47 13144 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 13145 is in bytes and not in blocks
7d83bd47 13146
8ada9bc1 131472009-06-11 Pavel Roskin <proski@gnu.org>
13148
13149 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
13150 warning.
13151
25ad2323 131522009-06-11 Felix Zielcke <fzielcke@z-51.de>
13153
13154 * util/grub.d/30_os-prober.in: Fix a comment. Source
13155 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
13156 to set the root device. Place drivemap command in the generated
13157 chain entry.
13158
e65acb0c 131592009-06-11 Pavel Roskin <proski@gnu.org>
13160
13161 * configure.ac: Remove host_m32. Issues with 64-bit utilities
13162 have long been resolved.
13163
f285fe2d 131642009-06-11 Colin Watson <cjwatson@ubuntu.com>
13165
bd47b0b5 13166 * util/grub.d/10_linux.in: Capitalise "Linux".
13167
f285fe2d 13168 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
13169
a0c62e4e 131702009-06-11 Pavel Roskin <proski@gnu.org>
13171
b6783cb2 13172 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
13173 fix a gcc warning and ensure that the function won't ever exit.
13174
dde032e8 13175 * kern/i386/ieee1275/init.c: Add missing prototype for
13176 grub_stop_floppy().
13177
22cd079d 13178 * loader/ieee1275/multiboot2.c [__i386__]: Include
13179 grub/cpu/multiboot.h.
13180
a0c62e4e 13181 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
13182 casts to short - they are not portable and cause warnings. Fix
13183 use of uninitialized values in input_buf. Use ARRAY_SIZE.
13184
63963d17 131852009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
13186
13187 Drivemap fixes
13188
13189 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
13190 new function
13191 (grub_get_root_biosnumber_saved): new variable
13192 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
13193 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 13194 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 13195 %dx after the call if necessary
13196 * conf/common.rmk (pkglib_MODULES): remove boot.mod
13197 (boot_mod_SOURCES): remove
13198 (boot_mod_CFLAGS): remove
13199 (boot_mod_LDFLAGS): remove
13200 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
13201 (boot_mod_SOURCES): new variable
13202 (boot_mod_CFLAGS): likewise
13203 (boot_mod_LDFLAGS): likewise
13204 * conf/i386-efi.rmk: likewise
13205 * conf/i386-ieee1275.rmk: likewise
13206 * conf/i386-pc.rmk: likewise
13207 * conf/powerpc-ieee1275.rmk: likewise
13208 * conf/sparc64-ieee1275.rmk: likewise
13209 * conf/x86_64-efi.rmk: likewise
13210 * include/grub/i386/pc/biosnum.h: new file
13211 * lib/i386/pc/biosnum.c: likewise
13212 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
13213 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
13214 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 13215
33abf7ae 132162009-06-10 Pavel Roskin <proski@gnu.org>
13217
5ac35b35 13218 * io/gzio.c (test_header): Don't reuse one buffer for all data.
13219 Use separate variables. Read only the file size at the end, but
13220 not the checksum that we don't use.
13221
5c5215d5 13222 * kern/file.c (grub_file_read): Use void pointer for the buffer.
13223 Adjust all callers.
13224
27d5fef7 13225 * kern/ieee1275/openfw.c: Remove libc includes.
13226 * kern/ieee1275/cmain.c: Likewise.
13227 * include/grub/ieee1275/ieee1275.h: Likewise.
13228
33abf7ae 13229 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
13230 compiler warnings.
13231
19d50c2b 132322009-06-10 Felix Zielcke <fzielcke@z-51.de>
13233
13234 * Makefile.in: Remove all trailing whitespace.
13235 * conf/i386-pc.rmk: Likewise.
13236 * conf/powerpc-ieee1275.rmk: Likewise.
13237 * conf/sparc64-ieee1275.rmk: Likewise.
13238 * docs/grub.texi: Likewise.
13239 * docs/texinfo.tex: Likewise.
13240 * disk/fs_uuid.c: Likewise.
13241 * disk/lvm.c: Likewise.
13242 * disk/scsi.c: Likewise.
13243 * disk/ata.c: Likewise.
13244 * disk/ieee1275/ofdisk.c: Likewise.
13245 * disk/i386/pc/biosdisk.c: Likewise.
13246 * disk/host.c: Likewise.
13247 * disk/raid.c: Likewise.
13248 * disk/efi/efidisk.c: Likewise.
13249 * disk/usbms.c: Likewise.
13250 * disk/memdisk.c: Likewise.
13251 * disk/loopback.c: Likewise.
13252 * kern/powerpc/dl.c: Likewise.
13253 * kern/device.c: Likewise.
13254 * kern/dl.c: Likewise.
13255 * kern/sparc64/dl.c: Likewise.
13256 * kern/ieee1275/ieee1275.c: Likewise.
13257 * kern/term.c: Likewise.
13258 * kern/fs.c: Likewise.
13259 * kern/i386/dl.c: Likewise.
13260 * kern/i386/pc/startup.S: Likewise.
13261 * kern/i386/pc/init.c: Likewise.
13262 * kern/i386/pc/mmap.c: Likewise.
13263 * kern/i386/pc/lzo1x.S: Likewise.
13264 * kern/i386/ieee1275/init.c: Likewise.
13265 * kern/i386/realmode.S: Likewise.
13266 * kern/i386/tsc.c: Likewise.
13267 * kern/partition.c: Likewise.
13268 * kern/corecmd.c: Likewise.
13269 * kern/file.c: Likewise.
13270 * kern/efi/efi.c: Likewise.
13271 * kern/efi/init.c: Likewise.
13272 * kern/efi/mm.c: Likewise.
13273 * kern/main.c: Likewise.
13274 * kern/err.c: Likewise.
13275 * kern/env.c: Likewise.
13276 * kern/disk.c: Likewise.
13277 * kern/generic/millisleep.c: Likewise.
13278 * kern/generic/rtc_get_time_ms.c: Likewise.
13279 * kern/misc.c: Likewise.
13280 * kern/parser.c: Likewise.
13281 * genmk.rb: Likewise.
13282 * configure.ac: Likewise.
13283 * boot/i386/pc/diskboot.S: Likewise.
13284 * boot/i386/pc/pxeboot.S: Likewise.
13285 * boot/i386/pc/boot.S: Likewise.
13286 * boot/i386/pc/lnxboot.S: Likewise.
13287 * boot/i386/pc/cdboot.S: Likewise.
13288 * parttool/pcpart.c: Likewise.
13289 * video/readers/tga.c: Likewise.
13290 * video/video.c: Likewise.
13291 * video/bitmap.c: Likewise.
13292 * lib/envblk.c: Likewise.
13293 * lib/i386/setjmp.S: Likewise.
13294 * fs/xfs.c: Likewise.
13295 * fs/afs.c: Likewise.
13296 * fs/fat.c: Likewise.
13297 * fs/ntfs.c: Likewise.
13298 * fs/udf.c: Likewise.
13299 * fs/affs.c: Likewise.
13300 * fs/iso9660.c: Likewise.
13301 * fs/hfs.c: Likewise.
13302 * fs/fshelp.c: Likewise.
13303 * fs/ext2.c: Likewise.
13304 * fs/jfs.c: Likewise.
13305 * fs/reiserfs.c: Likewise.
13306 * fs/hfsplus.c: Likewise.
13307 * fs/minix.c: Likewise.
13308 * fs/cpio.c: Likewise.
13309 * fs/sfs.c: Likewise.
13310 * fs/ufs.c: Likewise.
13311 * efiemu/prepare.c: Likewise.
13312 * efiemu/loadcore_common.c: Likewise.
13313 * efiemu/runtime/efiemu.sh: Likewise.
13314 * efiemu/runtime/efiemu.S: Likewise.
13315 * efiemu/runtime/efiemu.c: Likewise.
13316 * efiemu/pnvram.c: Likewise.
13317 * efiemu/main.c: Likewise.
13318 * efiemu/i386/pc/cfgtables.c: Likewise.
13319 * efiemu/i386/loadcore64.c: Likewise.
13320 * efiemu/i386/loadcore32.c: Likewise.
13321 * efiemu/loadcore.c: Likewise.
13322 * efiemu/symbols.c: Likewise.
13323 * efiemu/mm.c: Likewise.
13324 * include/grub/autoefi.h: Likewise.
13325 * include/grub/datetime.h: Likewise.
13326 * include/grub/term.h: Likewise.
13327 * include/grub/hfs.h: Likewise.
13328 * include/grub/lvm.h: Likewise.
13329 * include/grub/i386/tsc.h: Likewise.
13330 * include/grub/i386/linux.h: Likewise.
13331 * include/grub/i386/xnu.h: Likewise.
13332 * include/grub/i386/efiemu.h: Likewise.
13333 * include/grub/i386/pc/biosdisk.h: Likewise.
13334 * include/grub/i386/pc/memory.h: Likewise.
13335 * include/grub/i386/pc/vbe.h: Likewise.
13336 * include/grub/parttool.h: Likewise.
13337 * include/grub/video.h: Likewise.
13338 * include/grub/memory.h: Likewise.
13339 * include/grub/fs.h: Likewise.
13340 * include/grub/partition.h: Likewise.
13341 * include/grub/xnu.h: Likewise.
13342 * include/grub/efi/api.h: Likewise.
13343 * include/grub/efi/pe32.h: Likewise.
13344 * include/grub/efi/memory.h: Likewise.
13345 * include/grub/multiboot.h: Likewise.
13346 * include/grub/usbdesc.h: Likewise.
13347 * include/grub/multiboot2.h: Likewise.
13348 * include/grub/acpi.h: Likewise.
13349 * include/grub/efiemu/efiemu.h: Likewise.
13350 * include/grub/disk.h: Likewise.
13351 * include/grub/ieee1275/ieee1275.h: Likewise.
13352 * include/grub/net.h: Likewise.
13353 * include/grub/machoload.h: Likewise.
13354 * include/grub/macho.h: Likewise.
13355 * include/multiboot.h: Likewise.
13356 * genmoddep.awk: Likewise.
13357 * normal/main.c: Likewise.
13358 * normal/menu_entry.c: Likewise.
13359 * normal/menu_viewer.c: Likewise.
13360 * normal/completion.c: Likewise.
13361 * normal/cmdline.c: Likewise.
13362 * normal/misc.c: Likewise.
13363 * normal/datetime.c: Likewise.
13364 * bus/usb/usbtrans.c: Likewise.
13365 * bus/usb/ohci.c: Likewise.
13366 * bus/usb/uhci.c: Likewise.
13367 * bus/usb/usb.c: Likewise.
13368 * mmap/efi/mmap.c: Likewise.
13369 * mmap/i386/pc/mmap_helper.S: Likewise.
13370 * mmap/i386/pc/mmap.c: Likewise.
13371 * mmap/i386/mmap.c: Likewise.
13372 * mmap/i386/uppermem.c: Likewise.
13373 * mmap/mmap.c: Likewise.
13374 * commands/acpi.c: Likewise.
13375 * commands/echo.c: Likewise.
13376 * commands/blocklist.c: Likewise.
13377 * commands/loadenv.c: Likewise.
13378 * commands/usbtest.c: Likewise.
13379 * commands/boot.c: Likewise.
13380 * commands/parttool.c: Likewise.
13381 * commands/search.c: Likewise.
13382 * commands/cat.c: Likewise.
13383 * commands/i386/pc/play.c: Likewise.
13384 * commands/i386/pc/drivemap.c: Likewise.
13385 * commands/i386/pc/vbeinfo.c: Likewise.
13386 * commands/i386/pc/acpi.c: Likewise.
13387 * commands/i386/pc/vbetest.c: Likewise.
13388 * commands/ls.c: Likewise.
13389 * commands/cmp.c: Likewise.
13390 * commands/test.c: Likewise.
13391 * commands/efi/acpi.c: Likewise.
13392 * commands/gptsync.c: Likewise.
13393 * commands/help.c: Likewise.
13394 * partmap/amiga.c: Likewise.
13395 * partmap/apple.c: Likewise.
13396 * partmap/acorn.c: Likewise.
13397 * partmap/pc.c: Likewise.
13398 * partmap/sun.c: Likewise.
13399 * partmap/gpt.c: Likewise.
13400 * script/sh/lexer.c: Likewise.
13401 * script/sh/function.c: Likewise.
13402 * font/font.c: Likewise.
13403 * font/font_cmd.c: Likewise.
13404 * loader/powerpc/ieee1275/linux.c: Likewise.
13405 * loader/efi/chainloader.c: Likewise.
13406 * loader/multiboot_loader.c: Likewise.
13407 * loader/macho.c: Likewise.
13408 * loader/i386/multiboot.c: Likewise.
13409 * loader/i386/linux.c: Likewise.
13410 * loader/i386/pc/linux.c: Likewise.
13411 * loader/i386/pc/multiboot2.c: Likewise.
13412 * loader/i386/pc/chainloader.c: Likewise.
13413 * loader/i386/pc/xnu.c: Likewise.
13414 * loader/i386/bsd_trampoline.S: Likewise.
13415 * loader/i386/efi/linux.c: Likewise.
13416 * loader/i386/multiboot_elfxx.c: Likewise.
13417 * loader/i386/bsd_helper.S: Likewise.
13418 * loader/i386/bsd.c: Likewise.
13419 * loader/i386/linux_trampoline.S: Likewise.
13420 * loader/i386/xnu_helper.S: Likewise.
13421 * loader/i386/xnu.c: Likewise.
13422 * loader/i386/bsd_pagetable.c: Likewise.
13423 * loader/i386/multiboot_helper.S: Likewise.
13424 * loader/xnu.c: Likewise.
13425 * loader/xnu_resume.c: Likewise.
13426 * io/gzio.c: Likewise.
13427 * term/efi/console.c: Likewise.
13428 * term/terminfo.c: Likewise.
13429 * term/ieee1275/ofconsole.c: Likewise.
13430 * term/i386/pc/serial.c: Likewise.
13431 * term/i386/pc/vesafb.c: Likewise.
13432 * term/i386/pc/vga.c: Likewise.
13433 * term/usb_keyboard.c: Likewise.
13434 * term/gfxterm.c: Likewise.
13435 * aclocal.m4: Likewise.
13436 * util/lvm.c: Likewise.
13437 * util/grub.d/30_os-prober.in: Likewise.
13438 * util/grub.d/10_hurd.in: Likewise.
13439 * util/console.c: Likewise.
13440 * util/grub-macho2img.c: Likewise.
13441 * util/grub-probe.c: Likewise.
13442 * util/hostfs.c: Likewise.
13443 * util/i386/pc/grub-mkimage.c: Likewise.
13444 * util/i386/pc/grub-setup.c: Likewise.
13445 * util/i386/efi/grub-mkimage.c: Likewise.
13446 * util/grub-mkconfig.in: Likewise.
13447 * util/raid.c: Likewise.
13448 * util/resolve.c: Likewise.
13449 * util/grub-mkdevicemap.c: Likewise.
13450 * util/grub-emu.c: Likewise.
13451 * util/getroot.c: Likewise.
13452 * util/hostdisk.c: Likewise.
13453 * util/usb.c: Likewise.
13454 * util/grub-editenv.c: Likewise.
13455 * util/misc.c: Likewise.
13456
d2d49665 134572009-06-10 Felix Zielcke <fzielcke@z-51.de>
13458
13459 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
13460 `genparttoollist.sh'.
13461 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
13462 Add `*.sh' to the list find searches for and change `mdate.sh'
13463 to `mdate-sh'.
13464
fe052e37 134652009-06-10 Pavel Roskin <proski@gnu.org>
13466
2763ac18 13467 * include/grub/multiboot2.h: Provide compatibility defines for
13468 multiboot2.h.
13469 * include/multiboot2.h: Include stdint.h only if needed, using
13470 angle brackets.
13471 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
13472 grub/multiboot2.h.
13473 * loader/ieee1275/multiboot2.c: Likewise.
13474 * loader/multiboot2.c: Likewise.
13475 * loader/multiboot_loader.c: Likewise.
13476
437e6adc 13477 * configure.ac: Use -nostdlib when probing for the target. It
13478 should not be required to have libc for the target.
13479
06a6836c 13480 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
13481 they fail without libc headers for the target.
13482 * include/grub/powerpc/libgcc.h: Use weak attribute for all
13483 exports.
13484 * include/grub/sparc64/libgcc.h: Likewise. Don't use
13485 preprocessor conditionals.
13486
fe052e37 13487 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
13488 build system doesn't need to be aware of the tar.c internals.
13489
afd22553 134902009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 13491
afd22553 13492 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 13493
6b787c4f 134942009-06-09 Robert Millan <rmh.grub@aybabtu.com>
13495
13496 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
13497 disk limit to 26 for IDE, Virtio, Xen and SCSI.
13498
134992009-06-09 Felix Zielcke <fzielcke@z-51.de>
13500
13501 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 13502 aren't available if ata.mod gets used.
6b787c4f 13503
473d1e45 135042009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 13505
473d1e45 13506 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 13507 initialising controller.
473d1e45 13508 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 13509
255a27d4 135102009-06-08 Felix Zielcke <fzielcke@z-51.de>
13511
13512 * util/i386/pc/grub-install.in: Add a parameter --disk-module
13513 to choose between ata and biosdisk module on i386-pc.
13514
473d1e45 135152009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 13516
d55842d8 13517 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
13518 Subclass and Programming Interface fields in terms of the 3 byte
13519 Class Code register.
13520 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
13521
fa5db0b1 13522 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
13523 interface is OHCI. Add grub_dprintf for symmetry with
13524 bus/usb/uhci.c.
13525 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
13526 interface is UHCI. Add interf variable for programming
13527 interface. Print interface with class/subclass.
13528
c0947beb 13529 * bus/usb/ohci.c: Set interf with correct field.
13530
69da8877 13531 * bus/usb/uhci.c: Remove unneeded doubled lines.
13532 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
13533 Remove whitespace inside comment.
13534
9e172e30 135352009-06-08 Robert Millan <rmh.grub@aybabtu.com>
13536
13537 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
13538 as fallback an equivalent option without depth.
13539
de65ee2b 135402009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
13541
13542 Not fail if unable to retrieve C/H/S on LBA disks
13543
473d1e45 13544 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 13545 if unable to retrieve C/H/S on LBA disks
13546
b57ea2c9 135472009-06-08 Pavel Roskin <proski@gnu.org>
13548
13549 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
13550 about aliasing.
13551
af361263 135522009-06-08 Felix Zielcke <fzielcke@z-51.de>
13553
13554 * Makefile.in (uninstall): Remove all $lib_DATA files.
13555
4c9ec6b3 135562009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
13557
13558 Bugfix: install on partitionless device
13559
13560 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
13561 is a whole disk
13562
e76fc924 135632009-06-08 Felix Zielcke <fzielcke@z-51.de>
13564
13565 * Makefile.in (uninstall): Remove all $include_DATA files.
13566
ba5a0d05 135672009-06-08 Felix Zielcke <fzielcke@z-51.de>
13568
13569 * commands/true.c: New file. Implement the true and false commands.
13570 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
13571 (true_mod_SOURCES): New variable.
13572 (true_mod_CFLAGS): Likewise.
13573 (true_mod_LDFLAGS): Likewise.
13574
c8048e32 135752009-06-05 Colin D Bennett <colin@gibibit.com>
13576
13577 Optimized font character lookup using binary search instead of linear
13578 search. Fonts now are required to have the character index ordered by
13579 code point.
13580
13581 * font/font.c (load_font_index): Verify that fonts have ordered
13582 character indices.
13583 (find_glyph): Use binary search instead of linear search to find a
13584 character in a font.
13585
408305be 135862009-06-05 Michael Scherer <misc@mandriva.org>
13587
13588 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
13589 uses case sensitive btree.
13590 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
13591 only for case insensitive filesystems.
13592
8ee1e0d9 135932009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
13594
13595 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
13596 * conf/common.rmk (search_mod_CFLAGS): likewise
13597
a9966eb1 135982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13599
473d1e45 13600 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 13601 compensate a compiler bug
13602
9e7100fb 136032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13604
473d1e45 13605 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 13606 instead of '\b'
473d1e45 13607
ede21d71 136082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13609
13610 Definitions for creating asm symbols with Apple's CC
13611
13612 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
13613 [APPLE_CC] (VARIABLE): likewise
13614
9dbf7653 136152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13616
13617 Disable lnxboot.img when compiled
13618 with Apple's CC
13619
13620 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
13621 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
13622 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
13623 [! APPLE_CC] (CODE_LENG): skip
13624 [! APPLE_CC] (setup_sects): likewise
13625 [! APPLE_CC]: skip filling
473d1e45 13626
e93cdc3d 136272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13628
13629 Address in trampolines based on 32-bit registers when compiled
13630 with Apple's CC
13631
473d1e45 13632 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 13633 for addresses
13634 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
13635
6c688477 136362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13637
13638 Avoid aliases when compiling with Apple's CC for PCBIOS machine
13639
13640 * kern/misc.c [APPLE_CC] (memcpy): new function
13641 [APPLE_CC] (memmove): likewise
13642 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 13643 (memcpy): define alias conditionally on !APPLE_CC
6c688477 13644 (memset): likewise
13645 (abort): likewise
13646 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
13647 APPLE_CC are defined
13648 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
13649 (grub_assert_fail): make prototype conditional
13650
e37ffc5c 136512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13652
13653 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
13654
473d1e45 13655 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
13656 grub-macho2img
e37ffc5c 13657 (CLEANFILES): add grub-macho2img
13658 (grub_macho2img_SOURCES): new variable
13659 * kern/i386/pc/startup.S (bss_start): new variable
13660 (bss_end): likewise
13661 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
13662 * util/grub-macho2img.c: new file
13663
cf00df31 136642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13665
13666 Use objconv when compiling with Apple's CC
13667
13668 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
13669 (efiemu64.o): likewise
13670 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
13671 when compiling with Apple's CC
13672 (efiemu64_s.o): likewise
13673 * configure.ac: check for objconv when compiling with Apple's CC
13674 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 13675
d119a20c 136762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13677
13678 Define segment as well as section when compiling with
13679 Apple's CC
13680
13681 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
13682 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
13683 (efiemu_convert_pointer): likewise
13684 (efiemu_set_virtual_address_map): likewise
13685 (efiemu_convert_pointer): likewise
13686 (efiemu_getcrc32): likewise
13687 (init_crc32_table): likewise
13688 (reflect): likewise
13689 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
13690 (GRUB_MOD_DEP): likewise
473d1e45 13691
c8600122 136922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13693
13694 Allow a compilation without -mcmodel=large
13695
13696 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
13697 when compiled without -mcmodel=large
473d1e45 13698 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 13699 without -mcmodel=large
473d1e45 13700 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 13701 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 13702
e8df1d4e 137032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13704
13705 Remove nested functions in efiemu core
13706
13707 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 13708
cc6c3ac1 137092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13710
13711 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
13712
13713 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
13714 temporary storage
473d1e45 13715 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
13716 using Apple's CC
cc6c3ac1 13717 (grub_cpu_is_tsc_supported): likewise
13718 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 13719
3e325901 137202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13721
13722 Absolute addressing through constant with Apple's cc
13723
13724 * kern/i386/pc/startup.S: Define necessary constants
13725 and address through it when using ABS with Apple's CC
13726 * boot/i386/pc/diskboot.S: likewise
13727 * boot/i386/pc/boot.S: likewise
13728 * boot/i386/pc/lnxboot.S: likewise
13729 * boot/i386/pc/cdboot.S: likewise
13730 * mmap/i386/pc/mmap_helper.S: likewise
13731 * commands/i386/pc/drivemap_int13h.S: likewise
13732
2b167a72 137332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13734
13735 Check if compiler is apple cc
13736
13737 * Makefile.in (ASFLAGS): new variable
13738 (TARGET_ASFLAGS): likewise
13739 (TARGET_MODULE_FORMAT): likewise
13740 (TARGET_APPLE_CC): likewise
13741 (OBJCONV): likewise
13742 (TARGET_IMG_CFLAGS): likewise
13743 (TARGET_CPPFLAGS): add includedir
13744 * configure.ac: call grub_apple_cc and grub_apple_target_cc
13745 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
13746 Check for linker script only if compiler isn't Apple's CC
13747 (TARGET_MODULE_FORMAT): set
13748 (TARGET_APPLE_CC): likewise
13749 (TARGET_ASFLAGS): likewise
13750 (ASFLAGS): likewise
13751 Check for objcopy only if compiler isn't Apple's CC
13752 Check for BSS symbol only if compiler isn't Apple's CC
13753 * genmk.rb: adapt nm options if we use Apple's utils
13754 * aclocal.m4 (grub_apple_cc): new test
13755 (grub_apple_target_cc): likewise
473d1e45 13756
fb14123e 137572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13758
13759 Simplify sed expressions and improve awk
13760
13761 * Makefile.in (install-local): simplify sed expression
13762 * gencmdlist.sh: likewise
13763 * genmoddep.awk: avoid adding module as a dependency of itself
13764
5b889789 137652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13766
13767 Add missing start symbols
13768
13769 * boot/i386/pc/boot.S: add start
fb14123e 13770 * boot/i386/pc/pxeboot.S: likewise
473d1e45 13771
fd2bf2e3 137722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13773
13774 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 13775
13776 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 13777 (relocate_addresses): consider both r_addend and value at offset
13778 (make_mods_section): zerofill modinfo and header
13779 (convert_elf): write prefix here
473d1e45 13780
5389763d 137812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13782
13783 Use .asciz instead of .string
13784
13785 * i386/pc/diskboot.S: use .asciz instead of .string
13786 * i386/pc/boot.S: likewise
13787 * include/grub/dl.h (GRUB_MOD_DEP): likewise
13788 (GRUB_MOD_NAME): likewise
473d1e45 13789
3eb5ed4e 137902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13791
13792 gfxpayload support
13793
13794 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
13795 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
13796 (grub_video_setup): remove
13797 (grub_video_set_mode): new prototype
13798 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
13799 (vid_mode): remove
13800 (linux_vesafb_res): compile only on PCBIOS
13801 (grub_linux_boot): support gfxpayload
13802 * loader/i386/pc/xnu.c (video_hook): new function
13803 (grub_xnu_set_video): support gfxpayload
13804 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
13805 (DEFAULT_VIDEO_HEIGHT): likewise
13806 (DEFAULT_VIDEO_FLAGS): likewise
13807 (DEFAULT_VIDEO_MODE): new definition
13808 (video_hook): new function
13809 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 13810 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 13811 loading xnu
13812 * video/video.c (grub_video_setup): removed
473d1e45 13813 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 13814 grub_video_setup
13815
4b0e1143 138162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13817
13818 Avoid calling biosdisk in drivemap
13819
13820 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
13821 (revparse_biosdisk): likewise
13822 (list_mappings): derive name from id directly
13823 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 13824
fda6cb98 138252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13826
13827 Script fixes
13828
13829 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
13830 (grub_lexer_param): add tokenonhold
13831 (grub_script_create_cmdline): remove cmdline. All callers updated
13832 (grub_script_function_create): make functionname
13833 grub_script_arg. All callers updated
13834 (grub_script_execute_argument_to_string): new prototype
13835 * kern/parser.c (state_transitions): reorder
13836 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 13837 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 13838 make global
13839 (grub_script_execute_cmdline): use new format
13840 * script/sh/function.c (grub_script_function_create): make functionname
13841 grub_script_arg. All callers updated
473d1e45 13842 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 13843 (grub_script_yylex): remove
13844 (grub_script_yylex2): renamed to ...
13845 (grub_script_yylex): ...renamed
13846 parse the expressions like a${b}c
13847 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
13848 (GRUB_PARSER_TOKEN_VAR): remove
13849 (GRUB_PARSER_TOKEN_NAME): likewise
13850 ("if"): declare as typeless
13851 ("while"): likewise
13852 ("function"): likewise
13853 ("else"): likewise
13854 ("then"): likewise
13855 ("fi"): likewise
13856 (text): remove
13857 (argument): likewise
13858 (script): accept empty scripts and make exit on error
13859 (arguments): use GRUB_PARSER_TOKEN_ARG
13860 (function): likewise
13861 (command): move error handling to script
13862 (menuentry): move grub_script_lexer_ref before
473d1e45 13863 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 13864 argument. All callers updated
13865
f4448a07 138662009-06-04 Robert Millan <rmh.grub@aybabtu.com>
13867
13868 Prevent GRUB from probing floppies during boot.
13869
13870 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
13871 * commands/search.c (options): Add --no-floppy.
13872 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
13873 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
13874 --no-floppy when searching for UUIDs.
13875
2bf5885a 138762009-06-04 Robert Millan <rmh.grub@aybabtu.com>
13877
13878 Simplify the code duplication in commands/search.c.
13879
13880 * commands/search.c (search_label, search_fs_uuid): Merge into ...
13881 (search_fs): ... this. Update all users.
13882
f6fd460a 138832009-06-03 Felix Zielcke <fzielcke@z-51.de>
13884
13885 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
13886
cbb3c83e 138872009-05-28 Pavel Roskin <proski@gnu.org>
13888
57788cfd 13889 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
13890 Remove the original symlink explicitly.
13891
cbb3c83e 13892 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
13893 just one slash. That's how grub_fshelp_find_file() does it.
13894
cd0d5e30 138952009-05-26 Pavel Roskin <proski@gnu.org>
13896
f0f8bbe2 13897 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
13898 to `str'.
13899
cd0d5e30 13900 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
13901 possibly unused.
13902
8c2cab51 139032009-05-25 Christian Franke <franke@computer.org>
13904
13905 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
13906 register.
13907 (grub_atapi_identify): Add wait after drive select.
13908 (grub_ata_identify): Do more strict status register check before
13909 calling grub_atapi_identify (). Suppress error message if status
13910 register is 0x00 after command failure. Add status register
13911 check after PIO read to avoid bogus identify due to stuck DRQ.
13912 Thanks to Pavel Roskin for testing.
13913 (grub_device_initialize): Remove unsafe status register check.
13914 Thanks to 'phcoder' for problem report and patch.
13915 Prevent sign extension in debug message.
13916
230c0ad6 139172009-05-23 Colin D Bennett <colin@gibibit.com>
13918
13919 Cleaned up `include/grub/normal.h'. Grouped prototypes by
13920 definition file, and functions defined in `normal/menu.c' have had
13921 their prototypes moved to `include/grub/menu.h' for consistency.
13922
13923 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
13924 from normal.h.
13925 (grub_menu_get_entry): Likewise.
13926 (grub_menu_get_timeout): Likewise.
13927 (grub_menu_set_timeout): Likewise.
13928 (grub_menu_execute_entry): Likewise.
13929 (grub_menu_execute_with_fallback): Likewise.
13930 (grub_menu_entry_run): Likewise.
13931
13932 * include/grub/normal.h: Re-ordered and grouped function
13933 prototypes by file that the function is defined in.
13934 (grub_menu_execute_callback): Removed; moved to menu.h.
13935 (grub_menu_get_entry): Likewise.
13936 (grub_menu_get_timeout): Likewise.
13937 (grub_menu_set_timeout): Likewise.
13938 (grub_menu_execute_entry): Likewise.
13939 (grub_menu_execute_with_fallback): Likewise.
13940 (grub_menu_entry_run): Likewise.
13941 (grub_menu_addentry): Renamed from this ...
13942 (grub_normal_add_menu_entry): ... to this.
13943
13944 * normal/main.c (grub_menu_addentry): Renamed from this ...
13945 (grub_normal_add_menu_entry): ... to this.
13946
13947 * script/sh/execute.c (grub_script_execute_menuentry): Update
13948 reference to renamed grub_menu_addentry function.
13949
861f03a5 139502009-05-23 Felix Zielcke <fzielcke@z-51.de>
13951
13952 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
13953
96b1619a 139542009-05-22 Pavel Roskin <proski@gnu.org>
13955
bf6a5fb2 13956 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
13957 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
13958 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
13959 compiling for the i386 targets, but not for the utilities.
13960
96b1619a 13961 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
13962 to grub_uint8_t.
13963 (grub_root_drive): Likewise.
13964 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
13965 remove alignment.
13966 (grub_root_drive): Change size to byte.
13967 (grub_start_addr): Remove.
13968 (grub_end_addr): Likewise.
13969 (grub_apm_bios_info): Likewise.
13970
b729776b 139712009-05-21 Felix Zielcke <fzielcke@z-51.de>
13972
13973 * normal/i386: Remove.
13974 * normal/powerpc: Likewise.
13975 * normal/sparc64: Likewise.
13976 * normal/x86_64: Likewise.
13977
0a15ce80 139782009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
13979
13980 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 13981 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 13982 * loader/i386/xnu_helper.S: Likewise
d6da58e6 13983
33db9015 139842009-05-18 Colin D Bennett <colin@gibibit.com>
13985
d6da58e6 13986 Display error messages when parsing a Lua statement fails.
13987 Previously, executing a syntactically invalid statement like
13988 ")foo" or "bar;" would silently fail.
33db9015 13989
13990 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 13991 (grub_lua_parse_line): Improved reporting of Lua parser and
13992 execution errors.
33db9015 13993
46422c89 139942009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13995
13996 Remove -Werror which causes build to fail on some systems
13997
13998 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
13999 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
14000 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 14001
22f53a96 140022009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14003
14004 trampoline for linux on 64-bit platform
14005
18f547ad 14006 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
14007 loader/i386/efi/linux_trampoline.S
14008 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 14009 declaration
d6da58e6 14010 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
14011 here
22f53a96 14012 * loader/i386/linux_trampoline.S: moved here
d6da58e6 14013 * loader/i386/efi/linux.c (allocate_pages): reserve space for
14014 trampoline
22f53a96 14015 (jumpvector): removed
14016 (grub_linux_trampoline_start): new declaration
14017 (grub_linux_trampoline_end): likewise
14018 (grub_linux_boot): use trampoline when on 64-bit platform
14019 * loader/i386/linux.c: likewise
14020
cb5a0f40 140212009-05-16 Pavel Roskin <proski@gnu.org>
14022
14023 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
14024 const to avoid a warning.
14025 (grub_lua_setenv): Likewise.
14026 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
14027 lmsg to fix a warning.
14028
334f2c28 140292009-05-16 Felix Zielcke <fzielcke@z-51.de>
14030
14031 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 14032 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
14033 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
14034 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
14035 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
14036 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
14037 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
14038 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 14039
59e5d3ec 140402009-05-16 Felix Zielcke <fzielcke@z-51.de>
14041
14042 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
14043
9d87a1ba 140442009-05-16 Bean <bean123ch@gmail.com>
14045
14046 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
14047 (lua_mod_SOURCES): New variable.
14048 (lua_mod_CFLAGS): Likewise.
14049 (lua_mod_LDFLAGS): Likewise.
14050
14051 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
14052 (setjmp_mod_SOURCES): New variable.
14053 (setjmp_mod_CFLAGS): Likewise.
14054 (setjmp_LDFLAGS): Likewise.
14055
14056 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
14057 (setjmp_mod_SOURCES): New variable.
14058 (setjmp_mod_CFLAGS): Likewise.
14059 (setjmp_LDFLAGS): Likewise.
14060
14061 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
14062 (setjmp_mod_SOURCES): New variable.
14063 (setjmp_mod_CFLAGS): Likewise.
14064 (setjmp_LDFLAGS): Likewise.
14065
14066 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
14067 (setjmp_mod_SOURCES): New variable.
14068 (setjmp_mod_CFLAGS): Likewise.
14069 (setjmp_LDFLAGS): Likewise.
14070
14071 * normal/i386/setjmp.S: Moved from here ...
14072 * lib/i386/setjmp.S: ... Moved here
14073 * normal/x86_64/setjmp.S: Moved from here ...
14074 * lib/x86_64/setjmp.S: ... Moved here
14075 * normal/powerpc/setjmp.S: Moved from here ...
14076 * lib/powerpc/setjmp.S: ... Moved here
14077 * normal/sparc64/setjmp.S: Moved from here ...
14078 * lib/sparc64/setjmp.S: ... Moved here
14079
14080 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
14081 returns_twice in mingw.
14082
14083 * script/lua/grub_lib.c: New file.
14084 * script/lua/grub_lib.h: Likewise.
14085 * script/lua/grub_lua.h: Likewise.
14086 * script/lua/grub_main.c: Likewise.
14087 * script/lua/lapi.c: Likewise.
14088 * script/lua/lapi.h: Likewise.
14089 * script/lua/lauxlib.c: Likewise.
14090 * script/lua/lauxlib.h: Likewise.
14091 * script/lua/lbaselib.c: Likewise.
14092 * script/lua/lcode.c: Likewise.
14093 * script/lua/lcode.h: Likewise.
14094 * script/lua/ldblib.c: Likewise.
14095 * script/lua/ldebug.c: Likewise.
14096 * script/lua/ldebug.h: Likewise.
14097 * script/lua/ldo.c: Likewise.
14098 * script/lua/ldo.h: Likewise.
14099 * script/lua/ldump.c: Likewise.
14100 * script/lua/lfunc.c: Likewise.
14101 * script/lua/lfunc.h: Likewise.
14102 * script/lua/lgc.c: Likewise.
14103 * script/lua/lgc.h: Likewise.
14104 * script/lua/linit.c: Likewise.
14105 * script/lua/liolib.c: Likewise.
14106 * script/lua/llex.c: Likewise.
14107 * script/lua/llex.h: Likewise.
14108 * script/lua/llimits.h: Likewise.
14109 * script/lua/lmathlib.c: Likewise.
14110 * script/lua/lmem.c: Likewise.
14111 * script/lua/lmem.h: Likewise.
14112 * script/lua/loadlib.c: Likewise.
14113 * script/lua/lobject.c: Likewise.
14114 * script/lua/lobject.h: Likewise.
14115 * script/lua/lopcodes.c: Likewise.
14116 * script/lua/lopcodes.h: Likewise.
14117 * script/lua/loslib.c: Likewise.
14118 * script/lua/lparser.c: Likewise.
14119 * script/lua/lparser.h: Likewise.
14120 * script/lua/lstate.c: Likewise.
14121 * script/lua/lstate.h: Likewise.
14122 * script/lua/lstring.c: Likewise.
14123 * script/lua/lstring.h: Likewise.
14124 * script/lua/lstrlib.c: Likewise.
14125 * script/lua/ltable.c: Likewise.
14126 * script/lua/ltable.h: Likewise.
14127 * script/lua/ltablib.c: Likewise.
14128 * script/lua/ltm.c: Likewise.
14129 * script/lua/ltm.h: Likewise.
14130 * script/lua/lua.h: Likewise.
14131 * script/lua/luaconf.h: Likewise.
14132 * script/lua/lualib.h: Likewise.
14133 * script/lua/lundump.c: Likewise.
14134 * script/lua/lundump.h: Likewise.
14135 * script/lua/lvm.c: Likewise.
14136 * script/lua/lvm.h: Likewise.
14137 * script/lua/lzio.c: Likewise.
14138 * script/lua/lzio.h: Likewise.
14139
5e898c9d 141402009-05-16 Bean <bean123ch@gmail.com>
14141
14142 * include/grub/kernel.h (grub_module_header_types): Add type
14143 OBJ_TYPE_CONFIG.
14144
14145 * kern/main.c (grub_load_config): New function.
14146 (grub_main): Call grub_load_config to read boot config.
14147
14148 * grub-mkimage (generate_image): New parameter config_path.
14149 (options): New option --config.
14150 (main): Parse --config option, and pass it to generate_image.
14151
cf353a47 141522009-05-14 Christian Franke <franke@computer.org>
14153
14154 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
14155 This fixes build on Cygwin.
14156
3834887f 141572009-05-14 Pavel Roskin <proski@gnu.org>
14158
14159 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
14160 jump. This saves two bytes, so the typical case of 2 swapped
14161 drives would fit 32 bytes.
14162
8090fc01 141632009-05-13 Pavel Roskin <proski@gnu.org>
14164
ac963883 14165 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
14166 grub_uint32_t to avoid a warning.
14167
8090fc01 14168 * loader/i386/linux.c (allocate_pages): When assigning
14169 real_mode_mem, cast through grub_size_t to fix a warning. The
14170 code already makes sure that the value would fit a pointer.
14171 (grub_linux_setup_video): Cast render_target->data to
14172 grub_size_t to fix a warning.
14173
18f547ad 141742009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 14175
14176 * commands/i386/pc/drivemap.c: New file - implement drivemap
14177 command.
14178 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
14179 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
14180
6f6a8b28 141812009-05-13 Pavel Roskin <proski@gnu.org>
14182
14183 * util/i386/pc/grub-setup.c (setup): Remove unused variable
14184 embedding_area_exists.
14185
15fbf4c4 141862009-05-13 Robert Millan <rmh.grub@aybabtu.com>
14187
14188 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
14189 it easier to understand / work with.
59978c8a 14190 Improve warning messages for cases where there's no embedding area,
14191 or when it is too small (or core.img too large).
15fbf4c4 14192
238e871f 141932009-05-13 Pavel Roskin <proski@gnu.org>
14194
0ab3a9a4 14195 * loader/i386/pc/multiboot2.c: Add necessary includes for
14196 grub_multiboot2_real_boot().
14197
a2c8c5f8 14198 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
14199 PX record is always little-endian. We only need the lower 2
14200 bytes of the mode.
14201
faec96af 14202 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
14203 facilitate code reuse.
14204 (grub_cpio_mount): Use "struct head", not a char buffer. This
14205 fixes a warning reported by gcc 4.4.
14206
238e871f 14207 * kernel/disk.c (grub_disk_read): Use void pointer for the
14208 buffer.
14209 (grub_disk_write): Use const void pointer for the buffer.
14210 Adjust all callers. Remove unnecessary casts.
14211
901d2f0c 142122009-05-10 Robert Millan <rmh.grub@aybabtu.com>
14213
14214 * util/i386/pc/grub-install.in: Update copyright year.
14215
18f547ad 142162009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 14217
14218 gptsync
14219
14220 * commands/gptsync.c: new file
14221 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
14222 (gptsync_mod_SOURCES): new variable
14223 (gptsync_mod_CFLAGS): likewise
14224 (gptsync_mod_LDFLAGS): likewise
18f547ad 14225 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 14226 new definition
14227 (GRUB_PC_PARTITION_TYPE_HFS): likewise
14228 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
14229 * conf/i386-ieee1275.rmk: likewise
14230 * conf/i386-pc.rmk: likewise
14231 * conf/powerpc-ieee1275.rmk: likewise
14232
b4ba690a 142332009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14234
14235 Fixed grub-emu
14236
14237 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
14238 (grub_dl_ref): likewise
14239
317e1a44 142402009-05-08 Robert Millan <rmh.grub@aybabtu.com>
14241
14242 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
14243 split in two functions (one for msdos and one for gpt).
14244
041b8094 142452009-05-08 Pavel Roskin <proski@gnu.org>
14246
752473c2 14247 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
14248 not modified.
14249
041b8094 14250 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
14251 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
14252 Initialize them with -1. Add sanity check for bad1. Eliminate
14253 nerr variable.
14254
172800ce 142552009-05-08 David S. Miller <davem@davemloft.net>
14256
14257 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
14258
29aa5e81 142592009-05-06 Robert Millan <rmh.grub@aybabtu.com>
14260
14261 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 14262 existence.
29aa5e81 14263
96613b62 142642009-05-05 Felix Zielcke <fzielcke@z-51.de>
14265
14266 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 14267 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 14268
eef73c8a 142692009-05-05 David S. Miller <davem@davemloft.net>
14270
14271 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
14272
119494b5 142732009-05-05 Pavel Roskin <proski@gnu.org>
14274
14275 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
14276 of grub_dl_ref() and grub_dl_unref().
14277 * commands/parttool.c: Remove preprocessor conditionals around
14278 grub_dl_ref() and grub_dl_unref().
14279 * fs/affs.c: Likewise.
14280 * fs/afs.c: Likewise.
14281 * fs/cpio.c: Likewise.
14282 * fs/ext2.c: Likewise.
14283 * fs/fat.c: Likewise.
14284 * fs/hfs.c: Likewise.
14285 * fs/hfsplus.c: Likewise.
14286 * fs/iso9660.c: Likewise.
14287 * fs/jfs.c: Likewise.
14288 * fs/minix.c: Likewise.
14289 * fs/ntfs.c: Likewise.
14290 * fs/reiserfs.c: Likewise.
14291 * fs/sfs.c: Likewise.
14292 * fs/udf.c: Likewise.
14293 * fs/ufs.c: Likewise.
14294 * fs/xfs.c: Likewise.
14295 * include/grub/dl.h: Likewise.
14296 * loader/xnu.c: Likewise.
14297
de5fd76e 142982009-05-04 Pavel Roskin <proski@gnu.org>
14299
14300 * commands/acpi.c: Remove unused variable my_mod.
14301 * partmap/amiga.c: Likewise.
14302 * partmap/apple.c: Likewise.
14303 * partmap/gpt.c: Likewise.
14304 * partmap/pc.c: Likewise.
14305 * partmap/sun.c: Likewise.
14306 * term/gfxterm.c: Likewise.
14307 * term/i386/pc/vesafb.c: Likewise.
14308 * term/i386/pc/vga.c: Likewise.
14309
983598ad 143102009-05-04 David S. Miller <davem@davemloft.net>
14311
14312 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
14313 pointer args to grub_ieee1275_get_property().
14314
8aadec43 14315 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
14316
9554b15e 14317 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
14318 devices, and do not traverse down under controller nodes.
14319
67e23c90 14320 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
14321 (grub_ofdisk_open): Use it to un-escape "," characters.
14322 * kern/disk.c (find_part_sep): New.
14323 (grub_disk_open): Use it to find the first non-escaped ','
14324 character in the disk name.
14325 * util/ieee1275/devicemap.c (escape_of_path): New.
14326 (grub_util_emit_devicemap_entry): Use it.
14327 * util/sparc64/ieee1275/grub-install.in: Update script to
14328 strip partition specifiers properly by not triggering on
14329 '\' escaped ',' characters.
14330
74bfdd2f 143312009-05-04 Robert Millan <rmh.grub@aybabtu.com>
14332
14333 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
14334 to 0x300.
14335 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
14336 resolutions.
14337 (linux_vesafb_modes): Add a lot of additional modes to the list (based
14338 on documentation from Wikipedia).
14339
4241d2b1 143402009-05-04 Pavel Roskin <proski@gnu.org>
14341
14342 * disk/ata.c: Spelling fixes.
14343 * disk/raid.c: Likewise.
14344 * disk/usbms.c: Likewise.
14345 * disk/dmraid_nvidia.c: Likewise.
14346 * kern/ieee1275/openfw.c: Likewise.
14347 * kern/ieee1275/init.c: Likewise.
14348 * kern/ieee1275/cmain.c: Likewise.
14349 * boot/i386/pc/cdboot.S: Likewise.
14350 * video/readers/png.c: Likewise.
14351 * video/i386/pc/vbe.c: Likewise.
14352 * fs/udf.c: Likewise.
14353 * fs/hfs.c: Likewise.
14354 * fs/reiserfs.c: Likewise.
14355 * efiemu/runtime/efiemu.c: Likewise.
14356 * efiemu/main.c: Likewise.
14357 * efiemu/mm.c: Likewise.
14358 * include/grub/elf.h: Likewise.
14359 * include/grub/xnu.h: Likewise.
14360 * include/grub/usbdesc.h: Likewise.
14361 * include/grub/usb.h: Likewise.
14362 * include/grub/script_sh.h: Likewise.
14363 * include/grub/lib/LzmaEnc.h: Likewise.
14364 * include/grub/efiemu/efiemu.h: Likewise.
14365 * include/grub/command.h: Likewise.
14366 * normal/menu.c: Likewise.
14367 * normal/main.c: Likewise.
14368 * normal/datetime.c: Likewise.
14369 * bus/usb/uhci.c: Likewise.
14370 * mmap/i386/uppermem.c: Likewise.
14371 * mmap/mmap.c: Likewise.
14372 * commands/acpi.c: Likewise.
14373 * commands/test.c: Likewise.
14374 * partmap/apple.c: Likewise.
14375 * font/font.c: Likewise.
14376 * loader/sparc64/ieee1275/linux.c: Likewise.
14377 * loader/macho.c: Likewise.
14378 * loader/i386/bsd_trampoline.S: Likewise.
14379 * loader/i386/bsd.c: Likewise.
14380 * loader/xnu.c: Likewise.
14381 * term/i386/pc/vesafb.c: Likewise.
14382 * term/usb_keyboard.c: Likewise.
14383 * util/resolve.c: Likewise.
14384 * util/getroot.c: Likewise.
14385
0cfc0083 143862009-05-04 Felix Zielcke <fzielcke@z-51.de>
14387
14388 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
14389
7c1d00cd 143902009-05-04 Robert Millan <rmh.grub@aybabtu.com>
14391
14392 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
14393 build error.
14394
b01f0548 143952009-05-04 Robert Millan <rmh.grub@aybabtu.com>
14396
14397 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
14398 parameter only available on BIOS.
14399
ecc3eb22 144002009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
14401
14402 Removed wrong semicolon in declaration
14403
14404 * grub/misc.h (grub_dprintf): remove semicolon
14405
112972a9 144062009-05-04 Robert Millan <rmh.grub@aybabtu.com>
14407
14408 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
14409 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
14410 is done by grub_cmd_linux() now).
14411 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
14412 restore video to text mode.
14413 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
14414 indicates lack of "vga=" parameter. "vga=0" is mapped to
14415 `GRUB_LINUX_VID_MODE_NORMAL'.
14416
afd5c115 144172009-05-04 Felix Zielcke <fzielcke@z-51.de>
14418
14419 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
14420 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
14421 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 14422 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 14423 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
14424 `grub_script.tab.c'.
14425
14426 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14427 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14428 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14429 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14430 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14431
faa517ce 14432 * Makefile.in: Remove duplicated 2008 in Copyright line.
14433
ae0c0bdc 144342009-05-04 Robert Millan <rmh.grub@aybabtu.com>
14435
473d1e45 14436 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 14437 unconditionally.
14438 * include/grub/util/misc.h (grub_util_warn): New declaration.
14439
14440 * util/i386/pc/grub-install.in: Understand --force and pass it down
14441 to grub-setup.
14442
14443 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
14444 down to setup().
14445 (setup): Improve error messages and add warnings when requested to
14446 install in odd layouts. Refuse to install using blocklists unless
14447 --force was set.
14448
18f547ad 144492009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 14450
14451 * disk/raid.c (grub_raid_scan_device): Improve debug message.
14452
6d260daa 144532009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
14454
14455 Updated copyright year
14456
14457 * fs/hfsplus.c: updated copyright year
18f547ad 14458
69f853f8 144592009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
14460
14461 HFS+ UUID
14462
18f547ad 14463 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 14464 in the space previously used by unused3
14465 (grub_hfsplus_uuid): new function
14466 (grub_hfsplus_fs): added uuid field
14467
4c402e73 144682009-05-03 Pavel Roskin <proski@gnu.org>
14469
14470 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
14471 suppress warnings. It's no longer needed.
14472 * disk/host.c: Likewise.
14473 * disk/ata_pthru.c: Likewise.
14474 * disk/loopback.c: Likewise.
14475 * hook/datehook.c: Likewise.
14476 * parttool/pcpart.c: Likewise.
14477 * fs/i386/pc/pxe.c: Likewise.
14478 * fs/ntfscomp.c: Likewise.
14479 * efiemu/main.c: Likewise.
14480 * mmap/mmap.c: Likewise.
14481 * commands/crc.c: Likewise.
14482 * commands/hexdump.c: Likewise.
14483 * commands/hdparm.c: Likewise.
14484 * commands/acpi.c: Likewise.
14485 * commands/echo.c: Likewise.
14486 * commands/minicmd.c: Likewise.
14487 * commands/blocklist.c: Likewise.
14488 * commands/memrw.c: Likewise.
14489 * commands/loadenv.c: Likewise.
14490 * commands/usbtest.c: Likewise.
14491 * commands/lsmmap.c: Likewise.
14492 * commands/boot.c: Likewise.
14493 * commands/parttool.c: Likewise.
14494 * commands/configfile.c: Likewise.
14495 * commands/search.c: Likewise.
14496 * commands/ieee1275/suspend.c: Likewise.
14497 * commands/cat.c: Likewise.
14498 * commands/i386/pc/pxecmd.c: Likewise.
14499 * commands/i386/pc/play.c: Likewise.
14500 * commands/i386/pc/halt.c: Likewise.
14501 * commands/i386/pc/vbeinfo.c: Likewise.
14502 * commands/i386/pc/vbetest.c: Likewise.
14503 * commands/lspci.c: Likewise.
14504 * commands/date.c: Likewise.
14505 * commands/handler.c: Likewise.
14506 * commands/ls.c: Likewise.
14507 * commands/test.c: Likewise.
14508 * commands/cmp.c: Likewise.
14509 * commands/efi/loadbios.c: Likewise.
14510 * commands/efi/fixvideo.c: Likewise.
14511 * commands/halt.c: Likewise.
14512 * commands/help.c: Likewise.
14513 * commands/reboot.c: Likewise.
14514 * hello/hello.c: Likewise.
14515 * script/sh/main.c: Likewise.
14516 * loader/xnu.c: Likewise.
14517 * term/terminfo.c: Likewise.
14518 * term/i386/pc/serial.c: Likewise.
14519 * term/usb_keyboard.c: Likewise.
14520
515b5079 145212009-05-03 David S. Miller <davem@davemloft.net>
14522
14523 * normal/menu.c: Include grub/parser.h
14524
dfc31a22 145252009-05-03 Pavel Roskin <proski@gnu.org>
14526
2fee74f1 14527 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
14528 not char*.
14529 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
14530 Suggested by Javier Martín <lordhabbit@gmail.com>
14531
dfc31a22 14532 * util/i386/pc/grub-mkrescue.in: Allow for the case when
14533 efiemu??.o doesn't exist.
14534 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
14535 copying.
14536
18f547ad 145372009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 14538
14539 FreeBSD 64-bit support
14540
18f547ad 14541 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 14542 and loader/i386/bsd_trampoline.S
14543 (bsd_mod_ASFLAGS): new variable
14544 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
14545 (FREEBSD_MODTYPE_KERNEL64): likewise
14546 (grub_bsd64_trampoline_start): likewise
14547 (grub_bsd64_trampoline_end): likewise
14548 (grub_bsd64_trampoline_selfjump): likewise
14549 (grub_bsd64_trampoline_gdt): likewise
14550 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
14551 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
14552 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
14553 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 14554 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 14555 of "attrib" member
14556 * loader/i386/bsd_pagetable.c: new file
14557 * loader/i386/bsd_trampoline.S: likewise
14558 * loader/i386/bsd.c (ALIGN_QWORD): new macro
14559 (ALIGN_VAR): likewise
14560 (entry_hi): new variable
14561 (kern_end_mdofs): likewise
14562 (is_64bit): likewise
14563 (grub_freebsd_add_meta): use ALIGN_VAR
14564 (grub_e820_mmap): new declaration
14565 (grub_freebsd_add_mmap): new function
14566 (grub_freebsd_add_meta_module): support 64 bit kernels
14567 (grub_freebsd_list_modules): use ALIGN_VAR
14568 (gdt_descriptor): new declaration
14569 (grub_freebsd_boot): support 64 bit kernels
14570 (grub_bsd_elf64_hook): new function
14571 (grub_bsd_load_elf): support elf64
14572
038c5720 145732009-05-03 Bean <bean123ch@gmail.com>
14574
14575 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
14576 after we get the result of if statement.
14577
fc45fb58 145782009-05-03 Bean <bean123ch@gmail.com>
14579
14580 * Makefile.in (enable_efiemu): New variable.
14581
14582 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
14583 set.
14584 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
14585 path.
14586 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
14587 path, add -mno-red-zone option.
14588 (efiemu64_s.o): Likewise.
14589 (efiemu64.o): Use macro $^ for source file.
14590
14591 * configure.ac (--enable-efiemu): New option.
14592
bbee0f2b 145932009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14594
14595 xnu support
14596
14597 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
14598 (pkglib_MODULES): add xnu.mod
14599 (xnu_mod_SOURCES): new variable
14600 (xnu_mod_CFLAGS): likewise
14601 (xnu_mod_LDFLAGS): likewise
14602 (xnu_mod_ASFLAGS): likewise
14603 * conf/i386-pc.rmk: likewise
14604 * conf/x86_64-efi.rmk: likewise
7dd4a573 14605 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 14606 new declaration
14607 * include/grub/i386/macho.h: new file
14608 * include/grub/i386/xnu.h: likewise
14609 * include/grub/macho.h: likewise
14610 * include/grub/machoload.h: likewise
14611 * include/grub/x86_64/macho.h: likewise
14612 * include/grub/x86_64/xnu.h: likewise
14613 * include/grub/xnu.h: likewise
14614 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
14615 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
14616 * loader/i386/efi/xnu.c: new file
14617 * loader/i386/pc/xnu.c: likewise
14618 * loader/i386/xnu.c: likewise
14619 * loader/i386/xnu_helper.S: likewise
14620 * loader/macho.c: likewise
14621 * loader/xnu.c: likewise
14622 * loader/xnu_resume.c: likewise
14623 * util/grub-dumpdevtree: likewise
14624 * include/grub/i386/pit.h: include grub/err.h
14625 (grub_pit_wait): export
14626 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 14627
5caf964d 146282009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
14629
14630 Efiemu
7dd4a573 14631
5caf964d 14632 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 14633 _linux_efi, linux_efi.
14634 new files in grub-emu
5caf964d 14635 new targets efiemu32.o and efiemu64.o
14636 * loader/linux_normal_efiemu.c: likewise
14637 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 14638 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 14639 files to copy
14640 * include/grub/autoefi.h: new file
7dd4a573 14641 * include/grub/i386/efiemu.h: likewise
5caf964d 14642 * include/grub/i386/pc/efiemu.h: likewise
14643 * include/grub/efi/api.h: add LL suffix when necessary
14644 new definitions relating to tables
14645 * include/grub/efiemu/efiemu.h: new file
14646 * include/grub/efiemu/runtime.h: likewise
14647 * efiemu/prepare.c: likewise
14648 * efiemu/loadcore_common.c: likewise
14649 * efiemu/loadcore64.c: likewise
14650 * efiemu/runtime/efiemu.sh: likewise
14651 * efiemu/runtime/efiemu.S: likewise
14652 * efiemu/runtime/efiemu.c: likewise
14653 * efiemu/runtime/config.h: likewise
14654 * efiemu/prepare32.c: likewise
14655 * efiemu/main.c: likewise
14656 * efiemu/modules/pnvram.c: likewise
14657 * efiemu/modules/i386: likewise
14658 * efiemu/modules/i386/pc: likewise
14659 * efiemu/modules/acpi.c: likewise
14660 * efiemu/i386/pc/cfgtables.c: likewise
14661 * efiemu/i386/loadcore64.c: likewise
14662 * efiemu/i386/loadcore32.c: likewise
14663 * efiemu/prepare64.c: likewise
14664 * efiemu/loadcore.c: likewise
14665 * efiemu/symbols.c: likewise
14666 * efiemu/mm.c: likewise
14667 * efiemu/loadcore32.c: likewise
7dd4a573 14668
146692009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 14670
14671 ACPI spoofing
14672
14673 * commands/acpi.c: new file
14674 * commands/i386/pc/acpi.c: likewise
14675 * commands/efi/acpi.c: likewise
14676 * include/grub/acpi.h: likewise
14677 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
14678 (acpi_mod_SOURCES): new variable
14679 (acpi_mod_CFLAGS): likewise
14680 (acpi_mod_LDFLAGS): likewise
14681 * conf/i386-efi.rmk: likewise
14682 * conf/x86_64-efi.rmk: likewise
14683
7dd4a573 146842009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 14685
14686 Missing part from mmap patch
14687
14688 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
14689 (grub_mmap_unregister)
14690 (grub_mmap_free_and_unregister): use grub_mmap_register
14691
7dd4a573 146922009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 14693
14694 Mmap services
14695
14696 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
14697 * loader/i386/linux.c (find_mmap_size): likewise
14698 (allocate_pages): likewise
14699 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
14700 (grub_fill_multiboot_mmap): likewise
14701 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
14702 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
14703 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
14704 (OPENBSD_MMAP_RESERVED): likewise
14705 * include/grub/i386/pc/memory.h: include grub/memory.h
14706 (grub_lower_mem): removed
14707 (grub_upper_mem): likewise
14708 (GRUB_MACHINE_MEMORY_ACPI): new definition
14709 (GRUB_MACHINE_MEMORY_NVS): likewise
14710 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
14711 (GRUB_MACHINE_MEMORY_HOLE): likewise
14712 (grub_machine_mmap_register): likewise
14713 (grub_machine_mmap_unregister): likewise
14714 (grub_machine_get_upper): likewise
14715 (grub_machine_get_lower): likewise
14716 (grub_machine_get_post64): likewise
14717 * include/grub/i386/efi/memory.h: new file
14718 * include/grub/x86_64/efi/memory.h: likewise
14719 * include/grub/efi/memory.h: likewise
14720 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
14721 (mmap_mod_SOURCES): new variable
14722 (mmap_mod_LDFLAGS): likewise
14723 (mmap_mod_ASFLAGS): likewise
14724 * conf/i386-coreboot.rmk: likewise
14725 * conf/i386-ieee1275.rmk: likewise
14726 * conf/i386-efi.rmk: likewise
14727 * conf/x86_64-efi.rmk: likewise
14728 * include/grub/types.h (UINT_TO_PTR): new macro
14729 (PTR_TO_UINT32): likewise
14730 (PTR_TO_UINT64): likewise
14731 * include/grub/memory.h: new file
14732 * mmap/i386/pc/mmap.c: likewise
14733 * mmap/i386/pc/mmap_helper.S: likewise
14734 * mmap/i386/uppermem.c: likewise
14735 * mmap/mmap.c: likewise
14736 * mmap/efi/mmap.c: likewise
7dd4a573 14737 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 14738 grub_upper_mem
14739 * kern/i386/pc/init.c (grub_lower_mem): removed variable
14740 (grub_upper_mem): likewise
14741 (grub_machine_init): don't use grub_upper_mem,
14742 make grub_lower_mem local
14743 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
14744 grub_mmap_iterate and grub_mmap_get_upper
14745 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
14746
d558e6b5 147472009-05-02 Bean <bean123ch@gmail.com>
14748
14749 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
14750 script/sh/parser.y.
14751 (pkglib_MODULES): Add normal.mod and sh.mod.
14752 (normal_SOURCES): New variable.
14753 (normal_mod_CFLAGS): Likewise.
14754 (normal_mod_LDFLAGS): Likewise.
14755 (sh_mod_SOURCES): Likewise.
14756 (sh_mod_CFLAGS): Likewise.
14757 (sh_mod_LDFLAGS): Likewise.
14758
14759 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
14760 script/sh/lexer.c_DEPENDENCIES.
14761 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
14762 kern/rescue_reader.c and kern/rescue_parser.c.
14763 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
14764 (grub_emu_SOURCES): Change source files.
14765 (pkglib_MODULES): Remove normal.mod.
14766 (normal_SOURCES): Removed.
14767 (normal_mod_CFLAGS): Likewise.
14768 (normal_mod_LDFLAGS): Likewise.
14769 * conf/i386-coreboot.rmk: Likewise.
14770 * conf/i386-efi.rmk: Likewise.
14771 * conf/i386-ieee1276.rmk: Likewise.
14772 * conf/powerpc-ieee1275.rmk: Likewise.
14773 * conf/sparc64-ieee1275.rmk: Likewise.
14774 * conf/x86_64-efi.rmk: Likewise.
14775
14776 * include/grub/command.h (grub_command_execute): New inline function.
14777
14778 * include/grub/menu.h (grub_menu_entry): Removed commands field.
14779
14780 * include/grub/normal.h: Remove <grub/setjmp.h>.
14781 (grub_fs_module_list): Moved to normal/autofs.c.
14782 (grub_exit_env): Removed.
14783 (grub_command_execute): Likewise.
14784 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
14785 parameter script.
14786 (read_command_list): New function declaration.
14787 (read_fs_list): Likewise.
14788
14789 * include/parser.h: Include <grub/reader.h>.
14790 (grub_parser_split_cmdline): Change type of getline parameter.
14791 (grub_parser): New structure.
14792 (grub_parser_class): New variable.
14793 (grub_parser_execute): New function declaration.
14794 (grub_register_rescue_parser): Likewise.
14795 (grub_parser_register): New inline function.
14796 (grub_parser_unregister): Likewise.
14797 (grub_parser_get_current): Likewise.
14798 (grub_parser_set_current): Likewise.
14799
14800 * include/grub/reader.h: New file.
14801 * kern/reader.c: Likewise.
14802 * kern/rescue_parser.c: Likewise.
14803 * kern/rescue_reader.c: Likewise.
14804 * normal/autofs.c: Likewise.
14805 * normal/dyncmd.c: Likewise.
14806
14807 * include/grub/rescue.h: Removed.
14808 * normal/command.h: Likewise.
14809
14810 * include/grub/script.h: Moved to ...
14811 * include/grub/script_sh.h: ... Moved here.
14812 * normal/execute.c: Moved to ...
14813 * script/sh/execute.c: ... Moved here.
14814 * normal/function.c: Moved to ...
14815 * script/sh/function.c: ... Moved here.
14816 * normal/lexer.c: Moved to ...
14817 * script/sh/lexer.c: ... Moved here.
14818 * normal/parser.y: Moved to ...
14819 * script/sh/parser.y: ... Moved here.
14820 * normal/script.c: Moved to ...
14821 * script/sh/script.c: ... Moved here.
14822
14823 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
14824 <grub/reader.h>.
14825 (grub_exit_env): Removed.
14826 (fs_module_list): Moved to normal/autofs.c.
14827 (grub_file_getline): Don't handle comment here.
14828 (free_menu): Skip removed field entry->commands.
14829 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
14830 script parameter.
14831 (read_config_file): Removed nested parameter, change getline function.
14832 (grub_enter_normal_mode): Removed.
14833 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
14834 (read_command_list): Likewise.
14835 (autoload_fs_module): Moved to normal/autofs.c.
14836 (read_fs_list): Likewise.
14837 (reader_nested): New variable.
14838 (grub_normal_execute): Run parser.sh to switch to sh parser.
14839 (grub_cmd_rescue): Removed.
14840 (cmd_normal): Removed.
14841 (grub_cmd_normal): Unregister itself at the beginning. Don't register
14842 rescue command.
14843 (grub_cmdline_run): New function.
14844 (grub_normal_reader_init): Likewise.
14845 (grub_normal_read_line): Likewise.
14846 (grub_env_write_pager): Likewise.
14847 (cmdline): New variable.
14848 (grub_normal_reader): Likewise.
14849 (GRUB_MOD_INIT): Register normal reader and set as current, register
14850 pager hook, register normal command with grub_register_command_prio,
14851 so that it won't show up in command.lst.
14852 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
14853 grub_fs_autoload_hook.
14854
14855 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
14856 (grub_menu_execute_entry): Replace grub_script_execute with
14857 grub_parser_execute, change parameter to grub_command_execute.
14858
14859 * normal/menu_text.c: Remove <grub/script.h>.
14860
14861 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
14862 and <grub/parser.h>.
14863 (run): Change editor_getline to use new parser interface. Change
14864 parameter to grub_command_execute.
14865
14866 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
14867 <grub/reader.h> and <grub/parser.h>.
14868 (grub_load_normal_mode): Execute normal command.
14869 (grub_main): Call grub_register_core_commands,
14870 grub_register_rescue_parser and grub_register_rescue_reader, use
14871 grub_reader_loop to enter input loop.
14872
7dd4a573 14873 * kern/parser.c (grub_parser_split_cmdline): Change type of
14874 getline parameter.
d558e6b5 14875 (grub_parser_class): New variable.
14876 (grub_parser_execute): New function.
14877
14878 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
14879 * loader/multiboot2.c: Likewise.
14880 * loader/sparc64/ieee1275/linux.c: Likewise.
14881
14882 * util/grub-emu.c (read_command_list): New dummy function.
14883
18db813d 148842009-05-02 Robert Millan <rmh.grub@aybabtu.com>
14885
14886 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
14887 count to 16 for CCISS and IDA.
14888
6c67de15 148892009-05-02 Robert Millan <rmh.grub@aybabtu.com>
14890
14891 * normal/menu_text.c (grub_wait_after_message): Print a newline
14892 after waiting for user input.
14893
14894 * loader/i386/linux.c: Include `<grub/normal.h>'.
14895 (grub_cmd_linux): Improve the error message about `ask' mode, by
14896 waiting for user input so it's not missed (we can do this, since
14897 user requested interaction).
14898
d9dc87b0 148992009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
14900
14901 Added missing lst to grub-mkrescue
14902
14903 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
14904 and ${input_dir}/parttool.lst
14905
ac8a2baa 149062009-04-30 David S. Miller <davem@davemloft.net>
14907
ad22a610 14908 * util/hostdisk.c (device_is_wholedisk): New function.
14909 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
14910 zero only if device_is_wholedisk() returns true.
14911
6966215d 14912 * util/hostdisk.c (convert_system_partition_to_system_disk):
14913 Handle virtual disk devices named /dev/vdiskX as found on sparc
14914 and powerpc.
14915
ac8a2baa 14916 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
14917 lettered partition specifier is found, convert to numbered.
14918
979b4fb4 149192009-04-29 David S. Miller <davem@davemloft.net>
14920
e2bf39b2 14921 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
14922 * include/grub/sparc64/ieee1275/memory.h: Likewise.
14923
3c64e104 14924 * normal/command.c: Add missing newline at end of file.
14925
979b4fb4 14926 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
14927 warnings.
14928 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
14929 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
14930 grub_ofdisk_read): Likewise, and deal similarly with the fact that
14931 ihandles have a 32-bit type but need to be stored in a "void *".
14932
136d9f82 149332009-04-28 Pavel Roskin <proski@gnu.org>
14934
9459c306 14935 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
14936 not disk. Adjust all dependencies.
2e08a26a 14937 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 14938 grub_disk_close().
14939
136d9f82 14940 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
14941 parent's partition, don't copy it by reference, as it gets freed
14942 on close.
14943
7dd4a573 149442009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 14945
14946 Preboot hooks support
14947
14948 * commands/boot.c (struct grub_preboot_t): new declaration
14949 (preboots_head): new variable
14950 (preboots_tail): likewise
14951 (grub_loader_register_preboot_hook): new function
14952 (grub_loader_unregister_preboot_hook): likewise
14953 (grub_loader_set): launch preboot hooks
14954 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
14955 (grub_loader_register_preboot_hook): new declaration
14956 (grub_loader_unregister_preboot_hook): likewise
14957
5af922b5 149582009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
14959
14960 Warning fix
14961
7dd4a573 14962 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 14963 calling grub_dprintf
14964
a5562c30 149652009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
14966
14967 Bug and warning fixes
14968
7dd4a573 14969 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 14970 declaration
14971 * commands/test.c (test_parse): fixed bug with file tests and corrected
14972 declaration of find_file
14973
4006f85c 149742009-04-26 Pavel Roskin <proski@gnu.org>
14975
14976 * Makefile.in: Don't install empty manual pages if help2man is
14977 missing. Use help2man option for output, not shell redirection.
14978
5c77c3de 149792009-04-26 David S. Miller <davem@davemloft.net>
14980
14981 * util/grub-mkdevicemap.c (make_device_map): Add missing
14982 NESTED_FUNC_ATTR to process_device().
14983
033b10a8 149842009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14985
14986 Test command
14987
14988 * commands/test.c: rewritten to use bash-like test
14989
e4343593 149902009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14991
14992 Parttool autoloading and improvements
14993
7dd4a573 14994 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 14995 (parttool.lst): new target
14996 * genmk.rb: generate parttool-*
14997 (CLEANFILES): add #{parttool}
14998 (PARTTOOLFILES): new variable
14999 * genparttoollist.sh: new file
7dd4a573 15000 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 15001 (grub_pcpart_type): likewise
15002 * commands/parttool.c (helpmsg): new variable
15003 (grub_cmd_parttool): output help if not enough arguments are supplied
15004 autoload modules
15005 (GRUB_MOD_INIT(parttool)): use helpmsg
15006
0d312500 150072009-04-24 David S. Miller <davem@davemloft.net>
15008
7dd4a573 15009 Avoiding opening same device multiple times in device iterator.
0d312500 15010
15011 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 15012 and use it to build a list of partitions in iterate_disk() and
0d312500 15013 iterate_partition().
15014
ac20caff 15015 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
15016 on disk->data.
15017
0dcf7495 15018 * disk/ieee1275/nand.c (grub_nand_iterate): Return
15019 grub_devalias_iterate() result instead of unconditional 0.
15020 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
15021 Also, capture hook return value, either directly or via
15022 grub_children_iterate(), and propagate to caller.
15023 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
15024 grub_children_iterate): Return value is now 'int' instead of
15025 'grub_err_t'.
15026 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
15027 like a proper iterator, stopping when hooks return non-zero.
15028 (grub_devalias_iterate): Likewise.
15029
c8c08833 150302009-04-23 David S. Miller <davem@davemloft.net>
15031
15032 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
15033
f01005a8 150342009-04-22 David S. Miller <davem@davemloft.net>
15035
15036 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
15037 is larger than address_cells, use that value for address_cells too.
15038
4e8269da 15039 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
15040 IEEE1275_MAX_PATH_LEN): Define.
15041 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
15042 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
15043 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
15044 'devtype'. Explicitly NULL terminate devalias expansion.
15045
a1447506 15046 * util/sparc64/ieee1275/misc.c: New file.
15047 * util/sparc64/ieee1275/grub-setup.c: New file.
15048 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
15049 * util/sparc64/ieee1275/grub-mkimage.c: New file.
15050 * util/sparc64/ieee1275/grub-install.in: New file.
15051 * util/ieee1275/ofpath.c: New file.
15052 * util/ieee1275/devicemap.c: New file.
15053 * util/devicemap.c: New file.
15054 * util/deviceiter.c: New file.
15055 * kern/sparc64/ieee1275/init.c: New file.
15056 * include/grub/util/ofpath.h: New file.
15057 * include/grub/util/deviceiter.h: New file.
15058 * util/grub-mkdevicemap.c: Include deviceiter.h.
15059 Implement using grub_util_emit_devicemap_entry and
15060 grub_util_iterate_devices.
15061 * conf/i386-corebook.rmk: Build util/deviceiter.c and
15062 util/devicemap.c into grub-mkdevicemap
15063 * conf/i386-efi.rmk: Likewise.
15064 * conf/i386-ieee1275.rmk: Likewise.
15065 * conf/i386-pc.rmk: Likewise.
15066 * conf/powerpc-ieee1275.rmk: Likewise.
15067 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
15068 images and installation utilities. Build kernel as image
15069 instead of as elf binary. Use common rules as much as possible.
15070
7dd4a573 150712009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 15072
15073 Correct GPT definition
15074
7dd4a573 15075 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 15076 of "attrib" member
15077
c6c5219f 150782009-04-19 Felix Zielcke <fzielcke@z-51.de>
15079
15080 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
15081
0552ff9f 150822009-04-19 David S. Miller <davem@davemloft.net>
15083
15084 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
15085 (grub_rescue_cmd_linux): Rename to...
15086 (grub_cmd_linux): and fix prototype.
15087 (grub_rescue_cmd_initrd): Rename to...
15088 (grub_cmd_initrd): and fix prototype.
15089 (cmd_linux, cmd_initrd): New.
15090 (GRUB_MOD_INIT(linux)): Use grub_register_command().
15091 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
15092
d1a282fc 150932009-04-17 Pavel Roskin <proski@gnu.org>
15094
07c5039f 15095 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
15096 format.
15097 (grub_ohci_transfer): Likewise.
15098
b012002d 15099 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
15100
1bc09c35 15101 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
15102 return without a value. Fix inconsistent indentation.
15103
e0ff9126 15104 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
15105 match struct grub_fs.
15106
d1a282fc 15107 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
15108 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
15109 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
15110 * commands/lspci.c (grub_lspci_iter): Likewise.
15111
a96df3f2 151122009-04-16 Bean <bean123ch@gmail.com>
15113
15114 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
15115 value.
15116
41bb0fe9 151172009-04-15 Pavel Roskin <proski@gnu.org>
15118
15119 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
15120 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
15121 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
15122 definitions.
15123
596c6970 151242009-04-15 Felix Zielcke <fzielcke@z-51.de>
15125
15126 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 15127 that no multiple data or metadata areas are supported and `Unknown
596c6970 15128 metadata header'.
15129
7dd4a573 151302009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 15131
15132 Move loader out of the kernel
15133
15134 * kern/loader.c: moved to ...
15135 * commands/boot.c: ... moved here
15136 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
15137 * commands/boot.c (grub_cmd_boot): moved here. All users updated
15138 * include/grub/kernel.h (grub_machine_fini): export
15139 * include/grub/loader.h (grub_loader_is_loaded): update declaration
15140 (grub_loader_set): likewise
15141 (grub_loader_unset): likewise
15142 (grub_loader_boot): likewise
15143 * conf/common.rmk: new module boot.mod
15144 (pkglib_MODULES): add boot.mod
15145 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
15146 (grub_emu_SOURCES): likewise
15147 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
15148 (grub_emu_SOURCES): likewise
15149 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
15150 (grub_emu_SOURCES): likewise
15151 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
15152 (grub_emu_SOURCES): likewise
15153 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
15154 (grub_emu_SOURCES): likewise
7dd4a573 15155 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
15156 (grub_emu_SOURCES): likewise
0d5d5653 15157 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 15158 (grub_emu_SOURCES): likewise
0d5d5653 15159
7dd4a573 151602009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 15161
15162 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 15163
5999d619 15164 * kern/misc.c (grub_itoa): Removed function
15165 (grub_ltoa): likewise
15166 (grub_vsprintf): use grub_lltoa
15167
7dd4a573 151682009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 15169
15170 Restore grub-emu
15171
15172 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
15173 * conf/i386-coreboot.rmk: likewise
15174 * conf/i386-ieee1275.rmk: likewise
15175 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 15176
20318222 151772009-04-15 Felix Zielcke <fzielcke@z-51.de>
15178
15179 * INSTALL: Add that `./autogen.sh' needs to be run before
15180 `./configure.'.
15181
d05f0df3 151822009-04-14 Bean <bean123ch@gmail.com>
15183
15184 * Makefile.in (pkglib_DATA): Add handler.lst.
15185 (handler.lst): New rule.
15186
15187 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
15188 * conf/i386-coreboot.rmk: Likewise.
15189 * conf/i386-ieee1275.rmk: Likewise.
15190 * conf/i386-efi.rmk: Likewise.
15191 * conf/x86_64-efi.rmk: Likewise.
15192 * conf/powerpc-ieee1275.rmk: Likewise.
15193 * conf/sparc64-ieee1275.rmk: Likewise.
15194
15195 * genhandlerlist.sh: New file.
15196
15197 * genmk.rb: Add rules to generate handler.lst.
15198
15199 * include/grub/normal.h (grub_file_getline): New function definition.
15200 (read_handler_list): Likewise.
15201 (free_handler_list): Likewise.
15202
15203 * include/grub/term.h (grub_term_register_input): Add name parameter
15204 for auto generation of handler.lst.
15205 (grub_term_register_output): Likewise.
15206
15207 * normal/handler.c: New file.
15208
15209 * normal/main.c (get_line): Renamed to grub_file_getline.
15210 (read_config_file): Use the newly renamed grub_file_getline.
15211 (read_command_list): Likewise.
15212 (read_fs_list): Likewise.
15213 (grub_normal_execute): Call read_handler_list to parse handler.lst.
15214 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
15215
15216 * term/efi/console.c (grub_console_init): Add name parameter for auto
15217 generation of handler.lst.
15218 * term/gfxterm.c: Likewise.
15219 * term/i386/pc/at_keyboard.c: Likewise.
15220 * term/i386/pc/console.c: Likewise.
15221 * term/i386/pc/serial.c: Likewise.
15222 * term/i386/pc/vesafb.c: Likewise.
15223 * term/i386/pc/vga.c: Likewise.
15224 * term/i386/pc/vga_text.c: Likewise.
15225 * term/ieee1275/ofconsole.c: Likewise.
15226 * term/usb_keyboard.c: Likewise.
15227
33c846be 152282009-04-14 Bean <bean123ch@gmail.com>
15229
15230 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
15231 properly with null character.
15232
4484e01e 152332009-04-14 Felix Zielcke <fzielcke@z-51.de>
15234
15235 * configure: Remove.
15236 * config.h.in: Likewise.
f93d668e 15237 * stamp-h.in: Likewise.
4484e01e 15238 * DISTLIST: Likewise.
15239 * conf/common.mk: Likewise.
15240 * conf/i386-coreboot.mk: Likewise.
15241 * conf/i386-efi.mk: Likewise.
15242 * conf/i386-ieee1275.mk: Likewise.
15243 * conf/i386.mk: Likewise.
15244 * conf/i386-pc.mk: Likewise.
15245 * conf/powerpc-ieee1275.mk: Likewise.
15246 * conf/sparc64-ieee1275.mk: Likewise.
15247 * conf/x86_64-efi.mk: Likewise.
15248
15249 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
15250 develop on GRUB.
15251
7dd4a573 152522009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 15253 David S. Miller <davem@davemloft.net>
15254
15255 * util/hostdisk.c (make_device_name): Fix buffer length
15256 calculations.
15257
e25b5a8c 152582009-04-14 Felix Zielcke <fzielcke@z-51.de>
15259
15260 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
15261 <sys/param.h> and <sys/sysctl.h>.
15262 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
15263 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
15264 opening the device and reset them afterwards.
15265
1f1f580c 152662009-04-13 Pavel Roskin <proski@gnu.org>
15267
15268 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
15269 Reported by John Stanley <jpsinthemix@verizon.net>
15270
7ebc2d6b 152712009-04-13 Robert Millan <rmh@aybabtu.com>
15272
15273 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 15274 that name for menuentries when appropriate.
7ebc2d6b 15275
d8ba3667 152762009-04-13 Felix Zielcke <fzielcke@z-51.de>
15277
15278 * util/grub.d/10_freebsd.in: Add a missing `fi'.
15279
cba416eb 152802009-04-13 Robert Millan <rmh@aybabtu.com>
15281
15282 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
15283 to Linux, simply abort telling the user it's no longer supported.
15284
a547a745 152852009-04-13 Felix Zielcke <fzielcke@z-51.de>
15286
15287 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 15288 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 15289 `freebsd_loadenv' only when devices.hints exist.
15290
232a769c 152912009-04-13 Pavel Roskin <proski@gnu.org>
15292
15293 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
15294
c3012039 152952009-04-13 Felix Zielcke <fzielcke@z-51.de>
15296
15297 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
15298 partition number.
15299 (grub_drive): Likewise.
15300
234022fe 153012009-04-13 David S. Miller <davem@davemloft.net>
15302
15303 * kern/sparc64/ieee1275/ieee1275.c: New file.
15304 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
15305 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
15306 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
15307 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
15308 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
15309 grub_ieee1275_alloc_physmem): Declare new exported functions.
15310
d8e1836c 15311 * include/grub/sparc64/ieee1275/loader.h: New file.
15312 * include/grub/sparc64/ieee1275/memory.h: Likewise.
15313 * include/grub/sparc64/kernel.h: Likewise.
15314 * loader/sparc64/ieee1275/linux.c: Likewise.
15315
96bd81ec 15316 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
15317 (grub_fstest_SOURCES): Likewise.
15318
6a4737e5 15319 * util/hostdisk.c (make_device_name): Do not make any assumptions
15320 about the length of drive names.
15321
1d7a72fd 15322 * kern/dl.c (grub_dl_load_file): Close file immediately when
15323 we are done using it.
15324
56bc2471 153252009-04-12 David S. Miller <davem@davemloft.net>
15326
15327 * kern/misc.c (grub_ltoa): Fix cast when handling negative
15328 values. Noticed by Pavel Roskin.
15329
df38d0bb 15330 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
15331 target compiler.
7dd4a573 15332
e382e93a 15333 * genmk.rb: Add more flexible image type specification, also
15334 pass --strip-unneeded to objcopy.
15335 * conf/i386-pc.rmk: Use *_FORMAT.
15336 * conf/i386-pc.mk: Rebuilt.
15337
f5dbbca9 15338 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
15339 (OFDISK_HASH_SZ): Define.
15340 (ofdisk_hash): New hash table.
15341 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
15342 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
15343 instead of device phandle which is not unique.
15344
91c88b12 15345 * kern/sparc64/ieee1275/init.c: Delete, replace with...
15346 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
15347 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
15348 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
15349 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
15350 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
15351 GRUB_KERNEL_MACHINE_DATA_END): Define.
15352 (grub_kernel_image_size, grub_total_module_size): Declare.
15353
5b5d4aa5 153542009-04-12 Pavel Roskin <proski@gnu.org>
15355
7dd4a573 15356 * configure.ac: Change the logic when we check for target tools.
15357 Do it when the target is specified and it's different from the
15358 specified value of the host.
5b5d4aa5 15359
c91e1793 153602009-04-11 Felix Zielcke <fzielcke@z-51.de>
15361
15362 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
15363 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
15364 GNU/kFreeBSD. Check if a device is a character device. Use
15365 DIOCGMEDIASIZE to get the size.
15366 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
15367 support for GNU/kFreeBSD.
15368 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
15369 is a character device instead of a block device. Add support for
15370 FreeBSD device names.
15371
15372 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
15373 is a character device instead of a block device.
15374
15375 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
15376 is a character device instead of a block device.
15377
b1ac8644 153782009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
15379
15380 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
15381 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
15382 FreeBSD. Check if a device is a character device. Use
15383 DIOCGMEDIASIZE to get the size.
15384 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
15385 support for FreeBSD.
15386 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
15387 is a character device instead of a block device. Add support for
15388 FreeBSD device names.
15389
15390 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
15391 a character device instead of a block device.
15392 (grub_util_check_char_device): New function.
15393
15394 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
15395 a character device instead of a block device.
15396
15397 * include/grub/util/getroot.h (grub_util_check_char_device): New
15398 prototype.
15399
a3f7515a 154002009-04-11 David S. Miller <davem@davemloft.net>
15401
15402 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
15403 static libgcc.
15404 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
15405 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
15406 function, if present.
15407 (__bswapdi2): Likewise.
15408
0d44993d 15409 * include/grub/sparc64/ieee1275/boot.h: New file.
15410 * boot/sparc64/ieee1275/boot.S: Likewise.
15411 * boot/sparc64/ieee1275/diskboot.S: Likewise.
15412
ed3d2bc2 15413 * kern/misc.c (grub_ltoa): New function.
15414 (grub_vsprintf): Use it to format 'long' integers.
15415
d3bfb59c 154162009-04-10 David S. Miller <davem@davemloft.net>
15417
15418 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
15419 slots are of type grub_ieee1275_cell_t.
15420 (grub_nand_read): Likewise.
15421 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
15422 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
15423 macros are used to compare values in arg/ret block of the call.
15424 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
15425 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
15426 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
15427 grub_ieee1275_instance_to_path, grub_ieee1275_write,
15428 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
15429 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
15430 grub_ieee1275_close, grub_ieee1275_set_property,
15431 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
15432 grub_ieee1275_cell_t.
15433 * kern/ieee1275/openfw.c (grub_map): Likewise.
15434 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
15435 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
15436
450e2238 15437 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
15438 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
15439 (grub_devalias_iterate): Likewise.
15440
7dd4a573 154412009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 15442
15443 UFS improvements
15444
15445 * fs/ufs.c (INODE_NBLOCKS): new definition
15446 (struct grub_ufs_dirent): added fields for non-BSD dirents
15447 (grub_ufs_get_file_block): fixed double indirect handling
15448 (grub_ufs_lookup_symlink): use more robust way to determine whether
15449 symlink is inline
15450 (grub_ufs_find_file): support for non-BSD dirents
15451 (grub_ufs_dir): support for non-BSD dirents
15452
e7e6862a 154532009-04-10 Bean <bean123ch@gnail.com>
15454
15455 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
15456 attribute, otherwise the size would be wrong for i386 platform.
15457
15458 * include/grub/pci.h (grub_pci_read_word): New inline function.
15459 (grub_pci_read_byte): Likewise.
15460 (grub_pci_write): Likewise.
15461 (grub_pci_write_word): Likewise.
15462 (grub_pci_write_byte): Likewise.
15463
15464 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
15465
15466 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
15467 (find_framebuf): Scan pci to locate the frame buffer address.
15468
15469 * commands/efi/fixvideo.c: New file.
15470
15471 * commands/efi/loadbios.c: Likewise.
15472
15473 * commands/memrw.c: Likewise.
15474
15475 * util/grub-dumpbios.in: Likewise.
15476
15477 * conf/common.rmk (grub-dumpbios): New utility.
15478 (pkglib_MODULES): New module memrw.mod.
15479 (memrw_mod_SOURCE): New macro.
15480 (memrw_mod_CFLAGS): Likewise.
15481 (memrw_mod_LDFLAGS): Likewise.
15482
7dd4a573 15483 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 15484 fixvideo.mod.
15485 (loadbios_mod_SOURCE): New macro.
15486 (loadbios_mod_CFLAGS): Likewise.
15487 (loadbios_mod_LDFLAGS): Likewise.
15488 (fixvideo_mod_SOURCE): Likewise.
15489 (fixvideo_mod_CFLAGS): Likewise.
15490 (fixvideo_mod_LDFLAGS): Likewise.
15491
7dd4a573 15492 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 15493 fixvideo.mod.
15494 (loadbios_mod_SOURCE): New macro.
15495 (loadbios_mod_CFLAGS): Likewise.
15496 (loadbios_mod_LDFLAGS): Likewise.
15497 (fixvideo_mod_SOURCE): Likewise.
15498 (fixvideo_mod_CFLAGS): Likewise.
15499 (fixvideo_mod_LDFLAGS): Likewise.
15500
af63ada2 155012009-04-08 Felix Zielcke <fzielcke@z-51.de>
15502
15503 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
15504
c2cdde70 155052009-04-07 David S. Miller <davem@davemloft.net>
15506
15507 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
15508 support for R_SPARC_OLO10 relocations. Fix compile warning for
15509 R_SPARC_WDISP30 case.
ea3f72cf 15510 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 15511
761319cf 155122009-04-06 Pavel Roskin <proski@gnu.org>
15513
1007d1f5 15514 * include/grub/misc.h (ARRAY_SIZE): New macro.
15515 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
15516 New macro.
15517 * loader/i386/linux.c (allocate_pages): Use free_pages().
15518 (grub_linux_unload): Don't use free_pages().
15519 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
15520 wrong index. Treat all other modes as text modes.
15521 (grub_cmd_linux): Initialize vid_mode unconditionally to
15522 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
15523
761319cf 15524 * commands/help.c (print_command_help): Use cmd->prio, not
15525 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
15526
ea761d40 155272009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 15528
ea761d40 15529 Parttool
15530
15531 * parttool/pcpart.c: new file
15532 * commands/parttool.c: likewise
15533 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
15534 (parttool_mod_SOURCES): new variable
15535 (parttool_mod_CFLAGS): likewise
15536 (parttool_mod_LDFLAGS): likewise
15537 (pcpart_mod_SOURCES): likewise
15538 (pcpart_mod_CFLAGS): likewise
15539 (pcpart_mod_LDFLAGS): likewise
7dd4a573 15540 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 15541 and parttool/pcpart.c
15542 * conf/i386-efi.rmk: likewise
15543 * conf/i386-ieee1275.rmk: likewise
15544 * conf/i386-pc.rmk: likewise
15545 * conf/powerpc-ieee1275.rmk: likewise
15546 * conf/sparc64-ieee1275.rmk: likewise
15547 * conf/x86_64-ieee1275.rmk: likewise
15548
05aaebfb 155492009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15550
15551 Support for mtime and further expandability of dir command
15552
15553 * include/grub/lib/datetime.h: moved to ...
7dd4a573 15554 * include/grub/datetime.h: ... moved here and added
05aaebfb 15555 declaration of grub_unixtime2datetime. All users updated
7dd4a573 15556 * include/grub/fs.h: new syntax for dir and mtime functions in
15557 struct grub_fs
05aaebfb 15558 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
15559 and GRUB_FSHELP_FLAGS_MASK
15560 * commands/ls.c (grub_ls_list_files): Write mtime in long format
15561 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
15562 (grub_ext2_mtime): new function
15563 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
15564 (grub_hfsplus_mtime): new function
15565 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
15566 (GRUB_UFS_ATTR_FILE): likewise
15567 (GRUB_UFS_ATTR_LNK): likewise
15568 (struct grub_ufs_sblock): new fields mtime
15569 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
15570 all users updated
15571 (grub_ufs_dir): mtime support
15572 (grub_ufs_mtime): new function
15573 * fs/affs.c (grub_affs_dir): use new dir syntax
15574 * fs/afs.c (grub_afs_dir): likewise
15575 * fs/cpio.c (grub_cpio_dir): likewise
15576 * fs/fat.c (grub_fat_find_dir): likewise
15577 * fs/hfs.c (grub_hfs_dir): likewise
15578 * fs/iso9660.c (grub_iso9660_dir): likewise
15579 * fs/jfs.c (grub_jfs_dir): likewise
15580 * fs/minix.c (grub_minix_dir): likewise
15581 * fs/ntfs.c (grub_ntfs_dir): likewise
15582 * fs/reiserfs.c (grub_reiserfs_dir): likewise
15583 * fs/sfs.c (grub_sfs_dir): likewise
15584 * fs/xfs.c (grub_xfs_dir): likewise
15585 * util/hostfs.c (grub_hostfs_dir): likewise
15586 * lib/datetime.c: moved to ...
15587 * normal/datetime.c: ... moved here
15588 (grub_unixtime2datetime): new function
15589 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 15590 * normal/completion.c (iterate_dir): use new dir syntax
15591 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 15592 last modification time of a volume
7dd4a573 15593 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 15594 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 15595 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 15596 (normal_mod_SOURCES): likewise
15597 (datetime_mod_SOURCES): Removed lib/datetime.c
15598 * conf/i386-efi.rmk: likewise
7dd4a573 15599 * conf/i386-ieee1275.rmk: likewise
05aaebfb 15600 * conf/i386-pc.rmk: likewise
15601 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 15602 * conf/sparc64-ieee1275.rmk: likewise
15603 * conf/x86_64-efi.rmk: likewise
05aaebfb 15604
8a7e1a14 156052009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15606
15607 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 15608
15609 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 15610 on grub_fat_find_dir
15611 (grub_fat_find_dir): use grub_fat_iterate_dir
15612 (grub_fat_label): likewise
15613
04186a9c 156142009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
15615
7dd4a573 15616 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 15617 and command.h
15618 remove extraneous kernel_elf_HEADERS
15619
da4c0bb6 156202009-04-04 Bean <bean123ch@gnail.com>
15621
15622 * include/grub/util/misc.h: Add dummy function fsync for mingw.
15623
15624 * util/misc.c: Likewise.
15625
54ad9555 156262009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
15627
15628 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
15629 instead of grub_printf.
15630
7a6bf9f2 156312009-04-03 Robert Millan <rmh@aybabtu.com>
15632
15633 * loader/i386/linux.c (grub_linux_setup_video): Fill
15634 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
15635 values from `mode info' structure instead of hardcoded
15636 values.
15637
3fcc2083 156382009-04-01 Pavel Roskin <proski@gnu.org>
15639
15640 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
15641 unused now.
15642 * genmk.rb: Likewise.
15643 * configure.ac: Likewise.
15644
5ec9740b 156452009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
15646
15647 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
15648 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
15649
5270cec8 156502009-04-01 David S. Miller <davem@davemloft.net>
15651
15652 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 15653 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 15654 (grub_setjmp): Mark with 'returns_twice' attribute.
15655 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
15656 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
15657 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
15658
9c3dd854 156592009-04-01 Robert Millan <rmh@aybabtu.com>
15660
15661 Reapply fix from 2008-07-28 which was accidentally reverted; also
15662 perform the same fix to a similar check in same function.
15663
15664 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
15665 with the same number are found, just use issue a warning with
15666 grub_dprintf(), as this error has been reported to be non-fatal.
15667
0d818b7e 156682009-03-31 Pavel Roskin <proski@gnu.org>
15669
15670 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
15671 for cross-compilation.
15672
95646d92 156732009-03-30 Robert Millan <rmh@aybabtu.com>
15674
15675 Fix i386-ieee1275 build.
15676
15677 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
15678 Remove declaration.
15679
6a003ed1 156802009-03-30 Pavel Roskin <proski@gnu.org>
15681
15682 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
15683 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
15684 zero-terminated, rely only on the strlen value. Fix comparison
15685 of strings differing in length.
15686
92f33540 156872009-03-30 Robert Millan <rmh@aybabtu.com>
15688
15689 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
15690 checking for abi version. Improve error messages on BIOS to notify
15691 user about `linux16' command.
15692
a8c48fd5 156932009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15694
f968172e 15695 Leak fixes
a8c48fd5 15696
f968172e 15697 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
15698 in case of collision
15699 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 15700
9c323f09 157012009-03-29 Robert Millan <rmh@aybabtu.com>
15702
15703 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
15704 set `vid_mode' accordingly.
15705 (grub_linux_boot): Process `vid_mode' and set video mode.
15706
ae68f423 157072009-03-29 Robert Millan <rmh@aybabtu.com>
15708
15709 * util/grub.d/10_linux.in (linux_entry): New function.
15710 Factorize generation of Linux boot entries.
15711
5709cfc4 157122009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
15713
15714 Make the format of Environment Block plain text. The boot loader
15715 part is not tested well yet.
7dd4a573 15716
5709cfc4 15717 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
15718 (buffer): Removed.
15719 (envblk): Likewise.
15720 (usage): Remove "info" and "clear". Add "unset". Update the
15721 description of "set", as this does not delete variables any
15722 longer.
15723 (create_envblk_file): Complete rewrite.
15724 (open_envblk_file): Likewise.
15725 (cmd_info): Removed.
15726 (cmd_list): Likewise.
15727 (cmd_set): Likewise.
15728 (cmd_clear): Likewise.
15729 (list_variables): New function.
15730 (write_envblk): Likewise.
15731 (set_variables): Likewise.
15732 (unset_variables): Likewise.
15733 (main): Complete rewrite.
15734
15735 * commands/loadenv.c (buffer): Removed.
15736 (envblk): Likewise.
15737 (open_envblk_file): New function.
15738 (read_envblk_file): Complete rewrite.
15739 (grub_cmd_load_env): Likewise.
15740 (grub_cmd_list_env): Likewise.
15741 (struct blocklist): New struct.
15742 (free_blocklists): New function.
15743 (check_blocklists): Likewise.
15744 (write_blocklists): Likewise.
15745 (grub_cmd_save_env): Complete rewrite.
15746
15747 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
15748 a plain text signature.
15749 (GRUB_ENVBLK_MAXLEN): Removed.
15750 (struct grub_envblk): Complete rewrite.
15751 (grub_envblk_find): Removed.
15752 (grub_envblk_insert): Likewise.
15753 (grub_envblk_open): New prototype.
15754 (grub_envblk_set): Likewise.
15755 (grub_envblk_delete): Put const to VALUE.
15756 (grub_envblk_iterate): Put const to NAME and VALUE.
15757 (grub_envblk_close): New prototype.
15758 (grub_envblk_buffer): New inline function.
15759 (grub_envblk_size): Likewise.
15760
15761 * lib/envblk.c: Include grub/mm.h.
15762 (grub_env_find): Removed.
15763 (grub_envblk_open): New function.
15764 (grub_envblk_close): Likewise.
15765 (escaped_value_len): Likewise.
15766 (find_next_line): Likewise.
15767 (grub_envblk_insert): Removed.
15768 (grub_envblk_set): New function.
15769 (grub_envblk_delete): Complete rewrite.
15770 (grub_envblk_iterate): Likewise.
15771
a9368fd3 157722009-03-28 Robert Millan <rmh@aybabtu.com>
15773
15774 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
15775 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
15776 variables. Use 16-bit loader.
15777 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
15778 loader.
15779 * kern/i386/loader.S (grub_linux_boot): Rename to ...
15780 (grub_linux16_boot): ... this. Update all users.
15781 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
15782 (grub_linux_boot): ... this. Update all users.
15783
15784 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
15785 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
15786 commands to `linux16' and `initrd16'.
15787 (GRUB_MOD_FINI(linux)): Rename to ...
15788 (GRUB_MOD_FINI(linux16)): ... this.
15789
e4dd5a7e 157902009-03-24 Pavel Roskin <proski@gnu.org>
15791
15792 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
15793 not just for compilation.
15794
c04d6e05 157952009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
15796
15797 Move multiboot helper out of kernel
15798
15799 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
15800 `loader/i386/multiboot_helper.S'.
15801 * conf/i386-coreboot.rmk: Likewise
15802 * conf/i386-ieee1275.rmk: Likewise
15803
15804 * kern/i386/loader.S: Move multiboot helpers from here...
15805 * loader/i386/multiboot_helper.S: ...moved here
15806 * include/grub/i386/loader.h: Move declarations of multiboot
15807 helpers from here...
15808 * include/grub/i386/multiboot.h: ...moved here
15809 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
15810
42a5b3fc 158112009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
15812
15813 * kern/env.c (grub_env_context_open): Added an argument to specify
15814 whether a new context inherits exported variables from current
15815 one. This is useful when making a sandbox to interpret a config
15816 file.
15817 All callers updated.
15818
15819 * include/grub/env.h (grub_env_context_open): Updated the prototype.
15820
b28bbc4e 158212009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
15822
15823 * kern/env.c (grub_env_context_close): Fix memory leaks.
15824
f04f02e4 158252009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
15826
15827 * normal/main.c (grub_normal_execute): Added an argument
15828 BATCH to specify if an interactive interface should be provided
15829 after reading a config file.
15830 All callers updated.
15831 (read_command_list): Prevent being executed twice.
15832 (read_fs_list): Likewise.
15833
42a5b3fc 15834 * include/grub/normal.h (grub_normal_execute): Updated the
15835 prototype.
f04f02e4 15836
41473ac2 158372009-03-22 Pavel Roskin <proski@gno.org>
15838
fbc00b0c 15839 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
15840 _start.
15841 * kern/i386/pc/startup.S: Likewise.
15842 * kern/i386/efi/startup.S: Likewise.
15843 * kern/i386/ieee1275/startup.S: Likewise.
15844 * kern/i386/coreboot/startup.S: Likewise.
15845 * kern/x86_64/efi/startup.S: Likewise.
15846
41473ac2 15847 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
15848 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
15849 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
15850
2274cc8f 158512009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
15852
15853 Bugfixes in multiboot for bugs uncovered by solaris kernel.
15854
15855 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
15856 limit detection.
15857 Use vaddr of correct segment for entry_point.
15858
b1b797cb 158592009-03-21 Bean <bean123ch@gmail.com>
15860
15861 * commands/blocklist.c: Add include file <grub/command.h>, remove
15862 <grub/normal.h> and <grub/arg.h>.
15863 (grub_cmd_blocklist): Use the new command interface.
15864 (GRUB_MOD_INIT): Likewise.
15865 (GRUB_MOD_FINI): Likewise.
15866 * commands/boot.c: Likewise.
15867 * commands/cat.c: Likewise.
15868 * commands/cmp.c: Likewise.
15869 * commands/configfile.c: Likewise.
15870 * commands/crc.c: Likewise.
15871 * commands/echo.c: Likewise.
15872 * commands/halt.c: Likewise.
15873 * commands/handler.c: Likewise.
15874 * commands/hdparm.c: Likewise.
15875 * commands/help.c: Likewise.
15876 * commands/hexdump.c: Likewise.
15877 * commands/loadenv.c: Likewise.
15878 * commands/ls.c: Likewise.
15879 * commands/lsmmap.c: Likewise.
15880 * commands/lspci.c: Likewise.
15881 * commands/loadenv.c: Likewise.
15882 * commands/read.c: Likewise.
15883 * commands/reboot.c: Likewise.
15884 * commands/search.c: Likewise.
15885 * commands/sleep.c: Likewise.
15886 * commands/test.c: Likewise.
15887 * commands/usbtest.c: Likewise.
15888 * commands/videotest.c: Likewise.
15889 * commands/i386/cpuid.c: Likewise.
15890 * commands/i386/pc/halt.c: Likewise.
15891 * commands/i386/pc/play.c: Likewise.
15892 * commands/i386/pc/pxecmd.c: Likewise.
15893 * commands/i386/pc/vbeinfo.c: Likewise.
15894 * commands/i386/pc/vbetest.c: Likewise.
15895 * commands/ieee1275/suspend.c: Likewise.
15896 * disk/loopback.c: Likewise.
15897 * font/font_cmd.c: Likewise.
15898 * hello/hello.c: Likewise.
15899 * loader/efi/appleloader.c: Likewise.
15900 * loader/efi/chainloader.c: Likewise.
15901 * loader/i386/bsd.c: Likewise.
15902 * loader/i386/efi/linux.c: Likewise.
15903 * loader/i386/ieee1275/linux.c: Likewise.
15904 * loader/i386/linux.c: Likewise.
15905 * loader/i386/pc/chainloader.c: Likewise.
15906 * loader/i386/pc/linux.c: Likewise.
15907 * loader/powerpc/ieee1275/linux.c: Likewise.
15908 * loader/multiboot_loader.c: Likewise.
15909 * term/gfxterm.c: Likewise.
15910 * term/i386/pc/serial.c: Likewise.
15911 * term/terminfo.c: Likewise.
15912
15913 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
15914 * term/i386/pc/vga.c: Likewise.
15915 * video/readers/jpeg.c: Likewise.
15916 * video/readers/png.c: Likewise.
15917 * video/readers/tga.c: Likewise.
15918
15919 * util/grub-fstest (cmd_loopback): Removed.
15920 (cmd_blocklist): Likewise.
15921 (cmd_ls): Likewise.
15922 (grub_register_command): Likewise.
15923 (grub_unregister_command): Likewise.
15924 (execute_command): Use grub_command_find to locate command and execute
15925 it.
15926
15927 * include/grub/efi/chainloader.h: Removed.
15928 * loader/efi/chainloader_normal.c: Likewise.
15929 * loader/i386/bsd_normal.c: Likewise.
15930 * loader/i386/pc/chainloader_normal.c: Likewise.
15931 * loader/i386/pc/multiboot_normal.c: Likewise.
15932 * loader/linux_normal.c: Likewise.
15933 * loader/multiboot_loader_normal.c: Likewise.
15934 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
15935
15936 * gencmdlist.sh: Scan new registration command grub_register_extcmd
15937 and grub_register_command_p1.
15938
15939 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
15940 kern/command.c, lib/arg.c and commands/extcmd.c.
15941 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
15942 (minicmd_mod_SOURCES): New variable.
15943 (minicmd_mod_CFLAGS): Likewise.
15944 (minicmd_mod_LDFLAGS): Likewise.
15945 (extcmd_mod_SOURCES): Likewise.
15946 (extcmd_mod_CFLAGS): Likewise.
15947 (extcmd_mod_LDFLAGS): Likewise.
15948 (boot_mod_SOURCES): Removed.
15949 (boot_mod_CFLAGS): Likewise.
15950 (boot_mod_LDFLAGS): Likewise.
15951
15952 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
15953 kern/corecmd.c.
15954 (kernel_img_HEADERS): Add command.h.
15955 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
15956 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
15957 and lib/arg.c.
15958 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
15959 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
15960 remove the corresponding normal mode command.
15961 (normal_mod_SOURCES): Remove normal/arg.c.
15962 * conf/i386-coreboot.rmk: Likewise.
15963 * conf/i386-efi.rmk: Likewise.
15964 * conf/i386-ieee1275.rmk: Likewise.
15965 * conf/powerpc-ieee1275.rmk: Likewise.
15966 * conf/x86_64-efi.rmk: Likewise.
15967
15968 * include/grub/arg.h: Move from here ...
15969 * include/grub/lib/arg.h: ... to here.
15970
15971 * normal/arg.c: Move from here ...
15972 * lib/arg.c: ... to here.
15973
15974 * commands/extcmd.c: New file.
15975 * commands/minicmd.c: Likewise.
15976 * include/grub/command.h: Likewise.
15977 * include/grub/extcmd.h: Likewise.
15978 * kern/command.c: Likewise.
15979 * kern/corecmd.c: Likewise.
15980
15981 * kern/list.c (grub_list_iterate): Return int instead of void.
15982 (grub_list_insert): New function.
15983 (grub_prio_list_insert): Likewise.
15984
15985 * kern/rescue.c (grub_rescue_command): Removed.
15986 (grub_rescue_command_list): Likewise.
15987 (grub_rescue_register_command): Likewise.
15988 (grub_rescue_unregister_command): Likewise.
15989 (grub_rescue_cmd_boot): Move to minicmd.c
15990 (grub_rescue_cmd_help): Likewise.
15991 (grub_rescue_cmd_info): Likewise.
15992 (grub_rescue_cmd_boot): Likewise.
15993 (grub_rescue_cmd_testload): Likewise.
15994 (grub_rescue_cmd_dump): Likewise.
15995 (grub_rescue_cmd_rmmod): Likewise.
15996 (grub_rescue_cmd_lsmod): Likewise.
15997 (grub_rescue_cmd_exit): Likewise.
15998 (grub_rescue_print_devices): Moved to corecmd.c.
15999 (grub_rescue_print_files): Likewise.
16000 (grub_rescue_cmd_ls): Likewise.
16001 (grub_rescue_cmd_insmod): Likewise.
16002 (grub_rescue_cmd_set): Likewise.
16003 (grub_rescue_cmd_unset): Likewise.
7d074e3c 16004 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 16005 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 16006 commands, remove grub_rescue_register_command calls.
b1b797cb 16007
7d074e3c 16008 * normal/command.c (grub_register_command): Removed.
b1b797cb 16009 (grub_unregister_command): Likewise.
16010 (grub_command_find): Likewise.
16011 (grub_iterate_commands): Likewise.
16012 (rescue_command): Likewise.
16013 (export_command): Moved to corecmd.c.
16014 (set_command): Removed.
16015 (unset_command): Likewise.
16016 (insmod_command): Likewise.
16017 (rmmod_command): Likewise.
16018 (lsmod_command): Likewise.
16019 (grub_command_init): Likewise.
16020
16021 * normal/completion.c (iterate_command): Use cmd->prio to check for
16022 active command.
16023 (complete_arguments): Use grub_extcmd_t structure to find options.
16024 (grub_normal_do_completion): Change function grub_iterate_commands to
16025 grub_command_iterate.
16026
16027 * normal/execute.c (grub_script_execute_cmd): No need to parse
16028 argument here.
16029
16030 * normal/main.c (grub_dyncmd_dispatcher): New function.
16031 (read_command_list): Register unload commands as dyncmd.
16032 (grub_cmd_normal): Use new command interface, register rescue,
16033 unregister normal at entry, register normal, unregister rescue at exit.
16034
16035 * include/grub/list.h (grub_list_test_t): New type.
16036 (grub_list_iterate): Return int instead of void.
16037 (grub_list_insert): New function.
16038 (GRUB_AS_NAMED_LIST_P): New macro.
16039 (GRUB_AS_PRIO_LIST): Likewise.
16040 (GRUB_AS_PRIO_LIST_P): Likewise.
16041 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
16042 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
16043 (grub_prio_list): New structure.
16044 (grub_prio_list_insert): New function.
16045 (grub_prio_list_remove): New inline function.
16046
16047 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
16048 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
16049 (GRUB_COMMAND_FLAG_MENU): Likewise.
16050 (GRUB_COMMAND_FLAG_BOTH): Likewise.
16051 (GRUB_COMMAND_FLAG_TITLE): Likewise.
16052 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
16053 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
16054 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
16055 (grub_command): Likewise.
16056 (grub_register_command): Likewise.
16057 (grub_command_find): Likewise.
16058 (grub_iterate_commands): Likewise.
16059 (grub_command_init): Likewise.
16060 (grub_arg_parse): Likewise.
16061 (grub_arg_show_help): Likewise.
16062
16063 * include/grub/rescue.h (grub_rescue_register_command): Removed.
16064 (grub_rescue_unregister_command): Likewise.
16065
16066 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
16067 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
16068 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
16069
16070 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
16071 grub_rescue_cmd_initrd.
16072 * include/grub/i386/loader.h: Likewise.
16073 * include/grub/x86_64/loader.h: Likewise.
16074
16075 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
16076
1f4147aa 160772009-03-21 Bean <bean123ch@gmail.com>
16078
16079 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
16080 instead of stat in mingw environment.
16081
16082 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
16083
16084 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
16085
16086 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
16087 AC_CONFIG_LINKS.
16088
2156d5ba 160892009-03-21 Bean <bean123ch@gmail.com>
16090
16091 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
16092 out of range error.
16093
177b82ca 160942009-03-18 Michel Dänzer <michel@daenzer.net>
16095
16096 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
16097 checking inode flags for EXT4_EXTENTS_FLAG.
16098
14aad807 160992009-03-18 Robert Millan <rmh@aybabtu.com>
16100
16101 * loader/i386/linux.c: Include `<grub/video.h>' and
16102 `<grub/i386/pc/vbe.h>'..
16103 (grub_linux_setup_video): New function. Loosely based on the EFI one.
16104 (grub_linux32_boot): Attempt to configure video settings with
16105 grub_linux_setup_video().
16106 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
16107 to avoid grub_console_fini() which would step out of graphical mode
16108 unconditionally.
16109
8cf83a27 161102009-03-14 Robert Millan <rmh@aybabtu.com>
16111
16112 Fix build on powerpc.
16113 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
16114
40164e75 161152009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
16116
16117 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
16118 background image command.
16119
c58bc32a 161202009-03-12 Colin D Bennett <colin@gibibit.com>
16121
16122 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
16123 (grub_gfxterm_putchar): Extract pairs of identical calls to
16124 draw_cursor out of conditional blocks.
16125
5415144a 161262009-03-11 Pavel Roskin <proski@gnu.org>
16127
16128 * fs/hfs.c (grub_hfs_strncasecmp): New function.
16129 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
16130
6394042e 161312009-03-11 Robert Millan <rmh@aybabtu.com>
16132
16133 * loader/i386/multiboot_elfxx.c
16134 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
16135
b7b50e5f 161362009-03-11 Felix Zielcke <fzielcke@z-51.de>
16137
16138 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
16139 `kern/handler.c'.
16140
1ca7fc96 161412009-03-11 Robert Millan <rmh@aybabtu.com>
16142
16143 * loader/i386/multiboot.c (code_size): New variable.
16144 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 16145 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 16146 4-byte alignment to MBI and others by increasing
7d074e3c 16147 `boot_loader_name_length' appropriately.
1ca7fc96 16148
16149 * loader/i386/multiboot_elfxx.c
16150 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
16151
a83ea1d2 161522009-03-09 Felix Zielcke <fzielcke@z-51.de>
16153
16154 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
16155 `fs/ext2.c'.
16156
aa9f3bff 161572009-03-08 Robert Millan <rmh@aybabtu.com>
16158
16159 Make loader/i386/linux.c usable on i386-pc again.
16160
16161 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
16162 memory to heap.
16163 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
16164 `#error' stanza.
16165
d8b3b60e 161662009-03-07 Bean <bean123ch@gmail.com>
16167
16168 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
16169 allocation.
16170
b362c9e9 161712009-03-06 Robert Millan <rmh@aybabtu.com>
16172
16173 Fix display issue on terminals with screen size other than 80x25
16174 (e.g. gfxterm with resolution higher than 640x480).
16175
16176 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 16177 position relative to the center of the terminal instead of relying
b362c9e9 16178 on a hardcoded offset.
16179
9304eef1 161802009-03-04 Robert Millan <rmh@aybabtu.com>
16181
16182 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
16183 installed.
16184
16185 * Makefile.in (host_kernel): New variable.
16186 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
16187 scripts instead of just the windows one.
16188 * configure.ac: Initialize and AC_SUBST `host_kernel'.
16189
eabc95fb 161902009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 16191
16192 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
16193 `kern/handler.c'.
16194 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16195 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16196 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16197 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16198 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16199 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16200
ceb1223c 162012009-03-04 Felix Zielcke <fzielcke@z-51.de>
16202
16203 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
16204 or if there's no space for the disk label and print the partition number on a
16205 invalid magic.
16206
4910684a 162072009-03-04 Felix Zielcke <fzielcke@z-51.de>
16208
16209 * util/misc.c: Include <time.h>.
16210 (grub_millisleep): New function.
16211
7e9ca17a 162122009-03-04 Bean <bean123ch@gmail.com>
16213
16214 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
16215 another option -mno-red-zone.
16216
16217 * commands/handler.c: Change module description.
16218
16219 * kern/handler.c: Add missing space at the end of description line.
16220
16221 * kern/list.c: Likewise.
16222
f501677c 162232009-03-03 Robert Millan <rmh@aybabtu.com>
16224
16225 Move more components to the relocation area, and fix mbi pointer
16226 handling to use the destination rather than the origin (thanks to
16227 Vladimir Serbinenko for spotting).
16228
16229 * loader/i386/multiboot.c (mbi_dest): New variable.
16230 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
16231 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
16232 relocation area.
16233
9902d047 162342009-03-01 Bean <bean123ch@gmail.com>
16235
50fb7002 16236 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 16237 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
16238 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
16239 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
16240
16241 * loader/i386/efi/linux.c (acpi_guid): New variable.
16242 (acpi_guid): Likewise.
16243 (EBDA_SEG_ADDR): New constant.
16244 (LOW_MEM_ADDR): Likewise.
16245 (FAKE_EBDA_SEG): Likewise.
16246 (fake_bios_data): New function.
16247 (grub_linux_boot): Call fake_bios_data.
16248
71b9f361 162492009-03-01 Bean <bean123ch@gmail.com>
16250
16251 * commands/terminal.c: Removed.
16252
16253 * commands/handler.c: New file.
16254
16255 * include/grub/list.h: Likewise.
16256
16257 * include/grub/handler.h: Likewise.
16258
16259 * kern/list.c: Likewise.
16260
16261 * kern/handler.c: Likewise.
16262
16263 * kern/term.h: Include header file <grub/handler.h>.
16264 (grub_term_input): Move next field to the beginning.
16265 (grub_term_output): Likewise.
16266 (grub_term_input_class): New variable.
16267 (grub_term_output_class): Likewise.
16268 (grub_term_register_input): Changed to inline function.
16269 (grub_term_register_output): Likewise.
16270 (grub_term_unregister_input): Likewise.
16271 (grub_term_unregister_output): Likewise.
16272 (grub_term_set_current_input): Likewise.
16273 (grub_term_set_current_output): Likewise.
16274 (grub_term_get_current_input): Likewise.
16275 (grub_term_get_current_output): Likewise.
16276 (grub_term_iterate_input): Removed.
16277 (grub_term_iterate_output): Likewise.
16278
16279 * kern/term.c (grub_term_list_input): Removed.
16280 (grub_term_list_output): Likewise.
16281 (grub_term_input_class): New variable.
16282 (grub_term_output_class): Likewise.
50fb7002 16283 (grub_cur_term_input): Change variable as macro.
71b9f361 16284 (grub_cur_term_output): Likewise.
16285 (grub_term_register_input): Removed.
16286 (grub_term_register_output): Likewise.
16287 (grub_term_unregister_input): Likewise.
16288 (grub_term_unregister_output): Likewise.
16289 (grub_term_set_current_input): Likewise.
16290 (grub_term_set_current_output): Likewise.
16291 (grub_term_iterate_input): Likewise.
16292 (grub_term_iterate_output): Likewise.
16293 (grub_term_get_current_input): Likewise.
16294 (grub_term_get_current_output): Likewise.
16295
16296 * util/grub-editenv.c: Include header file <grub/handler.h>.
16297 (grub_term_get_current_input): Removed.
16298 (grub_term_get_current_output): Likewise.
16299 (grub_term_input_class): New variable.
50fb7002 16300 (grub_term_output_class): Likewise.
71b9f361 16301
16302 * util/grub-fstest.c (grub_term_get_current_input): Removed.
16303 (grub_term_get_current_output): Likewise.
16304 (grub_term_input_class): New variable.
50fb7002 16305 (grub_term_output_class): Likewise.
71b9f361 16306
16307 * util/grub-probe.c (grub_term_get_current_input): Removed.
16308 (grub_term_get_current_output): Likewise.
16309 (grub_term_input_class): New variable.
50fb7002 16310 (grub_term_output_class): Likewise.
71b9f361 16311
16312 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
16313 (grub_term_get_current_output): Likewise.
16314 (grub_term_input_class): New variable.
50fb7002 16315 (grub_term_output_class): Likewise.
71b9f361 16316
16317 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
16318 (terminal_mod_SOURCES): Likewise.
16319 (terminal_mod_CFLAGS): Likewise.
16320 (terminal_mod_LDFLAGS): Likewise.
16321
16322 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
16323 handler.c.
16324 (kernel_img_SOURCES): Add list.c and handler.c.
16325 (kernel_img_HEADERS): Add list.h and handler.h.
16326
16327 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
16328 handler.c.
16329 (kernel_mod_SOURCES): Add list.c and handler.c.
16330 (kernel_mod_HEADERS): Add list.h and handler.h.
16331
16332 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
16333 handler.c.
16334 (kernel_elf_SOURCES): Add list.c and handler.c.
16335 (kernel_elf_HEADERS): Add list.h and handler.h.
16336
16337 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
16338 handler.c.
16339 (kernel_elf_SOURCES): Add list.c and handler.c.
16340 (kernel_elf_HEADERS): Add list.h and handler.h.
16341
16342 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
16343 handler.c.
16344 (kernel_mod_SOURCES): Add list.c and handler.c.
16345 (kernel_mod_HEADERS): Add list.h and handler.h.
16346
16347 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
16348 handler.c.
16349 (kernel_elf_SOURCES): Add list.c and handler.c.
16350 (kernel_elf_HEADERS): Add list.h and handler.h.
16351
8a31787f 163522009-02-27 Robert Millan <rmh@aybabtu.com>
16353
16354 Factorize elf32 / elf64 code in Multiboot loader. This will
16355 prevent it from getting out of sync again.
16356
16357 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
16358 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
16359 grub_multiboot_load_elf64): Move from here ...
16360 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
16361 grub_multiboot_load_elf): ... to here (new file).
16362
51cd3dfc 163632009-02-27 Robert Millan <rmh@aybabtu.com>
16364
16365 * util/grub.d/10_linux.in: Rename "single-user mode" to
16366 "recovery mode".
16367
6e8c9c3a 163682009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
16369
16370 Don't leak in SCSI code.
16371 * disk/scsi.c (grub_scsi_close): free `scsi'.
16372
4b6bf4f9 163732009-02-27 Robert Millan <rmh@aybabtu.com>
16374
16375 * loader/i386/pc/multiboot.c: Move from here ...
16376 * loader/i386/multiboot.c: ... to here. Update all users.
16377
b9413424 163782009-02-27 Robert Millan <rmh@aybabtu.com>
16379
16380 Patch from Alexandre Bique <bique.alexandre@gmail.com>
16381 * util/i386/pc/grub-setup.c (setup): Fix directory path.
16382
50fb7002 163832009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 16384
16385 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
16386 b-tree.
16387
8cc50345 163882009-02-27 Robert Millan <rmh@aybabtu.com>
16389
16390 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
16391 `0x' qualifier as 0 when base is specified as parameter).
16392
6e09b8b7 163932009-02-24 Bean <bean123ch@gmail.com>
16394
16395 * configure.ac: Check for -mcmodel=large in x86_64 target.
16396
16397 * include/grub/efi/api.h (efi_call_10): New macro.
16398 (efi_wrap_10): New function.
16399
16400 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
16401 (GRUB_PE32_REL_BASED_HIGH): Likewise.
16402 (GRUB_PE32_REL_BASED_LOW): Likewise.
16403 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
16404 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
16405 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
16406 (GRUB_PE32_REL_BASED_SECTION): Likewise.
16407 (GRUB_PE32_REL_BASED_REL): Likewise.
16408 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
16409 (GRUB_PE32_REL_BASED_DIR64): Likewise.
16410 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
16411
16412 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
16413 issue.
16414
16415 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
16416 (efi_wrap_10): New function.
16417
16418 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
16419
16420 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
16421 MB/MBP model (NV chipset).
16422 (devdata_devs): Add devpath_5 to the list.
16423
16424 * load/i386/efi/linux.c (video_base): Remove variable.
16425 (RGB_MASK): New macro.
16426 (RGB_MAGIC): Likewise.
16427 (LINE_MIN): Likewise.
16428 (LINE_MAX): Likewise.
16429 (FBTEST_STEP): Likewise.
16430 (FBTEST_COUNT): Likewise.
16431 (fb_list): New variable.
16432 (grub_find_video_card): Remove function.
16433 (find_framebuf): New function.
16434 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
16435 line length.
16436
16437 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
16438 problem for x86_64.
16439
74b21bee 164402009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
16441
16442 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
16443
16444 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
16445 coding tool name.
16446
a455f472 164472009-02-22 Robert Millan <rmh@aybabtu.com>
16448
16449 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
16450 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
16451 in our relocation, instead of using it directly from heap. Also
16452 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
16453
6374daf3 164542009-02-21 Robert Millan <rmh@aybabtu.com>
16455
16456 Implement USB keyboard support (based on patch by Marco Gerards)
16457
16458 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
16459 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
16460 (usb_keyboard_mod_LDFLAGS): New variables.
16461
16462 * term/usb_keyboard.c: New file.
16463
8fa4ea70 164642009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16465
16466 Corrected wrong declaration
16467
16468 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
16469
353976ac 164702009-02-14 Christian Franke <franke@computer.org>
16471
16472 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
16473 (grub_lspci_iter): Print class code and programming interface byte.
16474
6aa1169b 164752009-02-14 Christian Franke <franke@computer.org>
16476
16477 * gendistlist.sh: Ignore `.svn' directories.
16478
265372ca 164792009-02-14 Felix Zielcke <fzielcke@z-51.de>
16480
16481 * fs/fat.c: Add 2009 to Copyright line.
16482
9ff516f3 164832009-02-14 Christian Franke <franke@computer.org>
16484
16485 * commands/hdparm.c: New file. Provides `hdparm' command
16486 which sends ATA commands via grub_disk_ata_pass_through ().
16487
16488 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
16489
16490 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
16491 and <grub/cpu/io.h> to include/grub/ata.h.
16492 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
16493 (GRUB_CDROM_SECTOR_SIZE): Remove.
16494 (GRUB_ATA_*): Move to include/grub/ata.h.
16495 (GRUB_ATAPI_*): Likewise.
16496 (enum grub_ata_commands): Likewise.
16497 (enum grub_ata_timeout_milliseconds): Likewise.
16498 (struct grub_ata_device): Likewise.
16499 (grub_ata_regset): Likewise.
16500 (grub_ata_regget): Likewise.
16501 (grub_ata_regset2): Likewise.
16502 (grub_ata_regget2): Likewise.
16503 (grub_ata_check_ready): Likewise.
16504 (grub_ata_wait_not_busy): Remove static, exported in
16505 include/grub/ata.h.
16506 (grub_ata_wait_drq): Likewise.
16507 (grub_ata_pio_read): Likewise.
16508
16509 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
16510 function for hdparm.mod.
16511
16512 * include/grub/ata.h: New file, contains declarations from
16513 disk/ata.c.
16514 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
16515
16516 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
16517 (grub_disk_ata_pass_through): New exported variable.
16518
16519 * kern/disk.c (grub_disk_ata_pass_through): New variable.
16520
772e23da 165212009-02-13 Colin D Bennett <colin@gibibit.com>
16522
16523 Support multiple fallback entries, and provide an API to support
16524 executing default+fallback menu entries. Renamed the `terminal' menu
16525 viewer to `text'.
16526
16527 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
16528 variable declaration.
16529 (grub_menu_execute_callback): New structure declaration.
16530 (grub_menu_execute_callback_t): New typedef.
16531 (grub_menu_execute_with_fallback): New function declaration.
16532 (grub_menu_get_entry): Likewise.
16533 (grub_menu_get_timeout): Likewise.
16534 (grub_menu_set_timeout): Likewise.
16535
16536 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
16537
16538 * normal/menu.c (grub_wait_after_message): Moved to
16539 `normal/menu_text.c'.
16540 (draw_border): Likewise.
16541 (print_message): Likewise.
16542 (print_entry): Likewise.
16543 (print_entries): Likewise.
16544 (grub_menu_init_page): Likewise.
16545 (get_entry_number): Likewise.
16546 (print_timeout): Likewise.
16547 (run_menu): Likewise.
16548 (grub_menu_execute_entry): Likewise.
16549 (show_text_menu): Likewise.
16550 (get_and_remove_first_entry_number): New function.
16551 (grub_menu_execute_with_fallback): Likewise.
16552 (get_entry): Renamed to ...
16553 (grub_menu_get_entry): .. this and made it global.
16554 (get_timeout): Renamed to ...
16555 (grub_menu_get_timeout): ... this and made it global.
16556 (set_timeout): Renamed to ...
16557 (grub_menu_set_timeout): ... this and made it global.
16558 (grub_normal_terminal_menu_viewer): Renamed to ...
16559 (grub_normal_text_menu_viewer): ... this.
16560
16561 * normal/menu_text.c: New file. Extracted text-menu-specific code
16562 from normal/menu.c.
16563
16564 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
16565 (normal_mod_SOURCES): Likewise.
16566
16567 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16568 (normal_mod_SOURCES): Likewise.
16569
16570 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16571 (normal_mod_SOURCES): Likewise.
16572
16573 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
16574 (normal_mod_SOURCES): Likewise.
16575
16576 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16577 (normal_mod_SOURCES): Likewise.
16578
16579 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16580 (normal_mod_SOURCES): Likewise.
16581
16582 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16583 (normal_mod_SOURCES): Likewise.
16584
16ac430e 165852009-02-11 Robert Millan <rmh@aybabtu.com>
16586
16587 * util/grub.d/00_header.in: Update old reference to `font' command.
16588
06ff20fc 165892009-02-10 Felix Zielcke <fzielcke@z-51.de>
16590
16591 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
16592
16593 Based on patch from Javier Martín.
16594
96da9407 165952009-02-09 Felix Zielcke <fzielcke@z-51.de>
16596
16597 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 16598 to avoid false positives with FAT.
96da9407 16599 (grub_fstest_SOURCES): Likewise.
16600 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16601 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16602 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16603 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16604 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16605 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16606
6dca6fe4 166072009-02-09 Felix Zielcke <fzielcke@z-51.de>
16608
06ff20fc 16609 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 16610 bpb.version_specific.fat12_or_fat16.fstype and
16611 bpb.version_specific.fat32.fstype.
16612
2550c62f 166132009-02-08 Robert Millan <rmh@aybabtu.com>
16614
be110b30 16615 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 16616
56978920 166172009-02-08 Robert Millan <rmh@aybabtu.com>
16618
16619 * Makefile.in (host_os, host_cpu): New variables.
16620 (target_os): Remove. Update all users.
16621
d64399b5 166222009-02-08 Marco Gerards <marco@gnu.org>
16623
16624 * Makefile.in (enable_grub_emu_usb): New variable.
16625 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
16626 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
16627 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
16628 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
16629 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
16630 `usbtest.mod' and `usbms.mod'.
16631 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
16632 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
16633 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
16634 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
16635 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
16636 variables.
16637
16638 * disk/usbms.c: New file.
16639
16640 * include/grub/usb.h: Likewise.
16641
16642 * include/grub/usbtrans.h: Likewise.
16643
16644 * include/grub/usbdesc.h: Likewise.
16645
16646 * bus/usb/usbtrans.c: Likewise.
16647
16648 * bus/usb/ohci.c: Likewise.
16649
16650 * bus/usb/uhci.c: Likewise.
16651
16652 * bus/usb/usbhub.c: Likewise.
16653
16654 * bus/usb/usb.c: Likewise.
16655
16656 * commands/usbtest.c: Likewise.
16657
16658 * util/usb.c: Likewise.
50fb7002 16659
d64399b5 16660 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
16661
16662 * configure.ac: Test for libusb presence.
50fb7002 16663
d64399b5 16664 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
16665
2b40d6bb 166662009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
16667
16668 * kern/mm.c: Add more comments.
16669
73a4ce81 166702009-02-08 Robert Millan <rmh@aybabtu.com>
16671
16672 Patch from Javier Martín.
16673 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
16674 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
16675
f821ce59 166762009-02-08 Robert Millan <rmh@aybabtu.com>
16677
16678 * fs/cpio.c: Split tar functionality to ...
16679 * fs/tar.c: ... here (new file). Update all users.
16680
aebfc4b0 166812009-02-07 Robert Millan <rmh@aybabtu.com>
16682
16683 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
16684 backward-incompatible features.
16685
16686 Based on patch from Javier Martín, with some adjustments.
16687
50fb7002 166882009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 16689
16690 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
16691
0bb5115e 166922009-02-07 Robert Millan <rmh@aybabtu.com>
16693
16694 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
16695 position of `disk/lvm.c' to ensure grub_init_all() always picks it
16696 after the RAID stuff.
16697
38a0f8e7 166982009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
16699
50fb7002 16700 Fixes problem when running vbetest command as reported by
38a0f8e7 16701 Vladimir Serbinenko <phcoder@gmail.com>.
16702
16703 * (grub_vbe_set_video_mode): Fixed problem with text modes.
16704
3143cc1c 167052009-02-04 Felix Zielcke <fzielcke@z-51.de>
16706
16707 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
16708 /dev/md/NpN style mdraid devices.
16709
9cba6fce 167102009-02-03 Felix Zielcke <fzielcke@z-51.de>
16711
16712 * util/unifont2pff.rb: Remove.
16713
e507a2c1 167142009-02-03 Felix Zielcke <fzielcke@z-51.de>
16715
16716 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
16717 `#'.
16718
d2c2b4cd 167192009-02-03 Felix Zielcke <fzielcke@z-51.de>
16720
16721 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
16722 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16723 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16724 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16725 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16726 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16727 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16728
b4315fb0 167292009-02-02 Christian Franke <franke@computer.org>
16730
16731 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
16732
de3aa260 167332009-02-01 Felix Zielcke <fzielcke@z-51.de>
16734
7c3ff286 16735 * INSTALL: Note that we now require at least autoconf 2.59 and
16736 that LZO is optional.
de3aa260 16737
825a182b 167382009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
16739
16740 Base on patch on bug #24154 created by Tomas Tintera
16741 <trosos@seznam.cz>.
16742
16743 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
16744
a69ef770 167452009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
16746
7c3ff286 16747 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 16748 <bero@arklinux.org>.
16749
16750 * normal/parser.y (script_init): Add missing semicolon.
16751
6fa42fa6 167522009-01-31 Colin D Bennett <colin@gibibit.com>
16753
7c3ff286 16754 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 16755 (free_menu_entry_classes): Added.
16756 (grub_normal_menu_addentry): Added class property handling.
16757 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
16758 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
16759
16760 * normal/menu_viewer.c: New file.
16761
16762 * normal/menu.c (run_menu_entry): Renamed to ...
16763 (grub_menu_execute_entry): ... this and made it as global.
16764 (grub_menu_run): Renamed to ...
16765 (show_text_menu): ... this and made it local.
16766 (show_text_menu): Adapt to new function names.
16767 (grub_normal_terminal_menu_viewer): New global variable.
16768
16769 * include/grub/menu.h: New file.
16770
16771 * include/grub/menu_viewer.h: New file.
16772
16773 * include/grub/normal.h: Added include to grub/menu.h.
16774 (grub_menu_entry): Moved to include/grub/menu.h.
16775 (grub_menu_entry_t): Likewise.
16776 (grub_menu): Likewise.
16777 (grub_menu_t): Likewise.
16778 (grub_normal_terminal_menu_viewer): Added.
16779 (grub_menu_execute_entry): Likewise.
16780 (grub_menu_run): Removed.
16781
16782 * DISTLIST: Added include/grub/menu.h.
16783 Added include/grub/menu_viewer.h.
16784 Added normal/menu_viewer.c.
16785
167862009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
16787
16788 * normal/execute.c (grub_script_execute_menuentry): Changed to use
16789 arglist for menutitle arguments.
16790
16791 * normal/main.c (grub_normal_menu_addentry): Likewise.
16792
16793 * normal/parser.y (menuentry): Likewise.
16794
16795 * normal/script.c (grub_script_create_cmdmenu): Likewise.
16796
16797 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
16798 (grub_script_create_cmdmenu): Likewise.
16799
16800 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
16801
16802 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
16803 changes.
16804
16805 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
16806
16807 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
16808
16809 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
16810
16811 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
16812
16813 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
16814
16815 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
16816
56192c23 168172009-01-30 Christian Franke <franke@computer.org>
16818
16819 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
16820 in option help text.
16821
d72521b3 168222009-01-27 Pavel Roskin <proski@gnu.org>
16823
16824 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
16825
994b5e84 168262009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
16827
16828 * commands/lsmmap.c: Add include to grub/machine/memory.h.
16829
16830 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
16831
16832 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
16833 unregister function.
16834
6a7eab2c 168352009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
16836
16837 * disk/scsi.c (grub_scsi_read): Fix sign problem.
16838
16839 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
16840
16841 * util/grub-mkfont.c (usage): Fix typo.
16842
16843 * util/elf/grub-mkimage.c (load_modules): Fix warning.
16844
1806b56e 168452009-01-26 Daniel Mierswa <impulze@impulze.org>
16846
3fb18f09 16847 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
16848
336e1fb9 16849 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
16850
1806b56e 16851 * kern/misc.c (grub_strcasecmp): New function.
16852 (grub_strcasecmp): Use grub_size_t instead of int for length.
16853 Fix return value.
16854 * include/grub/misc.h: Update function prototypes.
16855
580b2a0f 168562009-01-26 Robert Millan <rmh@aybabtu.com>
16857
16858 * configure.ac: Fix cross-compilation check.
ef257b36 16859
d31c24f1 168602009-01-22 Christian Franke <franke@computer.org>
16861
16862 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
16863 (precision) digit string. Allow `.format2' without `format1' (width).
16864 Limit input chars for `%s' output to `format2' if specified. This is
16865 compatible with standard printf ().
16866
3138b44c 168672009-01-22 Christian Franke <franke@computer.org>
16868
16869 * disk/ata.c (grub_ata_wait_status): Replace by ...
16870 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
16871 other status bits may be invalid while BSY is asserted.
16872 (grub_ata_check_ready): New function.
16873 (grub_ata_cmd): Removed.
16874 (grub_ata_wait_drq): New function.
16875 (grub_ata_strncpy): Remove inline.
16876 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
16877 and error check now done by grub_ata_wait_drq ().
16878 (grub_ata_pio_write): Likewise.
16879 (grub_atapi_identify): Set DEV before check for !BSY. Use
16880 grub_ata_wait_drq () to wait for data.
16881 (grub_ata_device_initialize): Add status register check to
16882 detect missing SATA slave devices. Add debug messages.
16883 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
16884 (grub_atapi_packet): Set DEV before check for !BSY. Replace
16885 transfer loop by grub_ata_pio_write ().
16886 (grub_ata_identify): Set DEV before check for !BSY. Use
16887 grub_ata_wait_drq () to wait for data.
ef257b36 16888 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 16889 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
16890 read/write in one loop. Fix invalid command on write. Fix incomplete
16891 command on (size % batch) == 0. Add missing error check after write of
16892 last block. Add debug messages.
16893 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
16894
59a64ef6 168952009-01-19 Christian Franke <franke@computer.org>
16896
16897 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
16898 (GRUB_ATAPI_IREASON_*): Likewise.
16899 (grub_ata_pio_write): Fix timeout error return.
16900 (grub_atapi_identify): Add grub_ata_wait () after cmd.
16901 (grub_atapi_wait_drq): New function.
16902 (grub_atapi_packet): New parameter `size'.
16903 Use grub_atapi_wait_drq () and direct write instead of
16904 grub_ata_pio_write ().
16905 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
16906 reads the number of bytes requested by the device for each DRQ
16907 assertion.
16908 (grub_atapi_write): Remove old implementation, return not
16909 implemented instead.
16910
1cfe20b3 169112009-01-19 Christian Franke <franke@computer.org>
16912
16913 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
16914 of 512 to calculate data size.
16915 (grub_scsi_read12): Likewise.
16916 (grub_scsi_write10): Likewise.
16917 (grub_scsi_write12): Likewise.
16918 (grub_scsi_read): Adjust size according to blocksize.
16919 Add checks for invalid blocksize and unaligned transfer.
16920
bee5fe5d 169212009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
16922
16923 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
16924
ef257b36 16925 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 16926 width glyphs.
16927
3e643f8c 169282009-01-19 Robert Millan <rmh@aybabtu.com>
16929
16930 * config.guess: Update to latest version from config git.
16931 * config.sub: Likewise.
16932
4fa80998 169332009-01-17 Felix Zielcke <fzielcke@z-51.de>
16934
16935 * Makefile.in: Change font compilation to use new grub-mkfont instead
16936 of java version.
16937
16938 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
16939 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
16940 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
16941 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
16942 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
16943 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
16944 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
16945 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
16946 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
16947
7086085b 169482009-01-16 Christian Franke <franke@computer.org>
16949
16950 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
16951 (enum grub_ata_timeout_milliseconds): New enum.
16952 (grub_ata_wait_status): Add parameter milliseconds.
16953 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
16954 recovery from timed-out commands.
16955 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
16956 return grub_errno instead of REG_ERROR.
16957 (grub_ata_pio_write): Add parameter milliseconds.
16958 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
16959 Pass milliseconds to grub_ata_wait_status () and
16960 grub_ata_pio_read ().
16961 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
16962 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
16963 grub_ata_wait_status (). Fix IDENTIFY timeout check.
16964 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
16965 It is not suitable for device detection, because DEV bit is ignored,
16966 the command may run too long, and not all devices set the signature
16967 properly.
16968 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
16969 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
16970 Fix device selection, DEV bit must be set first to address the registers
16971 of the correct device.
16972 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
16973 grub_ata_pio_read/write ().
16974 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
16975 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
16976
4a412913 169772009-01-13 Carles Pina i Estany <carles@pina.cat>
16978
16979 * util/grub-editenv.c (main): Use fseeko(), not fseek().
16980
7795c55e 169812009-01-13 Bean <bean123ch@gmail.com>
d913988c 16982
16983 * util/grub-mkfont.c (write_font): forget to remove some debug code.
16984
7795c55e 169852009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 16986
16987 * Makefile.in: (enable_grub_mkfont): New variable.
16988 (freetype_cflags): Likewise.
16989 (freetype_libs): Likewise.
16990
16991 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
16992 (grub_mkfont_SOURCES): New variable.
16993 (grub_mkfont_CFLAGS): Likewise.
16994 (grub_mkfont_LDFLAGS): Likewise.
16995
16996 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
16997 library if `--enable-grub-mkfont' is requested.
16998 (enable_grub_mkfont): New variable.
16999 (freetype_cflags): Likewise.
17000 (freetype_libs): Likewise.
17001
17002 * util/grub-mkfont.c: New file.
17003
093af1fe 170042009-01-12 Christian Franke <franke@computer.org>
17005
17006 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
17007 mode check. Fix setting of compat_use[].
17008
f36cc108 170092009-01-10 Robert Millan <rmh@aybabtu.com>
17010
17011 Update a few copyright years which we forgot to do in 2008 (only for
17012 files whose changes made in 2008 were copyright-significant)
17013
17014 * Makefile.in: Add 2008 to Copyright line.
17015 * disk/ieee1275/ofdisk.c: Likewise.
17016 * disk/efi/efidisk.c: Likewise.
17017 * kern/dl.c: Likewise.
17018 * kern/sparc64/ieee1275/init.c: Likewise.
17019 * kern/mm.c: Likewise.
17020 * kern/efi/mm.c: Likewise.
17021 * boot/i386/pc/boot.S: Likewise.
17022 * genfslist.sh: Likewise.
17023 * fs/iso9660.c: Likewise.
17024 * fs/hfs.c: Likewise.
17025 * fs/jfs.c: Likewise.
17026 * fs/minix.c: Likewise.
17027 * fs/ufs.c: Likewise.
17028 * gensymlist.sh.in: Likewise.
17029 * genkernsyms.sh.in: Likewise.
17030 * include/grub/misc.h: Likewise.
17031 * include/grub/types.h: Likewise.
17032 * include/grub/symbol.h: Likewise.
17033 * include/grub/elf.h: Likewise.
17034 * include/grub/kernel.h: Likewise.
17035 * include/grub/disk.h: Likewise.
17036 * include/grub/dl.h: Likewise.
17037 * include/grub/i386/linux.h: Likewise.
17038 * include/grub/i386/pc/biosdisk.h: Likewise.
17039 * include/grub/efi/api.h: Likewise.
17040 * include/grub/efi/pe32.h: Likewise.
17041 * include/grub/util/misc.h: Likewise.
17042 * normal/execute.c: Likewise.
17043 * normal/arg.c: Likewise.
17044 * normal/completion.c: Likewise.
17045 * normal/lexer.c: Likewise.
17046 * normal/parser.y: Likewise.
17047 * normal/misc.c: Likewise.
17048 * commands/i386/pc/vbeinfo.c: Likewise.
17049 * commands/hexdump.c: Likewise.
17050 * commands/terminal.c: Likewise.
17051 * commands/ls.c: Likewise.
17052 * commands/help.c: Likewise.
17053 * partmap/pc.c: Likewise.
17054 * loader/efi/chainloader.c: Likewise.
17055 * loader/multiboot_loader.c: Likewise.
17056 * loader/i386/pc/multiboot2.c: Likewise.
17057 * term/efi/console.c: Likewise.
17058 * term/i386/pc/serial.c: Likewise.
17059 * util/lvm.c: Likewise.
17060 * util/console.c: Likewise.
17061 * util/i386/efi/grub-mkimage.c: Likewise.
17062 * util/raid.c: Likewise.
17063
7f02114b 170642009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
17065
17066 * commands/videotest.c: Removed include to grub/machine/memory.h.
17067
17068 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
17069 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
17070 (video_mod_SOURCES): Removed.
17071 (video_mod_CFLAGS): Likewise.
17072 (video_mod_LDFLAGS): Likewise.
17073 (gfxterm_mod_SOURCES): Likewise.
17074 (gfxterm_mod_CFLAGS): Likewise.
17075 (gfxterm_mod_LDFLAGS): Likewise.
17076 (videotest_mod_SOURCES): Likewise.
17077 (videotest_mod_CFLAGS): Likewise.
17078 (videotest_mod_LDFLAGS): Likewise.
17079 (bitmap_mod_SOURCES): Likewise.
17080 (bitmap_mod_CFLAGS): Likewise.
17081 (bitmap_mod_LDFLAGS): Likewise.
17082 (tga_mod_SOURCES): Likewise.
17083 (tga_mod_CFLAGS): Likewise.
17084 (tga_mod_LDFLAGS): Likewise.
17085 (jpeg_mod_SOURCES): Likewise.
17086 (jpeg_mod_CFLAGS): Likewise.
17087 (jpeg_mod_LDFLAGS): Likewise.
17088 (png_mod_SOURCES): Likewise.
17089 (png_mod_CFLAGS): Likewise.
17090 (png_mod_LDFLAGS): Likewise.
17091
17092 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
17093 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
17094 (video_mod_SOURCES): Added.
17095 (video_mod_CFLAGS): Likewise.
17096 (video_mod_LDFLAGS): Likewise.
17097 (videotest_mod_SOURCES): Likewise.
17098 (videotest_mod_CFLAGS): Likewise.
17099 (videotest_mod_LDFLAGS): Likewise.
17100 (bitmap_mod_SOURCES): Likewise.
17101 (bitmap_mod_CFLAGS): Likewise.
17102 (bitmap_mod_LDFLAGS): Likewise.
17103 (tga_mod_SOURCES): Likewise.
17104 (tga_mod_CFLAGS): Likewise.
17105 (tga_mod_LDFLAGS): Likewise.
17106 (jpeg_mod_SOURCES): Likewise.
17107 (jpeg_mod_CFLAGS): Likewise.
17108 (jpeg_mod_LDFLAGS): Likewise.
17109 (png_mod_SOURCES): Likewise.
17110 (png_mod_CFLAGS): Likewise.
17111 (png_mod_LDFLAGS): Likewise.
17112 (gfxterm_mod_SOURCES): Likewise.
17113 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 17114 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 17115
17116 * term/gfxterm.c: Removed include to grub/machine/memory.h,
17117 grub/machine/console.h.
17118
644fff97 171192009-01-04 Jerone Young <jerone@gmail.com>
17120
17121 Make on screen instructions clearer
17122
17123 Based on patch created by Jidanni <jidanni@jidanni.org>
17124
17125 * normal/menu.c: print clearer instructions on the screen
17126
1e901a75 171272009-01-02 Colin D Bennett <colin@gibibit.com>
17128
17129 New font engine.
34c44600 17130
1e901a75 17131 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
17132 build system and fixed gfxterm.c to work with different sized fonts.
17133
17134 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 17135
1e901a75 17136 * configure: Re-generated.
34c44600 17137
1e901a75 17138 * DISTLIST: Removed font/manager.c.
17139 Added font/font.c.
17140 Added font/font_cmd.c.
34c44600 17141
1e901a75 17142 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
17143 compilation.
34c44600 17144
1e901a75 17145 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 17146
17147 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 17148
17149 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 17150
1e901a75 17151 * normal/menu.c: Likewise.
34c44600 17152
1e901a75 17153 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
17154 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 17155
1e901a75 17156 * include/grub/font.h: Replaced with new file.
34c44600 17157
1e901a75 17158 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
17159 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
17160 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
17161 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
17162 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 17163 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 17164 fg_red, fg_green, fg_blue, fg_alpha.
17165 (grub_video_adapter): Removed blit_glyph.
34c44600 17166 (grub_video_blit_glyph): Removed.
17167
1e901a75 17168 * font/manager.c: Removed file.
34c44600 17169
17170 * font/font.c: New file.
17171
1e901a75 17172 * font/font_cmd.c: Likewise.
34c44600 17173
1e901a75 17174 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 17175
1e901a75 17176 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
17177 (grub_video_vbe_map_rgba): Likewise.
17178 (grub_video_vbe_unmap_color_int): Likewise.
17179 (grub_video_vbe_blit_glyph): Removed.
17180 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 17181
1e901a75 17182 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
17183 (get_pixel): Likewise.
34c44600 17184 (set_pixel): Likewise.
17185
1e901a75 17186 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 17187
1e901a75 17188 * term/gfxterm.c: Adapted to new font engine.
34c44600 17189
1e901a75 17190 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 17191
1e901a75 17192 * term/i386/pc/vga.c: Likewise.
34c44600 17193
1e901a75 17194 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 17195
1e901a75 17196 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 17197
1e901a75 17198 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 17199
1e901a75 17200 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 17201
1e901a75 17202 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 17203
1e901a75 17204 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 17205
1e901a75 17206 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 17207
1e901a75 17208 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 17209
1e901a75 17210 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
17211
17212 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 17213
1e901a75 17214 * util/grub-mkconfig_lib.in: Changed font extension.
17215
278922e8 172162008-12-28 Felix Zielcke <fzielcke@z-51.de>
17217
17218 * util/getroot.c (grub_util_get_grub_dev): Add support for
17219 /dev/md/dNNpNN style partitionable mdraid devices.
17220
3ced05cf 172212008-12-12 Alex Smith <alex@alex-smith.me.uk>
17222
17223 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
17224 at a time limit of the PXE TFTP API correctly.
17225 (grub_pxefs_close): Likewise.
17226
7fd0ee30 172272008-11-29 Robert Millan <rmh@aybabtu.com>
17228
34c44600 17229 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 17230 grub_ata_device_initialize() calls.
17231
34c44600 172322008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 17233
17234 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
17235 iteration failed.
17236 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
17237
89313780 172382008-11-28 Robert Millan <rmh@aybabtu.com>
17239
17240 Fix build on powerpc-ieee1275. Based on patch created by
17241 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
17242 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
17243 `kern/ieee1275/mmap.c'.
17244 * include/grub/powerpc/ieee1275/memory.h: New file.
17245
15257703 17246 Provide grub-install on coreboot.
17247 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
17248 (grub_install_SOURCES): New variable.
17249 * util/i386/pc/grub-install.in: Add a few condition checks to make it
17250 usable on coreboot.
17251
9fc5388a 172522008-11-25 Felix Zielcke <fzielcke@z-51.de>
17253
17254 * util/grub-fstest.c (grub_term_get_current_input): Change return type
17255 to `grub_term_input_t'.
17256 (grub_term_get_current_output): Change return type to
17257 `grub_term_output_t'.
17258
bc3a2f31 172592008-11-22 Robert Millan <rmh@aybabtu.com>
17260
34c44600 17261 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 17262 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
17263 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
17264 grub_vga_text_cls().
17265
80fc88f2 17266 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 17267 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 17268
cbf36fd3 17269 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
17270 to 0x200000 (avoids trouble with some OFW implementations, and matches
17271 with the one in Yaboot).
17272 Reported by Manoel Abranches
17273
73e8e268 172742008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 17275
17276 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
17277 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
17278
73e8e268 17279 * util/grub-mkconfig_lib.in (grub_warn): New function.
17280 (convert_system_path_to_grub_path): Use grub_warn() when issuing
17281 warnings, to obtain consistent formatting.
17282 * util/grub.d/00_header.in: Likewise.
17283 * util/update-grub_lib.in: Likewise.
17284
e94045a1 17285 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 17286 Move comment text to `#error' stanza.
e94045a1 17287
79d29fd7 17288 Harmonize ieee1275's grub_available_iterate() with the generic
17289 grub_machine_mmap_iterate() interface (fixes a recently-introduced
17290 build problem on i386-ieee1275):
17291 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
17292 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
17293 parameter `type'. Update all users of this function.
17294 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
17295 `kern/ieee1275/mmap.c'.
17296 * kern/ieee1275/init.c
17297 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
17298 with ...
17299 (grub_machine_mmap_iterate): ... this.
17300 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
17301 return type to `grub_err_t'. Update all implementations of this
17302 function prototype.
17303 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
17304 Likewise.
17305
60d6b16e 17306 Add `lsmmap' command (lists firmware-provided memory map):
17307 * commands/lsmmap.c: New file.
17308 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
17309 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
17310 variables.
17311 * conf/powerpc-ieee1275.rmk: Likewise.
17312 * conf/i386-coreboot.rmk: Likewise.
17313 * conf/i386-ieee1275.rmk: Likewise.
17314
ebaaf49b 173152008-11-19 Robert Millan <rmh@aybabtu.com>
17316
17317 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 17318 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
17319 constraints to initrd allocation (based on code from
17320 loader/i386/pc/linux.c). Without them, initrd was allocated too high
17321 for Linux to find it.
ebaaf49b 17322
dfab719f 173232008-11-14 Robert Millan <rmh@aybabtu.com>
17324
17325 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
17326 order to cope with duplicate slashes.
17327
10fc3eb9 173282008-11-14 Robert Millan <rmh@aybabtu.com>
17329
17330 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
17331 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
17332 don't want to mess with lower memory, because it is used in the Linux
17333 loader.
17334
17335 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 17336 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 17337 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
17338 is in our heap (probably as a result of it being corrupted during
2f2a3442 17339 decompression). Add #error instance with comment to explain why this
17340 loader isn't currently usable on PC/BIOS.
10fc3eb9 17341
e2e07847 173422008-11-14 Robert Millan <rmh@aybabtu.com>
17343
17344 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 17345 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 17346
fe8e8d69 173472008-11-12 Robert Millan <rmh@aybabtu.com>
17348
17349 Make loader/i386/linux.c buildable on i386-pc (although disabled).
17350
17351 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
17352 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
17353 from here ...
17354 * include/grub/i386/pc/memory.h: ... to here.
17355
976b07d0 173562008-11-12 Robert Millan <rmh@aybabtu.com>
17357
17358 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
17359 split).
17360
17361 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
17362 (grub_console_cur_color, grub_console_real_putchar)
17363 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
17364 (grub_console_setcolorstate, grub_console_setcolor)
17365 (grub_console_getcolor): Move from here ...
17366 * include/grub/i386/vga_common.h: ... to here (new file).
17367
17368 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
17369 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
17370 `<grub/i386/io.h>'.
17371 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
17372 `<grub/i386/vga_common.h>'.
17373
76679cd3 173742008-11-12 Robert Millan <rmh@aybabtu.com>
17375
17376 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
17377 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
17378 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
17379 variables.
17380 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
17381 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
17382
17383 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
17384 grub_console_init() with call to grub_vga_text_init().
17385 (grub_machine_fini): Replace call to
17386 grub_console_fini() with call to grub_vga_text_fini() and
17387 grub_at_keyboard_fini().
17388
17389 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
17390 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
17391 (grub_console_setcolorstate, grub_console_setcolor)
17392 (grub_console_getcolor): New function prototypes.
17393
17394 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
17395 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
17396 (grub_vga_text_setcursor): Static-ize.
17397 (grub_vga_text_term): New structure.
17398 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
17399
17400 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
17401 (grub_console_cur_color, grub_console_standard_color)
17402 (grub_console_normal_color, grub_console_highlight_color)
17403 (map_char, grub_console_putchar, grub_console_getcharwidth)
17404 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
17405 (grub_console_getcolor): Move from here ...
17406 * term/i386/vga_common.c: ... to here (same function names).
17407
95b841d3 174082008-11-12 Robert Millan <rmh@aybabtu.com>
17409
17410 Use newly-added Multiboot support in coreboot.
17411
17412 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
17413 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
17414
17415 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
17416 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
17417 (codestart): Store the MBI in `startup_multiboot_info' when we're
17418 being loaded using Multiboot.
17419
17420 * kern/i386/coreboot/init.c (grub_machine_init): Move
17421 grub_at_keyboard_init() call to beginning of function (useful for
17422 debugging). Call grub_machine_mmap_init() before attempting to use
17423 grub_machine_mmap_iterate().
17424 (grub_lower_mem, grub_upper_mem): Move from here ...
17425 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
17426 here (new file).
17427
17428 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
17429 function prototype.
17430
761ca975 174312008-11-12 Robert Millan <rmh@aybabtu.com>
17432
17433 Fix a regression introduced by the at_keyboard.mod split. Because
17434 some terminals are default on some platforms and non-default on
17435 others, the first terminal being registered determines which is
17436 going to be default.
17437
17438 * kern/term.c (grub_term_register_input): If this is the first
17439 terminal being registered, set it as the current one.
17440 (grub_term_register_output): Likewise.
17441
17442 * term/efi/console.c (grub_console_init): Do not call
17443 grub_term_set_current_output() or grub_term_set_current_input().
17444 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
17445 * term/i386/pc/console.c (grub_console_init): Likewise.
17446 (grub_console_fini): Do not call grub_term_set_current_input()
17447 (but leave grub_term_set_current_output() to restore text mode).
17448
6c529df7 174492008-11-10 Robert Millan <rmh@aybabtu.com>
17450
17451 * util/grub.d/00_header.in: Add backward compatibility check for
17452 versions of terminal.mod that don't understand `terminal_input' or
17453 `terminal_output'.
17454
132e4113 174552008-11-09 Robert Millan <rmh@aybabtu.com>
17456
17457 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
17458 `terminal_input' / `terminal_output', not `terminal'.
17459
ac293d50 174602008-11-08 Robert Millan <rmh@aybabtu.com>
17461
17462 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 17463 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 17464
0025933a 174652008-11-08 Robert Millan <rmh@aybabtu.com>
17466
17467 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 17468 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 17469 members. Update all users.
17470 * util/console.c (grub_ncurses_term): Split in ...
17471 (grub_ncurses_term_input): ... this, and ...
17472 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 17473 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 17474
37c86336 174752008-11-08 Robert Millan <rmh@aybabtu.com>
17476
17477 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
17478 (PKGDATA): Add $(pkgdata_SRCDIR).
17479 (pkglib_BUILDDIR): New variable.
17480 (pkgdata_SRCDIR): New variable.
17481 (build_env.mk): New target.
17482 (include_DATA): New variable.
17483 (install-local): Install $(include_DATA) files in $(includedir).
17484
b6c15a2d 174852008-11-07 Pavel Roskin <proski@gnu.org>
17486
d99d46f1 17487 * gendistlist.sh: Use C locale for sorting to ensure consistent
17488 output on all systems.
17489
b6c15a2d 17490 * util/grub.d/00_header.in: Remove incorrect space before
17491 "serial".
17492
c32ee8c9 174932008-11-07 Robert Millan <rmh@aybabtu.com>
17494
17495 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
17496 per specification.
17497 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
17498 * loader/multiboot_loader.c (find_multi_boot2_header): New function
17499 (based on find_multi_boot1_header).
17500 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
17501 using find_multi_boot2_header(), and abort if neither Multiboot or
17502 Multiboot headers were found.
17503
651c29b7 175042008-11-07 Robert Millan <rmh@aybabtu.com>
17505
17506 Modularize at_keyboard.mod:
17507
17508 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
17509 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
17510 (at_keyboard_mod_LDFLAGS): New variables.
17511
17512 Actual terminal split:
17513
17514 * include/grub/term.h (struct grub_term): Split in ...
17515 (struct grub_term_input): ... this, and ...
17516 (struct grub_term_output): ... this. Update all users.
17517 (grub_term_set_current): Split in ...
17518 (grub_term_set_current_input): ... this, and ...
17519 (grub_term_set_current_output): ... this.
17520 (grub_term_get_current): Split in ...
17521 (grub_term_get_current_input): ... this, and ...
17522 (grub_term_get_current_output): ... this.
17523 (grub_term_register): Split in ...
17524 (grub_term_register_input): ... this, and ...
17525 (grub_term_register_output): ... this.
17526 (grub_term_unregister): Split in ...
17527 (grub_term_unregister_input): ... this, and ...
17528 (grub_term_unregister_output): ... this.
17529 (grub_term_iterate): Split in ...
17530 (grub_term_iterate_input): ... this, and ...
17531 (grub_term_iterate_output): ... this.
17532
17533 * kern/term.c (grub_term_list): Split in ...
17534 (grub_term_list_input): ... this, and ...
17535 (grub_term_list_output): ... this. Update all users.
17536 (grub_cur_term): Split in ...
17537 (grub_cur_term_input): ... this, and ...
17538 (grub_cur_term_output): ... this. Update all users.
17539 (grub_term_set_current): Split in ...
17540 (grub_term_set_current_input): ... this, and ...
17541 (grub_term_set_current_output): ... this.
17542 (grub_term_get_current): Split in ...
17543 (grub_term_get_current_input): ... this, and ...
17544 (grub_term_get_current_output): ... this.
17545 (grub_term_register): Split in ...
17546 (grub_term_register_input): ... this, and ...
17547 (grub_term_register_output): ... this.
17548 (grub_term_unregister): Split in ...
17549 (grub_term_unregister_input): ... this, and ...
17550 (grub_term_unregister_output): ... this.
17551 (grub_term_iterate): Split in ...
17552 (grub_term_iterate_input): ... this, and ...
17553 (grub_term_iterate_output): ... this.
17554
17555 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
17556 a check for input and one for output (and only attempt to get keys
17557 from user when input works).
17558
17559 * util/grub-probe.c (grub_term_get_current): Split in ...
17560 (grub_term_get_current_input): ... this, and ...
17561 (grub_term_get_current_output): ... this.
17562 * util/grub-fstest.c: Likewise.
17563 * util/i386/pc/grub-setup.c: Likewise.
17564 * util/grub-editenv.c: Likewise.
17565
17566 Portability adjustments:
17567
17568 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
17569 `term/i386/pc/at_keyboard.c'.
17570 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
17571 grub_keyboard_controller_init() (now handled by terminal .init).
17572 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
17573 grub_at_keyboard_init().
17574 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
17575 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
17576 at_keyboard.mod via input terminal interface).
17577 * include/grub/i386/coreboot/console.h: Convert into a stub for
17578 `<grub/i386/pc/console.h>'.
17579
17580 Migrate full terminals to new API:
17581
17582 * term/efi/console.c (grub_console_term): Split into ...
17583 (grub_console_term_input): ... this, and ...
17584 (grub_console_term_output): ... this. Update all users.
17585 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
17586 (grub_ofconsole_init): Split into ...
17587 (grub_ofconsole_init_input): ... this, and ...
17588 (grub_ofconsole_init_output): ... this.
17589 (grub_ofconsole_term): Split into ...
17590 (grub_ofconsole_term_input): ... this, and ...
17591 (grub_ofconsole_term_output): ... this. Update all users.
17592 * term/i386/pc/serial.c (grub_serial_term): Split into ...
17593 (grub_serial_term_input): ... this, and ...
17594 (grub_serial_term_output): ... this. Update all users.
17595 * term/i386/pc/console.c (grub_console_term): Split into ...
17596 (grub_console_term_input): ... this, and ...
17597 (grub_console_term_output): ... this. Update all users.
17598 (grub_console_term_input): Only enable it on PC/BIOS platform.
17599 (grub_console_init): Remove grub_keyboard_controller_init() call.
17600
17601 Migrate input terminals to new API:
17602
17603 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
17604 `i386' and `i386/pc' to enable build on x86_64 (this driver is
17605 i386-specific anyway).
17606 (grub_console_checkkey): Rename to ...
17607 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
17608 users.
17609 (grub_keyboard_controller_orig): New variable.
17610 (grub_console_getkey): Rename to ...
17611 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
17612 users.
17613 (grub_keyboard_controller_init): Static-ize. Save original
17614 controller value so that it can be restored ...
17615 (grub_keyboard_controller_fini): ... here (new function).
17616 (grub_at_keyboard_term): New structure.
17617 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
17618 functions.
17619
17620 Migrate output terminals to new API:
17621
17622 * term/i386/pc/vga.c (grub_vga_term): Change type to
17623 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
17624 members. Update all users.
17625 * term/gfxterm.c (grub_video_term): Change type to
17626 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
17627 members. Update all users.
17628 * include/grub/i386/pc/console.h (grub_console_checkkey)
17629 (grub_console_getkey): Do not export (no longer needed by gfxterm,
17630 etc).
17631
17632 Migrate `terminal' command and userland tools to new API:
17633
17634 * commands/terminal.c (grub_cmd_terminal): Split into ...
17635 (grub_cmd_terminal_input): ... this, and ...
17636 (grub_cmd_terminal_output): ... this.
17637 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
17638 `terminal_input' and `terminal_output'.
17639 * util/grub.d/00_header.in: Adjust `terminal' calls to new
17640 `terminal_input' / `terminal_output' API.
17641 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
17642 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
17643 provided ${GRUB_TERMINAL}, convert it).
17644
96e5d876 176452008-11-04 Robert Millan <rmh@aybabtu.com>
17646
17647 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
17648 for FreeBSD.
17649 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
17650
556f3775 176512008-11-03 Bean <bean123ch@gmail.com>
17652
17653 * kern/elf.c (grub_elf32_load): Revert to previous code.
17654 (grub_elf64_load): Likewise.
17655
17656 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
17657
926b9823 176582008-11-01 Robert Millan <rmh@aybabtu.com>
17659
17660 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
17661 (TARGET_CPPFLAGS): Likewise.
17662 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
17663
1432e958 176642008-11-01 Carles Pina i Estany <carles@pina.cat>
17665
17666 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
17667
dba3f844 176682008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 17669
17670 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
17671 addition of objects until the code is not going to be able to fail.
17672
dba3f844 176732008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 17674
17675 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
17676 (add a missing NULL check, and correct them by moving the pointer
17677 operations after the actual check).
17678
7ab28c21 176792008-10-29 Robert Millan <rmh@aybabtu.com>
17680
17681 * util/i386/pc/grub-install.in: Handle empty string as output from
17682 make_system_path_relative_to_its_root().
17683
1b7748eb 176842008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
17685
17686 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
17687 circular metadata worst case scenario. If the metadata is circular
17688 then copy the wrap in place.
17689 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
17690 project lib/format_text/layout.h
17691 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
17692
c9618ab2 176932008-10-03 Felix Zielcke <fzielcke@z-51.de>
17694
7a36edca 17695 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 17696
bf981c62 176972008-10-03 Felix Zielcke <fzielcke@z-51.de>
17698
17699 * util/update-grub_lib.in: Mention filename in warning message.
17700
6d994591 177012008-09-29 Felix Zielcke <fzielcke@z-51.de>
17702
17703 * NEWS: Update for rename of update-grub to grub-mkconfig.
17704
18ade780 177052008-09-29 Felix Zielcke <fzielcke@z-51.de>
17706
17707 * util/update-grub_lib.in: Copy to ...
17708 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 17709 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 17710 * util/update-grub.in: Rename to ...
17711 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
17712 option. Add `--output' option to allow users to specify the generated
17713 configuration file. Default to stdout.
17714 (update_grub_dir): Rename to ...
17715 (grub_mkconfig_dir): ... this.
17716 (grub_cfg): Default to an empty string.
17717 * conf/common.rmk (update-grub): Rename to ...
17718 (grub-mkconfig): ... this.
17719 (update-grub_lib): Copy to ...
17720 (grub-mkconfig_lib): ... this.
17721 (update-grub_SCRIPTS): Copy to ...
17722 (grub-mkconfig_SCRIPTS): ... this. Update all users.
17723 (update-grub_DATA): Rename to ...
17724 (grub-mkconfig_DATA): ... this.
17725
556ce6ac 177262008-09-28 Robert Millan <rmh@aybabtu.com>
17727
17728 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
17729 to `modified'. Add the real `created' field.
17730 (grub_iso9660_uuid): Use `modified' rather than `created' for
17731 constructing the UUID.
17732
177332008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 17734
17735 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
17736 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
17737
92274e85 177382008-09-28 Bean <bean123ch@gmail.com>
17739
17740 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
17741 Thanks to Christian Franke for finding this bug.
17742
add6f17a 177432008-09-25 Robert Millan <rmh@aybabtu.com>
17744
17745 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
17746 instances of grub_util_get_disk_name() (see previous commit).
17747
d2a367b8 177482008-09-25 Robert Millan <rmh@aybabtu.com>
17749
17750 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
17751 `util/i386/get_disk_name.c'.
17752 * conf/i386-efi.rmk: Likewise.
17753 * conf/x86_64-efi.rmk: Likewise.
17754 * conf/i386-coreboot.rmk: Likewise.
17755 * conf/i386-ieee1275.rmk: Likewise.
17756 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
17757 `util/ieee1275/get_disk_name.c'.
17758 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
17759 * util/ieee1275/get_disk_name.c: Remove file.
17760 * util/i386/get_disk_name.c: Remove file.
17761 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
17762 "hd%d" for device.map entries, rather than using
17763 grub_util_get_disk_name().
17764
81a06771 177652008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 17766
17767 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
17768 warning.
17769 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
17770
5a004279 177712008-09-24 Carles Pina i Estany <carles@pina.cat>
17772
17773 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
17774 Changed to 0x5100.
17775 (GRUB_TERM_PPAGE): Changed to 0x4900.
17776
397093d3 177772008-09-24 Robert Millan <rmh@aybabtu.com>
17778
17779 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
17780 macros (they were i386-pc specific).
17781 * include/grub/sparc64/ieee1275/console.h: Likewise.
17782 * include/grub/efi/console.h: Likewise.
17783
a91b6c7c 177842008-09-22 Bean <bean123ch@gmail.com>
17785
17786 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
17787 resident and in attribute list.
17788
17789 * include/grub/ntfs.h (BMP_LEN): Removed.
17790
c40fd116 177912008-09-22 Bean <bean123ch@gmail.com>
17792
81a06771 17793 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 17794 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
17795
17796 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
17797 error occurs, as grub_disk_open will call grub_disk_close, which will
17798 call p->close (scsi).
17799
81a06771 178002008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 17801
17802 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
17803 (AC_PREREQ): Bumped to 2.59.
17804 (AC_TRY_COMPILE): Replace obsolete macro with ...
17805 (AC_COMPILE_IFELSE): ... this.
17806 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
17807 (AC_LINK_IFELSE): ... this.
17808
5dc43410 178092008-09-21 Felix Zielcke <fzielcke@z-51.de>
17810
17811 * autogen.sh: Add a call to `gendistlist.sh'.
17812
9035dce4 178132008-09-19 Christian Franke <franke@computer.org>
17814
17815 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
17816 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
17817 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
17818 Export __enable_execute_stack() to modules.
17819 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
17820 New function.
17821
7fd75377 178222008-09-09 Felix Zielcke <fzielcke@z-51.de>
17823
040030b3 17824 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
17825 Sort the list.
17826
178272008-09-09 Felix Zielcke <fzielcke@z-51.de>
17828
17829 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 17830 #include <grub/util/hostdisk.h>.
17831
89d5ffcf 178322008-09-08 Robert Millan <rmh@aybabtu.com>
17833
17834 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
17835 segments when their filesz is zero (grub_file_read() interprets
81a06771 17836 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 17837 Use `lowest_segment' rather than 0 for calculating the current
17838 segment load address.
17839
40da438f 178402008-09-08 Robert Millan <rmh@aybabtu.com>
17841
17842 * util/hostdisk.c (open_device): Replace a grub_util_info() call
17843 with grub_dprintf("hostdisk", ...), as it was so verbose that it
17844 clobbered useful information.
17845
ddbf5556 178462008-09-08 Robert Millan <rmh@aybabtu.com>
17847
17848 * include/grub/util/biosdisk.h: Move to ...
17849 * include/grub/util/hostdisk.h: ... here. Update all users.
17850 * util/biosdisk.c: Move to ...
17851 * util/hostdisk.c: ... here. Update all users.
17852
783d0f48 178532008-09-07 Robert Millan <rmh@aybabtu.com>
17854
17855 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
17856 variables.
17857 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
17858 and length can be stored directly in the `mbi->mmap_addr' and
17859 `mbi->mmap_length' struct fields.
17860
548e2ea5 178612008-09-07 Robert Millan <rmh@aybabtu.com>
17862
17863 * conf/i386.rmk: New file. Provides declaration for building
17864 `cpuid.mod'.
17865 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
17866 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
17867 variables.
17868 Include `conf/i386.mk'.
17869 * conf/i386-efi.rmk: Likewise.
17870 * conf/x86_64-efi.rmk: Likewise.
17871 * conf/i386-coreboot.rmk: Likewise.
17872 * conf/i386-ieee1275.rmk: Likewise.
17873
0ea85a37 178742008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
17875
17876 Based on patch created by Colin D Bennett <colin@gibibit.com>.
17877 Adds optimization support for BGR based modes.
17878
17879 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
17880 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
17881 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
17882 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
17883 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
17884 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
17885 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
17886 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
17887 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
17888 (grub_video_i386_vbeblit_index_index): Likewise.
17889 (grub_video_i386_vbeblit_replace_directN): Added.
17890 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
17891 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
17892 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
17893 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
17894 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
17895 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 17896 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 17897 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
17898 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
17899 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
17900 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
17901 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
17902 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
17903
17904 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
17905 (grub_video_i386_vbefill_R8G8B8): Likewise.
17906 (grub_video_i386_vbefill_index): Likewise.
17907 (grub_video_i386_vbefill_direct32): Added.
17908 (grub_video_i386_vbefill_direct24): Likewise.
17909 (grub_video_i386_vbefill_direct16): Likewise.
17910 (grub_video_i386_vbefill_direct8): Likewise.
17911
81a06771 17912 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 17913 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
17914 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
17915 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
17916 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
17917 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 17918
0ea85a37 17919 * video/video.c (grub_video_get_blit_format): Updated to use new
17920 blit formats. Added handling for 16 bit color modes.
81a06771 17921
17922 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 17923 fillers.
17924 (common_blitter): Updated to use new blitters.
17925
17926 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
17927 Removed.
17928 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
17929 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
17930 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
17931 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
17932 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
17933 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
17934 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
17935 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
17936 (grub_video_i386_vbeblit_index_index): Likewise.
17937 (grub_video_i386_vbeblit_replace_directN): Added.
17938 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
17939 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
17940 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
17941 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
17942 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
17943 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
17944 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
17945 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
17946 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
17947 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
17948 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
17949 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
17950 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 17951
0ea85a37 17952 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
17953 (grub_video_i386_vbefill_R8G8B8): Likewise.
17954 (grub_video_i386_vbefill_index): Likewise.
17955 (grub_video_i386_vbefill_direct32): Added.
17956 (grub_video_i386_vbefill_direct24): Likewise.
17957 (grub_video_i386_vbefill_direct16): Likewise.
17958 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 17959
0ea85a37 17960 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
17961 types.
81a06771 17962
0ea85a37 17963 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
17964 types.
81a06771 17965
0ea85a37 17966 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
17967 blitter types.
81a06771 17968
0ea85a37 17969 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
17970 types.
17971
e8a83df6 179722008-09-06 Felix Zielcke <fzielcke@z-51.de>
17973
17974 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
17975 RAID level 1.
17976
6bcd8ee5 179772008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 17978
6bcd8ee5 17979 * fs/iso9660.c (grub_iso9660_date): New structure.
17980 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
17981 (grub_iso9660_uuid): New function.
c375ae58 17982
59261157 179832008-09-05 Bean <bean123ch@gmail.com>
17984
17985 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
17986
17987 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
17988 insensitive bit for names in Win32 and Win32 & DOS namespace.
17989
17990 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
17991
17992 * include/grub/types.h (LONG_MAX): Likewise.
17993
58b6645a 179942008-09-04 Felix Zielcke <fzielcke@z-51.de>
17995
4ee55921 17996 * util/getroot.c: Include <config.h>.
17997 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
17998 add support for /dev/md/N devices and handle LVM double dash escaping.
17999
180002008-09-04 Felix Zielcke <fzielcke@z-51.de>
18001
18002 * config.guess: Update to latest version from config git.
18003 * config.sub: Likewise.
58b6645a 18004
9124f65d 180052008-09-03 Robert Millan <rmh@aybabtu.com>
18006
18007 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
18008 `disk->total_sectors'.
18009
81a06771 180102008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 18011
18012 * include/grub/normal.h: Fixed incorrect comment for
18013 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
18014
81a06771 180152008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 18016
18017 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
18018 values with defines.
18019
18020 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
18021 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
18022 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
18023 (GRUB_VBE_MODEATTR_COLOR): Likewise.
18024 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
18025 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
18026 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
18027 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
18028 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
18029 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
18030 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
18031 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
18032 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
18033 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
18034 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
18035 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
18036 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
18037 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
18038 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
18039
93d5cbf8 180402008-08-31 Robert Millan <rmh@aybabtu.com>
18041
18042 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
18043 declaration.
18044 (grub_multiboot): Fix a few warnings.
18045
21751d50 180462008-08-31 Robert Millan <rmh@aybabtu.com>
18047
18048 * loader/i386/pc/multiboot.c: Update comment not to say that
18049 boot_device support is unimplemented.
18050
e27a75c5 180512008-08-31 Robert Millan <rmh@aybabtu.com>
18052
18053 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
18054 or memory map support are unimplemented.
18055
81a06771 180562008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 18057
18058 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
18059
81a06771 180602008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 18061
18062 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
18063 total video memory in 'vbeinfo' output; show color format details for
18064 each video mode.
18065
7c5d8d95 180662008-08-30 Pavel Roskin <proski@gnu.org>
18067
18068 * util/genmoddep.c: Remove for real this time.
18069 * DISTLIST: Remove util/genmoddep.c.
18070
4cebd25a 180712008-08-30 Robert Millan <rmh@aybabtu.com>
18072
18073 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
18074 as required by Multiboot spec (it was already 4-byte aligned, but
18075 only by chance).
18076
b497a269 180772008-08-29 Pavel Roskin <proski@gnu.org>
18078
e3925185 18079 * kern/powerpc/ieee1275/crt0.S: Rename to ...
18080 * kern/powerpc/ieee1275/startup.S: ... this.
18081 * conf/powerpc-ieee1275.rmk: Adjust for the above.
18082 * DISTLIST: Likewise.
18083
b497a269 18084 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
18085 grub/cpu/kernel.h. Add start label for consistency with other
18086 platforms. Add grub_prefix immediately after start. Add jump
18087 to the code after grub_prefix.
18088 * include/grub/powerpc/kernel.h: Provide valid values for
18089 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
18090
6e5a42fe 180912008-08-29 Bean <bean123ch@gmail.com>
18092
18093 * configure.ac: Change host_os to cygwin for mingw.
18094 (asprintf): New check for function.
18095
18096 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
18097 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
18098
18099 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 18100 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 18101 sync, sleep and grub_util_get_disk_size for mingw.
18102
18103 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
18104 to get size in mingw.
18105 (open_device): Use flag O_BINARY if it's defined.
18106 (find_root_device): Add dummy code for mingw.
18107
18108 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
18109 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
18110 (get_scsi_disk_name): Return 0 for mingw.
18111
18112 * util/hostfs.c: #include <grub/util/misc.h>.
18113 (grub_hostfs_open): Use "rb" flag to open file, use
18114 grub_util_get_disk_size to get disk size for mingw.
18115
18116 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
18117 (asprintf): New function if HAVE_ASPRINTF is not set.
18118 (sync): New function for mingw.
18119 (sleep): Likewise.
18120 (grub_util_get_disk_size): Likewise.
18121
ab3f2673 181222008-08-28 Pavel Roskin <proski@gnu.org>
18123
18124 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
18125 kern/time.c.
18126
1c282483 181272008-08-28 Robert Millan <rmh@aybabtu.com>
18128
18129 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
18130
678e849c 181312008-08-28 Robert Millan <rmh@aybabtu.com>
18132
18133 Change find_grub_drive() syntax so it doesn't prevent it from
18134 detecting NULL names as errors.
18135
18136 * util/biosdisk.c (find_grub_drive): Move free slot search code
18137 from here ...
18138 (find_free_slot): ... to here.
18139 (read_device_map): Use find_free_slot() to search for free slots.
18140
965c75ca 181412008-08-27 Marco Gerards <marco@gnu.org>
18142
18143 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
18144 (scsi_mod_SOURCES): New variable.
18145 (scsi_mod_CFLAGS): Likewise
18146 (scsi_mod_LDFLAGS): Likewise.
18147
18148 * disk/scsi.c: New file.
18149
18150 * include/grub/scsi.h: Likewise.
18151
18152 * include/grub/scsicmd.h: Likewise.
18153
18154 * disk/ata.c: Include <grub/scsi.h>.
18155 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
18156 instead.
18157 (grub_ata_iterate): Skip ATAPI devices.
18158 (grub_ata_open): Only handle ATAPI devices.
18159 (struct grub_atapi_read): Removed.
18160 (grub_atapi_readsector): Likewise.
18161 (grub_ata_read): No longer handle ATAPI devices.
18162 (grub_ata_write): Likewise.
18163 (grub_atapi_iterate): New function.
18164 (grub_atapi_read): Likewise.
18165 (grub_atapi_write): Likewise.
18166 (grub_atapi_open): Likewise.
18167 (grub_atapi_close): Likewise.
18168 (grub_atapi_dev): New variable.
18169 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
18170 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
18171
18172 * include/grub/disk.h (enum grub_disk_dev_id): Add
18173 `GRUB_DISK_DEVICE_SCSI_ID'.
18174
c07ae501 181752008-08-26 Robert Millan <rmh@aybabtu.com>
18176
18177 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
18178 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
18179 descriptive.
18180
5ed20adc 181812008-08-23 Bean <bean123ch@gmail.com>
18182
18183 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
18184 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
18185 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
18186 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
18187 dm_nv.mod.
18188 (raid5rec_mod_SOURCES): New macro.
18189 (raid5rec_mod_CFLAGS): Likewise.
18190 (raid5rec_mod_LDFLAGS): Likewise.
18191 (raid6rec_mod_SOURCES): Likewise.
18192 (raid6rec_mod_CFLAGS): Likewise.
18193 (raid6rec_mod_LDFLAGS): Likewise.
18194 (mdraid_mod_SOURCES): Likewise.
18195 (mdraid_mod_CFLAGS): Likewise.
18196 (mdraid_mod_LDFLAGS): Likewise.
18197 (dm_nv_mod_SOURCES): Likewise.
18198 (dm_nv_mod_CFLAGS): Likewise.
18199 (dm_nv_mod_LDFLAGS): Likewise.
18200
18201 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
18202 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
18203 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
18204
18205 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
18206 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
18207
18208 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18209
18210 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18211
18212 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18213
18214 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18215
18216 * disk/raid5_recover.c: New file.
18217
18218 * disk/raid6_recover.c: Likewise.
18219
18220 * disk/mdraid_linux.c: Likewise.
18221
18222 * disk/dmraid_nvidia.c: Likewise.
18223
18224 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
18225 ULONG_MAX.
18226
18227 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
18228 calculate the size of raid device.
18229 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
18230 different layout of raid5.
18231 (grub_raid_scan_device): Remove code specific to mdraid.
18232 (grub_raid_list): New variable.
18233 (free_array): New function.
18234 (grub_raid_register): Likewise.
18235 (grub_raid_unregister): Likewise.
18236 (grub_raid_rescan): Likewise.
18237 (GRUB_MOD_INIT): Don't iterate device here.
18238 (GRUB_MOD_FINI): Use free_array to release resource.
18239
18240 * include/grub/raid.h: Remove macro and structure specific to mdraid.
18241 (grub_raid5_recover_func_t): New function variable type.
18242 (grub_raid6_recover_func_t): Likewise.
18243 (grub_raid5_recover_func): New variable.
18244 (grub_raid6_recover_func): Likewise.
18245 (grub_raid_register): New function.
18246 (grub_raid_unregister): Likewise.
18247 (grub_raid_rescan): Likewise.
18248 (grub_raid_block_xor): Likewise.
18249
18250 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
18251 (CMD_CRC): New macro.
18252 (part): Removed.
18253 (read_file): Handle device as well as file.
18254 (cmd_crc): New function.
18255 (fstest): Handle multiple disks.
18256 (options): Remove part, raw and long, add root and diskcount.
18257 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 18258 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 18259 add handling for the new options, support multiple disks.
18260
18261 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
18262
29c18915 182632008-08-23 Bean <bean123ch@gmail.com>
18264
18265 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
18266
18267 * genfslist.sh: Ignore kernel.mod.
18268
18269 * genpartmaplist.sh: Likewise.
18270
8415f261 182712008-08-23 Robert Millan <rmh@aybabtu.com>
18272
18273 * util/getroot.c (find_root_device): Skip anything that starts with
18274 a dot, not just directories. This avoids things like /dev/.tmp.md0.
18275
d5a7dc5b 182762008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 18277
d5a7dc5b 18278 * util/update-grub.in (GRUB_GFXMODE): Export variable.
18279 * util/grub.d/00_header.in: Allow the administrator to change default
18280 gfxmode via ${GRUB_GFXMODE}.
18281
380cfbb4 182822008-08-21 Felix Zielcke <fzielcke@z-51.de>
18283
18284 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
18285
c9baafe7 182862008-08-21 Robert Millan <rmh@aybabtu.com>
18287
18288 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
18289 loader.
18290 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
18291 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
18292
e290bef2 182932008-08-20 Carles Pina i Estany <carles@pina.cat>
18294
18295 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
18296 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
18297
f9dbfc96 182982008-08-19 Robert Millan <rmh@aybabtu.com>
18299
18300 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
18301 (struct grub_virtual_screen): Remove `cursor_color'.
18302 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
18303 initialization.
18304 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
18305
dd6bd6ab 183062008-08-18 Robert Millan <rmh@aybabtu.com>
18307
18308 Unify (identical) linux_normal.c files.
18309 * loader/i386/efi/linux_normal.c: Move from here ...
18310 * loader/linux_normal.c: ... to here. Update all users.
18311 * loader/i386/pc/linux_normal.c: Delete. Update all users.
18312 * loader/i386/ieee1275/linux_normal.c: Likewise.
18313
7f42f83e 183142008-08-18 Robert Millan <rmh@aybabtu.com>
18315
18316 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
18317 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
18318 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
18319 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
18320 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
18321 New macros.
18322 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
18323 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
18324 (GRUB_LINUX_CL_END_OFFSET): ... to here.
18325 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
18326 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
18327 (GRUB_EFI_CL_END_OFFSET): Rename to ...
18328 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
18329 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
18330 Initialize `params->video_cursor_x' and `params->video_cursor_y'
18331 portably using grub_getxy().
18332 Replace `-EFI' with `-bzImage' in boot message.
18333
38487ddb 183342008-08-17 Robert Millan <rmh@aybabtu.com>
18335
18336 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
18337
deceb3ec 183382008-08-17 Robert Millan <rmh@aybabtu.com>
18339
18340 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
18341
18342 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
18343 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
18344 (grub_machine_mmap_iterate): New function declaration.
18345 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
18346 structure.
18347 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
18348 macros.
18349
18350 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
18351 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
18352 Move e820 parsing from here ...
18353 * kern/i386/pc/mmap.c: New file.
18354 (grub_machine_mmap_iterate): ... to here.
18355
18356 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
18357 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
18358 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
18359 (grub_available_iterate): Redeclare to return `void', and redeclare
18360 its hook to use grub_uint64_t as addr and size parameters, and rename
18361 to ...
18362 (grub_machine_mmap_iterate): ... this. Update all users.
18363
18364 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
18365 to make it more readable. Rename to ...
18366 (grub_machine_mmap_iterate): ... this.
18367
18368 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
18369 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
18370 (grub_multiboot): Allocate an extra region after the payload, and fill
18371 it with a Multiboot memory map. Adjust a.out loader to calculate size
18372 with the extra space.
18373 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
18374 with the extra space.
18375
f8aa0f43 183762008-08-17 Carles Pina i Estany <carles@pina.cat>
18377
9807deb9 18378 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 18379
605f5bb6 183802008-08-17 Felix Zielcke <fzielcke@z-51.de>
18381
18382 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
18383 mdate-sh to the list `find' searches for.
18384 * DISTLIST: Regenerated.
18385
210db6c6 183862008-08-16 Felix Zielcke <fzielcke@z-51.de>
18387
18388 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
18389 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 18390 genmoddep.awk, gensymlist.sh.in.
18391 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 18392 * DISTLIST: Regenerated.
48cdbfd4 18393 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 18394
1082b929 183952008-08-16 Robert Millan <rmh@aybabtu.com>
18396
18397 * disk/raid.c (grub_raid_init): Handle/report errors set by
18398 grub_device_iterate().
18399 * disk/lvm.c (grub_lvm_init): Likewise.
18400
42ce5170 184012008-08-15 Bean <bean123ch@gmail.com>
18402
18403 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
18404 and datehook.mod.
18405 (datetime_mod_SOURCES): New macro.
18406 (datetime_mod_CFLAGS): Likewise.
18407 (datetime_mod_LDFLAGS): Likewise.
18408 (date_mod_SOURCES): Likewise.
18409 (date_mod_CFLAGS): Likewise.
18410 (date_mod_LDFLAGS): Likewise.
18411 (datehook_mod_SOURCES): Likewise.
18412 (datehook_mod_CFLAGS): Likewise.
18413 (datehook_mod_LDFLAGS): Likewise.
18414
18415 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
18416 and datehook.mod.
18417 (datetime_mod_SOURCES): New macro.
18418 (datetime_mod_CFLAGS): Likewise.
18419 (datetime_mod_LDFLAGS): Likewise.
18420 (date_mod_SOURCES): Likewise.
18421 (date_mod_CFLAGS): Likewise.
18422 (date_mod_LDFLAGS): Likewise.
18423 (datehook_mod_SOURCES): Likewise.
18424 (datehook_mod_CFLAGS): Likewise.
18425 (datehook_mod_LDFLAGS): Likewise.
18426
18427 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
18428 and datehook.mod.
18429 (datetime_mod_SOURCES): New macro.
18430 (datetime_mod_CFLAGS): Likewise.
18431 (datetime_mod_LDFLAGS): Likewise.
18432 (date_mod_SOURCES): Likewise.
18433 (date_mod_CFLAGS): Likewise.
18434 (date_mod_LDFLAGS): Likewise.
18435 (datehook_mod_SOURCES): Likewise.
18436 (datehook_mod_CFLAGS): Likewise.
18437 (datehook_mod_LDFLAGS): Likewise.
18438
18439 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
18440 and datehook.mod.
18441 (datetime_mod_SOURCES): New macro.
18442 (datetime_mod_CFLAGS): Likewise.
18443 (datetime_mod_LDFLAGS): Likewise.
18444 (date_mod_SOURCES): Likewise.
18445 (date_mod_CFLAGS): Likewise.
18446 (date_mod_LDFLAGS): Likewise.
18447 (datehook_mod_SOURCES): Likewise.
18448 (datehook_mod_CFLAGS): Likewise.
18449 (datehook_mod_LDFLAGS): Likewise.
18450
18451 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
18452 and datehook.mod.
18453 (datetime_mod_SOURCES): New macro.
18454 (datetime_mod_CFLAGS): Likewise.
18455 (datetime_mod_LDFLAGS): Likewise.
18456 (date_mod_SOURCES): Likewise.
18457 (date_mod_CFLAGS): Likewise.
18458 (date_mod_LDFLAGS): Likewise.
18459 (datehook_mod_SOURCES): Likewise.
18460 (datehook_mod_CFLAGS): Likewise.
18461 (datehook_mod_LDFLAGS): Likewise.
18462
18463 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
18464
18465 * commands/date.c: New file.
18466
18467 * hook/datehook.c: Likewise.
18468
18469 * include/grub/lib/datetime.h: Likewise.
18470
18471 * include/grub/i386/cmos.h: Likewise.
18472
18473 * lib/datetime.c: Likewise.
18474
18475 * lib/i386/datetime.c: Likewise.
18476
18477 * lib/efi/datetime.c: Likewise.
18478
0e9242da 184792008-08-14 Robert Millan <rmh@aybabtu.com>
18480
18481 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
18482 (grub_mkelfimage_SOURCES): New variable.
18483 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
18484
18485 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
18486 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
18487 * conf/powerpc-ieee1275.rmk: Likewise.
18488 * conf/i386-ieee1275.rmk: Likewise.
18489
18490 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
18491 * kern/i386/coreboot/init.c: Likewise.
18492
18493 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
18494 with `<grub/cpu/kernel.h>'.
18495 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
18496 to ...
18497 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
18498 * kern/i386/coreboot/startup.S: Likewise.
18499
18500 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
18501 (GRUB_MOD_GAP): Remove.
18502 * include/grub/powerpc/kernel.h: New file.
18503 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
18504 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
18505 * include/grub/i386/kernel.h: New file.
18506 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
18507 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
18508 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
18509
18510 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
18511 `grub-mkelfimage'.
18512 Use --directory when invoking grub_mkimage.
18513
18514 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
18515 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
18516 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
18517 and GRUB_KERNEL_CPU_PREFIX.
18518
b86408f8 185192008-08-14 Felix Zielcke <fzielcke@z-51.de>
18520
d5e619ca 18521 * include/grub/err.h (grub_err_printf): New function prototype.
18522 * util/misc.c (grub_err_printf): New function.
18523 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
18524 grub_printf.
18525 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 18526
7161f0e0 185272008-08-13 Robert Millan <rmh@aybabtu.com>
18528
18529 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
18530
a1967522 185312008-08-13 Robert Millan <rmh@aybabtu.com>
18532
18533 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
18534 boot entry.
18535
371458b5 185362008-08-12 Robert Millan <rmh@aybabtu.com>
18537
18538 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
18539 of the relocation code from here ...
18540 (grub_multiboot): ... to here.
18541 (forward_relocator, backward_relocator): Move from here ...
18542 * kern/i386/loader.S (grub_multiboot_forward_relocator)
18543 (grub_multiboot_backward_relocator): ... to here.
18544 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
18545 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
18546 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
18547 (grub_multiboot_forward_relocator_end)
18548 (grub_multiboot_backward_relocator)
18549 (grub_multiboot_backward_relocator_end): New variables.
18550
05f9452b 185512008-08-12 Bean <bean123ch@gmail.com>
18552
18553 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
18554
20024ab0 185552008-08-11 Robert Millan <rmh@aybabtu.com>
18556
18557 * kern/i386/linuxbios/startup.S: Move from here ...
18558 * kern/i386/coreboot/startup.S: ... to here.
18559
18560 * kern/i386/linuxbios/init.c: Move from here ...
18561 * kern/i386/coreboot/init.c: ... to here.
18562
18563 * kern/i386/linuxbios/table.c: Move from here ...
18564 * kern/i386/coreboot/mmap.c: ... to here.
18565
18566 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
18567
e352e9cd 185682008-08-11 Robert Millan <rmh@aybabtu.com>
18569
18570 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
18571 errors. Leave it to the upper layer to handle them.
18572
2d05bc6a 185732008-08-09 Christian Franke <franke@computer.org>
18574
18575 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
18576 * conf/common.rmk: Install `grub-pe2elf' only if requested.
18577 Install `grub.d/10_windows' only on Cygwin.
18578 * configure.ac: Add subst of `target_os'.
18579 Check `target_os' also before setting TARGET_OBJ2ELF.
18580 Add `--enable-grub-pe2elf'.
18581
042bd419 185822008-08-08 Robert Millan <rmh@aybabtu.com>
18583
18584 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
18585 (grub_last_time): Change type to grub_uint64_t.
18586 (grub_disk_open): Migrate code from to using grub_get_time_ms().
18587 (grub_disk_close): Likewise.
18588
18589 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
18590 (run_menu): Migrate code from to using grub_get_time_ms().
18591
18592 * util/misc.c (grub_get_time_ms): New function.
18593
7f280db5 185942008-08-08 Marco Gerards <marco@gnu.org>
18595
18596 * disk/ata.c (grub_ata_regget): Change return type to
18597 `grub_uint8_t'.
18598 (grub_ata_regget2): Likewise.
18599 (grub_ata_wait_status): New function.
18600 (grub_ata_wait_busy): Removed function, updated all users to use
18601 `grub_ata_wait_status'.
18602 (grub_ata_wait_drq): Likewise.
18603 (grub_ata_cmd): New function.
18604 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
18605 error handling.
18606 (grub_ata_pio_write): Add error handling.
18607 (grub_atapi_identify): Likewise.
18608 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
18609 handling.
18610 (grub_ata_identify): Use `grub_ata_cmd' and improve error
18611 handling. Actually use the detected registers. Reorder the
18612 detection logic such that it is easier to read.
18613 (grub_ata_pciinit): Do not assign the same ID to each controller.
18614 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
18615 handling.
18616 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
18617
18618 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
18619
1fbc5e66 186202008-08-08 Marco Gerards <marco@gnu.org>
18621
18622 * NEWS: Update.
18623
819ce6c0 186242008-08-07 Bean <bean123ch@gmail.com>
18625
18626 * include/grub/x86_64/pci.h: New file.
18627
5c41d44d 186282008-08-07 Christian Franke <franke@computer.org>
18629
18630 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
18631 (TIMER2_GATE): Likewise.
18632 (grub_pit_wait): Add enable/disable of the timer2 gate
18633 bit of port 0x61. This fixes a possible infinite loop.
18634
5ebc275d 186352008-08-07 Bean <bean123ch@gmail.com>
18636
18637 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
18638 kern/i386/tsc.c and kern/i386/pit.c.
18639
18640 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
18641 x86_64 platform.
18642
18643 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
18644 <grub/i386/tsc.h>.
18645
18646 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
18647
e383b3d0 186482008-08-07 Bean <bean123ch@gmail.com>
18649
18650 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
18651
18652 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
18653
18654 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
18655 multiple inclusion. Add #include <grub/types.h>.
18656
1cbb58ac 186572008-08-06 Christian Franke <franke@computer.org>
18658
18659 * conf/common.rmk: Build and install `10_windows'.
18660 * util/grub.d/10_windows.in: New script.
18661
337f5a1e 186622008-08-06 Pavel Roskin <proski@gnu.org>
18663
18664 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
18665
057bc4ac 186662008-08-06 Robert Millan <rmh@aybabtu.com>
18667
18668 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
18669 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
18670
2b99f123 186712008-08-06 Bean <bean123ch@gmail.com>
18672
18673 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
18674 (grub_pxefs_fs_int): Remove dummy definition.
18675 (grub_pxefs_open): Use data->block_size to store the current block
18676 size setting.
18677 (grub_pxefs_read): Use block size stored in data->block_size. As the
18678 value of grub_pxe_blksize can be changed after the file is opened.
18679
9f0234cb 186802008-08-06 Bean <bean123ch@gmail.com>
18681
18682 * fs/i386/pc/pxe.c (curr_file): new variable.
18683 (grub_pxefs_open): Simply the handling of pxe file system. Don't
18684 require the dummy internal file system anymore.
18685 (grub_pxefs_read): Removed.
18686 (grub_pxefs_close): Likewise.
18687 (grub_pxefs_fs_int): Likewise.
18688 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
18689 connection when we switch file.
18690 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
18691
a55d42e0 186922008-08-06 Robert Millan <rmh@aybabtu.com>
18693
18694 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
18695 `halt.mod'.
18696 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
18697 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
18698
18699 * kern/i386/halt.c: New file.
18700 * kern/i386/reboot.c: Likewise.
18701 * include/grub/i386/reboot.h: Likewise.
18702 * include/grub/i386/halt.h: Likewise.
18703
18704 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
18705 Include `<grub/cpu/halt.h>'.
18706 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
18707 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
18708
18709 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
18710 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
18711 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
18712 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
18713 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
18714 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
18715 from here ...
18716 * include/grub/i386/at_keyboard.h: ... to here.
18717
24371d26 187182008-08-05 Robert Millan <rmh@aybabtu.com>
18719
18720 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
18721 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
18722 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
18723 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
18724 `kern/generic/millisleep.c'.
18725
18726 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
18727 instead of grub_get_rtc().
18728 (grub_tsc_init): Initialize `tsc_boot_time'.
18729
18730 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
18731 (grub_machine_init): Use grub_tsc_init() rather than
18732 installing an RTC-based handler via grub_install_get_time_ms().
18733
18734 * kern/i386/pit.c: New file.
18735 * include/grub/i386/pit.h: Likewise.
18736
9e7007b3 187372008-08-05 Bean <bean123ch@gmail.com>
18738
18739 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
18740
18741 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
18742 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
18743 (pxe_mod_SOURCES): New macro.
18744 (pxe_mod_CFLAGS): Likewise.
18745 (pxe_mod_LDFLAGS): Likewise.
18746 (pxecmd_mod_SOURCES): Likewise.
18747 (pxecmd_mod_CFLAGS): Likewise.
18748 (pxecmd_mod_LDFLAGS): Likewise.
18749
18750 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
18751 (grub_pxe_call): Likewise.
18752
18753 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
18754
18755 * commands/i386/pc/pxecmd.c: New file.
18756
9f0234cb 18757 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 18758
18759 * include/grub/i386/pc/pxe.h: Likewise.
18760
6977d49f 187612008-08-05 Bean <bean123ch@gmail.com>
18762
18763 * util/console.c (grub_console_cur_color): New variable.
18764 (grub_console_standard_color): Likewise.
18765 (grub_console_normal_color): Likewise.
18766 (grub_console_highlight_color): Likewise.
18767 (color_map): Likewise.
18768 (use_color): Likewise.
18769 (NUM_COLORS): New macro.
18770 (grub_ncurses_setcolorstate): Handle color properly.
18771 (grub_ncurses_setcolor): Don't change color here, just remember the
18772 settings, color will be set in grub_ncurses_setcolorstate.
18773 (grub_ncurses_getcolor): New function.
18774 (grub_ncurses_init): Initialize color pairs.
18775 (grub_ncurses_term): New member grub_ncurses_getcolor.
18776
9c2ff3ee 187772008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 18778
9c2ff3ee 18779 High resolution timer support. Implemented for x86 CPUs using TSC.
18780 Extracted generic grub_millisleep() so it's linked in only as needed.
18781 This requires a Pentium compatible CPU; if the RDTSC instruction is
18782 not supported, then it falls back on the generic grub_get_time_ms()
18783 implementation that uses the machine's RTC.
18784
18785 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
18786 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
18787 `kern/generic/millisleep.c'.
18788
18789 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
18790 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
18791
18792 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
18793 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
18794
18795 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
18796
18797 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
18798 `kern/generic/millisleep.c'.
18799
18800 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
18801
18802 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
18803
18804 * kern/generic/rtc_get_time_ms.c: New file.
18805
18806 * kern/generic/millisleep.c: New file.
337f5a1e 18807
9c2ff3ee 18808 * kern/misc.c: Don't include
18809 <kern/time.h> anymore.
18810 (grub_millisleep_generic): Removed.
18811
18812 * commands/sleep.c (grub_interruptible_millisleep): Uses
18813 grub_get_time_ms() instead of grub_get_rtc().
18814
18815 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
18816 function.
18817 (grub_cpu_is_cpuid_supported): New inline function.
18818 (grub_cpu_is_tsc_supported): New inline function.
18819 (grub_tsc_init): New function prototype.
18820 (grub_tsc_get_time_ms): New function prototype.
18821
18822 * kern/i386/tsc.c (grub_get_time_ms): New file.
18823
18824 * include/grub/time.h: Include <grub/types.h.
18825 (grub_millisleep_generic): Removed.
18826 (grub_get_time_ms): New prototype.
18827 (grub_install_get_time_ms): New prototype.
18828 (grub_rtc_get_time_ms): New prototype.
18829
18830 * kern/time.c (grub_get_time_ms): New function.
18831 (grub_install_get_time_ms): New function.
18832
18833 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
18834 <grub/time.h> anymore.
18835 (grub_millisleep): Removed.
18836 (grub_machine_init): Call grub_tsc_init.
18837
18838 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
18839 get_time_ms() implementation.
18840
18841 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
18842 (ieee1275_get_time_ms): New function.
18843 (grub_machine_init): Install get_time_ms() implementation.
18844
18845 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
18846 (grub_machine_init): Call grub_tsc_init().
18847 (grub_millisleep): Removed.
bf06a93f 18848
9c2ff3ee 18849 * kern/ieee1275/init.c (grub_millisleep): Removed.
18850 (grub_machine_init): Install ieee1275_get_time_ms()
18851 implementation.
18852 (ieee1275_get_time_ms): New function.
18853 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
18854 real work.
18855
9ec92aaf 188562008-08-05 Marco Gerards <marco@gnu.org>
18857
18858 * disk/ata.c: Include <grub/pci.h>.
18859 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
18860 (grub_ata_initialize): Rewritten.
18861 (grub_ata_device_initialize): New function.
18862
8d23f507 188632008-08-04 Pavel Roskin <proski@gnu.org>
18864
18865 * kern/main.c: Include grub/mm.h.
18866
5e15ee3d 188672008-08-04 Robert Millan <rmh@aybabtu.com>
18868
18869 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
18870 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
18871 corruption problem).
18872
a9053f8f 188732008-08-04 Robert Millan <rmh@aybabtu.com>
18874
18875 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
18876 warnings introduced in my last commit.
18877
dd19c7d7 188782008-08-03 Robert Millan <rmh@aybabtu.com>
18879
18880 Make PCI available on all i386 architectures.
18881
18882 * include/grub/i386/pc/pci.h: Move from here ...
18883 * include/grub/i386/pci.h: ... to here.
18884
18885 * include/grub/i386/pc/pci.h: Remove.
18886 * include/grub/i386/efi/pci.h: Remove.
18887 * include/grub/x86_64/efi/pci.h: Remove.
18888
18889 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
18890 `<grub/cpu/pci.h>'.
18891
18892 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
18893 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
18894 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
18895
18896 * conf/i386-ieee1275.rmk: Likewise.
18897
e14a6184 188982008-08-03 Robert Millan <rmh@aybabtu.com>
18899
18900 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
18901 (grub_console_setcursor): Make it possible to set cursor off.
18902
52768e37 189032008-08-03 Robert Millan <rmh@aybabtu.com>
18904
18905 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
18906 of modules instead of assuming which platform provides what.
18907 * util/update-grub.in: Likewise.
18908
2d52f57f 189092008-08-03 Robert Millan <rmh@aybabtu.com>
18910
18911 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
18912 instead of `grub_install_dos_part' to determine whether a drive needs
18913 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 18914 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 18915
2a5cd121 189162008-08-02 Robert Millan <rmh@aybabtu.com>
18917
18918 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
18919
93808428 189202008-08-02 Robert Millan <rmh@aybabtu.com>
18921
18922 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
18923 of informational grub_dprintf() calls.
18924
3bd0a12a 189252008-08-02 Robert Millan <rmh@aybabtu.com>
18926
18927 * disk/memdisk.c (memdisk_size): Don't initialize.
18928 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
18929
18930 * include/grub/i386/pc/kernel.h
18931 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
18932 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
18933 (grub_memdisk_image_size, grub_arch_memdisk_addr)
18934 (grub_arch_memdisk_size): Remove.
18935
18936 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
18937 field (was only used to transfer a constant). Add `type' field to
18938 support multiple module types.
18939 (grub_module_iterate): New function.
18940
18941 * kern/device.c (grub_device_open): Do not hide error messages
18942 when grub_disk_open() fails. Use grub_print_error() instead.
18943
18944 * kern/i386/pc/init.c (grub_arch_modules_addr)
18945 (grub_arch_memdisk_size): Remove functions.
18946 (grub_arch_modules_addr): Return the module address in high memory
18947 (now that it isn't copied anymore).
18948
18949 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
18950 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
18951 decompression routine (grub_total_module_size already includes that
18952 now). Don't copy modules back to low memory.
18953
18954 * kern/main.c: Include `<grub/mm.h>'.
18955 (grub_load_modules): Split out (and use) ...
18956 (grub_module_iterate): ... this function, which iterates through
18957 module objects and runs a hook.
18958 Comment out grub_mm_init_region() call, as it would cause non-ELF
18959 modules to be overwritten.
18960
18961 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
18962 the memdisk image in its own region, make it part of the module list.
18963 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
18964 (main): Parse --memdisk|-m option, and pass user-provided path as
18965 parameter to generate_image().
18966 (add_segments): Pass `memdisk_path' down to load_modules().
18967 (load_modules): Embed memdisk image in module section when requested.
18968 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
18969 `header.type' instead of `header.offset'.
18970
18971 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
18972 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
18973 (memdisk_mod_LDFLAGS): New variables.
18974 * conf/i386-coreboot.rmk: Likewise.
18975 * conf/i386-ieee1275.rmk: Likewise.
18976
a927cc73 189772008-08-02 Robert Millan <rmh@aybabtu.com>
18978
18979 * loader/i386/pc/multiboot.c (playground, forward_relocator)
18980 (backward_relocator): New variables. Used to allocate and relocate
18981 the payload, respectively.
18982 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 18983 address, install the appropriate relocator code in each bound of
a927cc73 18984 the payload, and set the entry point such that
18985 grub_multiboot_real_boot() will jump to one of them.
18986
18987 * kern/i386/loader.S (grub_multiboot_payload_size)
18988 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
18989 (grub_multiboot_payload_entry_offset): New variables.
18990 (grub_multiboot_real_boot): Set cpu context to what the relocator
18991 expects, and jump to the relocator instead of the payload.
18992
18993 * include/grub/i386/loader.h (grub_multiboot_payload_size)
18994 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
18995 (grub_multiboot_payload_entry_offset): Export.
18996
b15d8a0c 189972008-08-01 Bean <bean123ch@gmail.com>
18998
18999 * normal/menu_entry.c (editor_getline): Don't return the original
19000 string as result, as it will be released by lexer once it has done
19001 using it.
19002
cdfb3d22 190032008-08-01 Robert Millan <rmh@aybabtu.com>
19004
19005 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
19006 within menuentries, not before them.
19007 util/grub.d/10_hurd.in: Likewise.
19008
9175e93d 190092008-08-01 Bean <bean123ch@gmail.com>
19010
19011 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
19012 (bufio_mod_SOURCES): New macro.
19013 (bufio_mod_CFLAGS): Likewise.
19014 (bufio_mod_LDFLAGS): Likewise.
19015
19016 * include/grub/bufio.h: New file.
19017
19018 * io/bufio.c: Likewise.
19019
19020 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
19021 (grub_video_reader_png): Use grub_buffile_open to open file.
19022
19023 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
19024 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
19025
19026 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
19027 (grub_video_reader_tga): Use grub_buffile_open to open file.
19028
19029 * font/manager.c: Include <grub/bufio.h>.
19030 (add_font): Use grub_buffile_open to open file.
19031
3d8383e7 190322008-07-31 Robert Millan <rmh@aybabtu.com>
19033
19034 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
19035 ELF segments, use a macro for arbitrarily accessing any of them instead
19036 of preparing a pointer that allows access to one at a time.
19037 (grub_multiboot_load_elf64): Likewise.
19038
16e641b6 190392008-07-31 Bean <bean123ch@gmail.com>
19040
19041 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
19042 GRUB_KERNEL_MACHINE_DATA_END.
19043
59198b72 190442008-07-30 Robert Millan <rmh@aybabtu.com>
19045
19046 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
19047 Increase from 0x50 to 0x60.
19048 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
19049 use UUIDs to identify the root drive for them. If that's not
19050 possible, abort.
19051 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
19052 check, for cross-disk installs.
19053
ae88bca3 190542008-07-30 Robert Millan <rmh@aybabtu.com>
19055
19056 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
19057 is non-empty, use it to set the `prefix' environment variable instead
19058 of the usual approach.
19059 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
19060 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
19061 environment variable instead of dummy make_install_device().
19062
19063 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
19064 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 19065 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 19066
19067 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
19068 New variable reference.
19069 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
19070 New macro. Defines offset of `grub_prefix' within startup.S (relative
19071 to `start').
19072 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
19073 section within startup.S (relative to `start').
19074 * include/grub/i386/coreboot/kernel.h: Likewise.
19075
19076 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
19077 Overwrite grub_prefix with its contents, at the beginning of the
19078 first segment.
19079 (main): Understand -p|--prefix.
19080
14f41dd1 190812008-07-30 Robert Millan <rmh@aybabtu.com>
19082
19083 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
19084
4ca049a3 190852008-07-30 Robert Millan <rmh@aybabtu.com>
19086
19087 * term/i386/pc/vga_text.c (grub_console_cls): Use
19088 grub_console_gotoxy() to go back to beginning of the screen.
19089 Found by Patrick Georgi <patrick.georgi@coresystems.de>
19090
2921d337 190912008-07-29 Christian Franke <franke@computer.org>
19092
19093 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
19094 Add conversion of emulated mount points on Cygwin.
19095
b609876d 190962008-07-29 Christian Franke <franke@computer.org>
19097
19098 * util/update-grub.in: Add a check for admin
19099 group on Cygwin.
19100 Remove old `grub.cfg.new' before creation.
19101 Add `-f' to `mv' to handle the different filesystem
19102 semantics of Windows.
19103
e93e4679 191042008-07-29 Bean <bean123ch@gmail.com>
19105
19106 * normal/main.c (get_line): Fix buffer overflow bug.
19107
41694fd0 191082008-07-28 Robert Millan <rmh@aybabtu.com>
19109
19110 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
19111 (struct grub_apple_header): New struct. Describes the layout of
19112 the partmap header.
19113 (apple_partition_map_iterate): Check the header magic as well as the
19114 partition magic (which was already being checked).
19115
cfd0b4e6 191162008-07-28 Pavel Roskin <proski@gnu.org>
19117
19118 * genmk.rb: Add a warning to the beginning of the output that
19119 it's a generated file and should not be edited.
19120
93cce016 191212008-07-28 Robert Millan <rmh@aybabtu.com>
19122
19123 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
19124 with the same number are found, just use issue a warning with
19125 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 19126
cd1df915 191272008-07-27 Robert Millan <rmh@aybabtu.com>
19128
19129 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
19130 information.
19131
b70a8427 191322008-07-27 Bean <bean123ch@gmail.com>
19133
19134 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
19135 (grub_fat_find_dir): Ignore case when comparing filename.
19136
8f5e379f 191372008-07-27 Bean <bean123ch@gmail.com>
19138
19139 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
19140 smallino, as it's more descriptive, and i8count can be confused with
19141 the other field count.
19142 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
19143 inode type.
19144
a85cd5a0 191452008-07-27 Bean <bean123ch@gmail.com>
19146
19147 * commands/crc.c: New file.
19148
19149 * lib/crc.c: Likewise.
19150
19151 * include/grub/lib/crc.h: Likewise.
19152
19153 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
19154
19155 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
19156 (hexdump): Move this function to ...
19157
19158 * lib/hexdump.c: ... here.
19159
19160 * include/grub/hexdump.h: Renamed to ...
19161
19162 * include/grub/lib/hexdump.h: ... this.
19163
19164 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
19165
19166 * util/grub-editenv.c: Likewise.
19167
19168 * include/envblk.h: Renamed to ...
19169
19170 * include/lib/envblk.h: ... this.
19171
19172 * util/envblk.c: Renamed to ...
19173
19174 * lib/envblk.c: ... this.
19175
19176 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
19177 lib/hexdump.c.
19178 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
19179 (pkglib_MODULES): Add crc.mod.
19180 (hexdump_mod_SOURCES): Add lib/hexdump.c.
19181 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
19182 (crc_mod_SOURCES): New macro.
19183 (crc_mod_CFLAGS): Likewise.
19184 (crc_mod_LDFLAGS): Likewise.
19185
19186 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
19187
19188 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19189
19190 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19191
19192 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19193
19194 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19195
c298def0 191962008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 19197
19198 * commands/help.c: Include <grub/term.h>.
19199 (TERM_WIDTH): Removed. Updated all users.
19200
cc349fb3 192012008-07-27 Pavel Roskin <proski@gnu.org>
19202
19203 * util/getroot.c (find_root_device): Rephrase a comment to avoid
19204 spurious warnings about a comment within a comment.
19205
9051607e 192062008-07-25 Robert Millan <rmh@aybabtu.com>
19207
19208 * util/getroot.c (find_root_device): Skip devices that match
19209 /dev/dm-[0-9]. This lets the real device be found for any type of
19210 abstraction (LVM, EVMS, RAID..).
19211 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
19212 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
19213 device is found first, find_root_device() will now skip it.
19214
01453bfc 192152008-07-24 Pavel Roskin <proski@gnu.org>
19216
19217 * include/grub/types.h: Use __builtin_bswap32() and
19218 __builtin_bswap64() with gcc 4.3 and newer.
19219
6af9849f 192202008-07-24 Christian Franke <franke@computer.org>
19221
3a0fa256 19222 * util/i386/pc/grub-install.in: If `--debug' is specified,
19223 pass `--verbose' to grub-setup.
19224 Abort script if make_system_path_relative_to_its_root() fails.
19225
7810e747 192262008-07-24 Bean <bean123ch@gmail.com>
19227
19228 * configure.ac: Fixed a bug caused by the previous cygwin patch,
19229 variable `target_platform' should be `platform'.
19230
42290e17 192312008-07-24 Bean <bean123ch@gmail.com>
19232
51cc5193 19233 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 19234 (grub_png_init_fixed_block): New function.
19235 (grub_png_decode_image_data): Handle fixed huffman code compression.
19236
2a8a80e4 192372008-07-24 Bean <bean123ch@gmail.com>
19238
19239 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
19240 (grub_pe2elf_SOURCES): New macro.
19241 (CLEANFILES): Add grub-pe2elf.
19242
19243 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
19244 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
19245 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
19246 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
19247 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
19248 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
19249 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
19250 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
19251 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
19252 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
19253 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
19254 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
19255 (GRUB_PE32_DT_FUNCTION): Likewise.
19256 (GRUB_PE32_REL_I386_DIR32): Likewise.
19257 (GRUB_PE32_REL_I386_REL32): Likewise.
19258 (grub_pe32_symbol): New structure.
19259 (grub_pe32_reloc): Likewise.
19260
19261 * util/grub-pe2elf.c: New file.
19262
19263 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
19264 start symbol in non pc platform.
19265
19266 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
19267
19268 The following patches are from Christian Franke.
19269
19270 * include/grub/dl.h: Remove .previous, gas supports this only
19271 for ELF format.
19272
19273 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
19274 Remove .type, gas supports this only for ELF format.
19275
19276 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
19277 nullbytes in symbol table. This fixes an infinite loop if table is
19278 zero filled.
19279
19280 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
19281 TARGET_IMG_LDFLAGS and EXEEXT.
19282
19283 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
19284 TARGET_IMG_LDFLAGS_AC.
19285 (grub_CHECK_STACK_ARG_PROBE): New function.
19286
19287 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
19288
19289 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
19290
19291 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
19292 to set TARGET_IMG_LD* accordingly.
19293 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
19294 Add call to grub_CHECK_STACK_ARG_PROBE.
19295 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
19296
19297 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
19298
19299 * genmk.rb: Add EXEEXT to CLEANFILES.
19300
12ccdb75 193012008-07-23 Robert Millan <rmh@aybabtu.com>
19302
19303 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
19304 define the codes for arrows and lines used for the menu).
19305 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
19306 as well.
19307
19308 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
19309 fonts, because the latter are too slow.
19310
18eeaf04 193112008-07-21 Bean <bean123ch@gmail.com>
19312
19313 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
19314 a20. Run keyboard test last, as it will cause macbook to halt.
19315
b095e2ad 193162008-07-18 Pavel Roskin <proski@gnu.org>
19317
19318 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
19319 load foreign architecture modules correctly anyway. Keep
19320 support for loading host architecture modules, whether we
19321 compile them or not.
19322
737feb35 193232008-07-17 Pavel Roskin <proski@gnu.org>
19324
3f4ce737 19325 * configure.ac: Use -m32 or -m64 regardless of whether we had to
19326 change target_cpu. The compiler default can mismatch target_cpu
19327 in any case.
19328
4ad2d049 19329 * disk/efi/efidisk.c: Fix format warnings on x86_64.
19330 * kern/efi/efi.c: Likewise.
19331
f6130a12 19332 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
19333 target compiler is functional.
19334 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
19335 are set up.
19336
58393a2d 19337 * configure.ac: Default to efi platform for x86_64-apple. Allow
19338 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
19339 adjustments from the rest, only do them if target is not
19340 explicitly given. Merge other adjustments with the final sanity
19341 check. Remove an extraneous check for supported CPU. Be
19342 specific which CPU and which platform is not supported.
19343
737feb35 19344 * configure.ac: Default to pc platform for x86_64.
19345
546f966a 193462008-07-17 Robert Millan <rmh@aybabtu.com>
19347
19348 Partial LinuxBIOS -> Coreboot rename.
19349
19350 * conf/i386-linuxbios.rmk: Renamed to ...
19351 * conf/i386-coreboot.rmk: ... this.
19352 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
19353 * configure.ac: Accept "coreboot" as input platform (but maintain
19354 compatibility with "linuxbios").
19355 * include/grub/i386/linuxbios: Renamed to ...
19356 * include/grub/i386/coreboot: ... this.
19357
20011694 193582008-07-17 Bean <bean123ch@gmail.com>
19359
19360 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 19361 (appleldr_mod_SOURCE): New variable.
20011694 19362 (appleldr_mod_CFLAGS): Likewise.
19363 (appleldr_mod_LDFLAGS): Likewise.
19364 (pci_mod_SOURCES): Likewise.
19365 (pci_mod_CFLAGS): Likewise.
19366 (pci_mod_LDFLAGS): Likewise.
19367 (lspci_mod_SOURCES): Likewise.
19368 (lspci_mod_CFLAGS): Likewise.
19369 (lspci_mod_LDFLAGS): Likewise.
19370
19371 * conf/x86_64-efi.rmk: New file.
19372
19373 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
19374 macro.
19375 (grub_efidisk_write): Likewise.
19376
19377 * include/efi/api.h (efi_call_0): New macro.
19378 (efi_call_1): Likewise.
19379 (efi_call_2): Likewise.
19380 (efi_call_3): Likewise.
19381 (efi_call_4): Likewise.
19382 (efi_call_5): Likewise.
19383 (efi_call_6): Likewise.
19384
19385 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
19386 grub_rescue_cmd_chainloader.
19387
19388 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
19389 (grub_pe32_optional_header): Change some fields based on i386 or
19390 x86_64 platform.
19391 (GRUB_PE32_PE32_MAGIC): Likewise.
19392
19393 * include/grub/efi/uga_draw.h: New file.
19394
19395 * include/grub/elf.h (STN_ABS): New constant.
19396 (R_X86_64_NONE): Relocation constant for x86_64.
19397 (R_X86_64_64): Likewise.
19398 (R_X86_64_PC32): Likewise.
19399 (R_X86_64_GOT32): Likewise.
19400 (R_X86_64_PLT32): Likewise.
19401 (R_X86_64_COPY): Likewise.
19402 (R_X86_64_GLOB_DAT): Likewise.
19403 (R_X86_64_JUMP_SLOT): Likewise.
19404 (R_X86_64_RELATIVE): Likewise.
19405 (R_X86_64_GOTPCREL): Likewise.
19406 (R_X86_64_32): Likewise.
19407 (R_X86_64_32S): Likewise.
19408 (R_X86_64_16): Likewise.
19409 (R_X86_64_PC16): Likewise.
19410 (R_X86_64_8): Likewise.
19411 (R_X86_64_PC8): Likewise.
19412
19413 * include/grub/i386/efi/pci.h: New file.
19414
19415 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
19416 Change it value based on platform.
19417 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
19418 (GRUB_E820_RAM): Likewise.
19419 (GRUB_E820_RESERVED): Likewise.
19420 (GRUB_E820_ACPI): Likewise.
19421 (GRUB_E820_NVS): Likewise.
19422 (GRUB_E820_EXEC_CODE): Likewise.
19423 (GRUB_E820_MAX_ENTRY): Likewise.
19424 (grub_e820_mmap): New structure.
19425 (linux_kernel_header): Change the efi field according to different
19426 kernel version, also field from linux_kernel_header.
19427
19428 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
19429
19430 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
19431 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
19432 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
19433 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
19434 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
19435 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
19436 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
19437 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
19438 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
19439 (GRUB_PCI_ADDR_IO_MASK): Likewise.
19440
19441 * include/grub/x86_64/efi/kernel.h: New file.
19442
19443 * include/grub/x86_64/efi/loader.h: Likewise.
19444
19445 * include/grub/x86_64/efi/machine.h: Likewise.
19446
19447 * include/grub/x86_64/efi/pci.h: Likewise.
19448
19449 * include/grub/x86_64/efi/time.h: Likewise.
19450
19451 * include/grub/x86_64/linux.h: Likewise.
19452
19453 * include/grub/x86_64/setjmp.h: Likewise.
19454
19455 * include/grub/x86_64/time.h: Likewise.
19456
19457 * include/grub/x86_64/types.h: Likewise.
19458
19459 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
19460 GRUB_TARGET_SIZEOF_VOID_P.
19461
19462 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
19463 (grub_efi_locate_handle): Likewise.
19464 (grub_efi_open_protocol): Likewise.
19465 (grub_efi_set_text_mode): Likewise.
19466 (grub_efi_stall): Likewise.
19467 (grub_exit): Likewise.
19468 (grub_reboot): Likewise.
19469 (grub_halt): Likewise.
19470 (grub_efi_exit_boot_services): Likewise.
19471 (grub_get_rtc): Likewise.
19472
19473 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
19474 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
19475 (grub_efi_allocate_pages): Wrap efi calls.
19476 (grub_efi_free_pages): Wrap efi calls.
19477 (grub_efi_get_memory_map): Wrap efi calls.
19478
19479 * kern/x86_64/dl.c: New file.
19480
19481 * kern/x86_64/efi/callwrap.S: Likewise.
19482
19483 * kern/x86_64/efi/startup.S: Likewise.
19484
19485 * loader/efi/appleloader.c: Likewise.
19486
19487 * loader/efi/chainloader.c (cmdline): New variable.
19488 (grub_chainloader_unload): Wrap efi calls.
19489 (grub_chainloader_boot): Likewise.
19490 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
19491 command line.
19492
19493 * loader/efi/chainloader_normal.c (chainloader_command):
19494 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
19495 command line.
19496
19497 * loader/i386/efi/linux.c (allocate_pages): Change allocation
19498 method.
19499 (grub_e820_add_region): New function.
19500 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
19501 booting.
19502 (grub_find_video_card): New function.
19503 (grub_linux_setup_video): New function.
19504 (grub_rescue_cmd_linux): Probe for video information.
19505
19506 * normal/x86_64/setjmp.S: New file.
19507
19508 * term/efi/console.c (map_char): New function.
19509 (grub_console_putchar): Map unicode char.
19510 (grub_console_checkkey): Wrap efi calls.
19511 (grub_console_getkey): Likewise.
19512 (grub_console_getwh): Likewise.
19513 (grub_console_gotoxy): Likewise.
19514 (grub_console_cls): Likewise.
19515 (grub_console_setcolorstate): Likewise.
19516 (grub_console_setcursor): Likewise.
19517
19518 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
19519
59652a20 195202008-07-16 Pavel Roskin <proski@gnu.org>
19521
ef294055 19522 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
19523 format strings.
19524
59652a20 19525 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
19526 pointer, not an integer. This fixes a warning and prevents
19527 precision loss on 64-bit systems.
19528 (relocate_addresses): Remove unneeded cast.
19529
afc3b5d7 195302008-07-15 Pavel Roskin <proski@gnu.org>
19531
506b2b3e 19532 * kern/i386/ieee1275/init.c: Include grub/cache.h.
19533
62ead89c 19534 * term/ieee1275/ofconsole.c: Disable code unused on i386.
19535
c4cd51d7 19536 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
19537 Fix comparison between signed and unsigned.
19538
0d3d8f28 19539 * include/grub/i386/ieee1275/console.h: Declare
19540 grub_console_init() and grub_console_fini().
19541
8804b286 19542 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
19543 It's empty and unused.
19544
ee01cf35 19545 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
19546 beginning to avoid warnings with some compilers.
19547
afc3b5d7 19548 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
19549 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
19550
e4e8eaa5 195512008-07-14 Pavel Roskin <proski@gnu.org>
19552
407aceb4 19553 * kern/env.c (grub_register_variable_hook): Don't copy empty
19554 string, it leaks memory. Pass "" to grub_env_set(), it should
19555 handle constant strings.
19556
e4e8eaa5 19557 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
19558 * commands/cmp.c (grub_cmd_cmp): Likewise.
19559 * kern/dl.c (grub_dl_flush_cache): Likewise.
19560 (grub_dl_load_core): Likewise.
19561 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
19562 (grub_elf64_load_phdrs): Likewise.
19563
d4e2dad3 195642008-07-13 Pavel Roskin <proski@gnu.org>
19565
19566 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
19567 between signed and unsigned.
19568 (LzmaEnc_Finish): Fix warning about an unused parameter.
19569
aa24b516 195702008-07-13 Bean <bean123ch@gmail.com>
19571
19572 * Makefile.in (enable_lzo): New rule.
19573
19574 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
19575
19576 * configure.ac (ENABLE_LZO): New option --enable-lzo.
19577
19578 * boot/i386/pc/lnxboot.S: #include <config.h>.
19579
19580 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 19581 its value according to the compression algorithm used, lzo or lzma.
aa24b516 19582
19583 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
19584 compression algorithm according to configure macro.
19585
19586 * kern/i386/pc/startup.S (codestart): Likewise.
19587
19588 * kern/i386/pc/lzma_decode.S: New file.
19589
19590 * include/grub/lib/LzFind.h: Likewise.
19591
19592 * include/grub/lib/LzHash.h: Likewise.
19593
19594 * include/grub/lib/LzmaDec.h: Likewise.
19595
19596 * include/grub/lib/LzmaEnc.h: Likewise.
19597
19598 * include/grub/lib/LzmaTypes.h: Likewise.
19599
19600 * lib/LzFind.c: Likewise.
19601
19602 * lib/LzmaDec.c: Likewise.
19603
19604 * lib/LzmaEnc.c: Likewise.
19605
4ae821ac 196062008-07-13 Bean <bean123ch@gmail.com>
19607
19608 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
19609 (grub_ext4_extent_header): New structure.
19610 (grub_ext4_extent): Likewise.
19611 (grub_ext4_extent_idx): Likewise.
19612 (grub_ext4_find_leaf): New function.
19613 (grub_ext2_read_block): Handle extents.
19614
9a745147 196152008-07-12 Robert Millan <rmh@aybabtu.com>
19616
19617 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
19618
d49a4cf6 196192008-07-11 Robert Millan <rmh@aybabtu.com>
19620
19621 * util/grub.d/40_custom.in: New file. Example on how to add custom
19622 entries to /etc/grub.d.
19623 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
19624 40_custom (implicitly, by merging all the grub.d rules).
19625
947414b4 196262008-07-11 Pavel Roskin <proski@gnu.org>
19627
0059cf6f 19628 * commands/read.c (grub_getline): Fix invalid memory access.
19629 Don't add newline to the variable value.
19630
947414b4 19631 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
19632 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
19633 (serial_hw_get_port): Check validity of the port number.
19634 (grub_cmd_serial): Check return value of serial_hw_get_port().
19635
62a02d00 196362008-07-07 Pavel Roskin <proski@gnu.org>
19637
19638 * boot/i386/pc/diskboot.S (notification_string): Replace
19639 "Loading kernel" with just "loading". This is shorter, less
19640 confusing and saves a few bytes for possible future changes.
19641
3e5581b0 196422008-07-05 Pavel Roskin <proski@gnu.org>
19643
ea387a48 19644 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
19645 size for ATAPI devices, they are undefined. Output sector
19646 number in decimal form.
19647
3e5581b0 19648 * disk/ata.c: Use named constants for status bits.
19649
fdecb8fd 196502008-07-04 Pavel Roskin <proski@gnu.org>
19651
bcd35b90 19652 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
19653 grub_addr_t before casting it to the void pointer to fix a
19654 warning. Non-addressable regions are discarded earlier.
19655 (grub_arch_modules_addr): Cast _end to grub_addr_t.
19656 * kern/i386/linuxbios/table.c: Include grub/misc.h.
19657 (check_signature): Don't shadow table_header.
19658 (grub_linuxbios_table_iterate): Cast numeric constants to
19659 grub_linuxbios_table_header_t.
19660 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
19661 grub_stop().
19662
af58ab3d 19663 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
19664 prevent warnings.
19665
1759aa57 19666 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
19667 pointer, which can cause warnings. Support 64-bit addresses.
19668
fdecb8fd 19669 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
19670 of sizeof(long). This fixes PowerPC image generation on x86_64.
19671
8516d2a8 196722008-07-04 Robert Millan <rmh@aybabtu.com>
19673
19674 This fixes a performance issue when pc & gpt partmap iterators
19675 didn't abort iteration even after our hook found what it was
fe987087 19676 looking for (often causing expensive probes of non-existent drives).
8516d2a8 19677
19678 Some callers relied on previous buggy behaviour, since they would
34c44600 19679 raise an error when their own hooks caused early abortion of its
8516d2a8 19680 iteration.
19681
19682 * kern/device.c (grub_device_open): Improve error message.
19683 * disk/lvm.c (grub_lvm_open): Likewise.
19684 * disk/raid.c (grub_raid_open): Likewise.
19685
19686 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
19687 when hook requests it, independently of grub_errno.
19688 (pc_partition_map_probe): Do not fail when find_func() caused
19689 early abortion of pc_partition_map_iterate().
19690
19691 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
19692 when hook requests it, independently of grub_errno.
19693 (gpt_partition_map_probe): Do not fail when find_func() caused
19694 early abortion of gpt_partition_map_iterate().
19695
19696 * kern/partition.c (grub_partition_iterate): Abort parent iteration
19697 when hook requests it, independently of grub_errno. Do not fail when
19698 part_map_iterate_hook() caused early abortion of p->iterate().
19699
19700 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
19701 when grub_partition_iterate() returned with non-zero.
19702
277d0de9 197032008-07-03 Pavel Roskin <proski@gnu.org>
19704
19705 * disk/ata.c (grub_ata_pio_write): Check status before writing,
19706 like we do in grub_ata_pio_read().
19707 (grub_ata_readwrite): Always write individual sectors. Fix the
19708 sector count for the remainder.
19709 (grub_ata_write): Enable writing to ATA devices. Correctly
19710 report error for ATAPI devices.
19711
d4c9b428 197122008-07-02 Pavel Roskin <proski@gnu.org>
19713
e43fc690 19714 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
19715 warning.
19716
f707af42 19717 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
19718 for every read sector, we already increment it for the whole
19719 batch. This fixes reading more than 256 sectors at once.
19720
11e16b15 19721 * util/grub-editenv.c (cmd_info): Cast argument to long
19722 explicitly. ptrdiff_t reduces to int on i386.
19723
cbabfdd4 19724 * util/grub-editenv.c (main): Be specific which parameter is
19725 missing.
19726
b8fbce0a 19727 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
19728 (memdisk): Make memdisk_orig_addr a pointer.
19729
c9c8e606 19730 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
19731 for file offsets, use grub_off_t instead. Fix printf format
19732 warnings.
19733
ca62e598 19734 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
19735 there. Real unexpected warnings should not drown in the noise
19736 about known problems.
19737
ce8d1766 19738 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
19739 grub_disk_addr_t for memory addresses.
19740
00c7a56a 19741 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
19742 explicitly to fix a warning.
19743
08d3ef09 19744 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
19745
cb71ba20 19746 * Makefile.in (MODULE_LDFLAGS): New variable.
19747 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
19748 the linker accepts --build-id=none.
19749 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
19750 MODULE_LDFLAGS.
19751 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
19752
d4c9b428 19753 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
19754 those in Linux XFS code. Provide a way to access 64-bit parent
19755 inode.
19756 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
19757 the end of struct grub_xfs_dir_header.
19758
d4156eee 197592008-07-02 Bean <bean123ch@gmail.com>
19760
19761 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
19762 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
19763 and GRUB_IEEE1275_FLAG_NO_ANSI.
19764
19765 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
19766 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
19767 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
19768
19769 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
19770 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
19771
19772 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
19773 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
19774
19775 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
19776 esc sequence on non ANSI terminal.
19777 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
19778
19779 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
19780 beginning of file.
19781
2270f77b 197822008-07-02 Bean <bean123ch@gmail.com>
19783
19784 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
19785 (grub_editenv_SOURCES): New variable.
19786 (pkglib_MODULES): Add loadenv.mod.
19787 (loadenv_mod_SOURCES): New variable.
19788 (loadenv_mod_CFLAGS): Likewise.
19789 (loadenv_mod_LDFLAGS): Likewise.
19790
19791 * include/grub/envblk.h: New file.
19792
19793 * util/envblk.c: New file.
19794
19795 * util/grub-editenv.c: New file.
19796
19797 * commands/loadenv.c: New file.
19798
0e9e51ec 197992008-07-01 Pavel Roskin <proski@gnu.org>
19800
d89b7634 19801 * include/multiboot2.h (struct multiboot_tag_module): Use char,
19802 not unsigned char. This fixes warnings and is consistent with
19803 other tags.
19804
bf1835b1 19805 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
19806
8222a04b 19807 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
19808
6a42d99d 19809 * term/tparm.c (analyze): Always set *popcount.
19810
10b159d1 19811 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
19812 cast to fix a warning.
19813
b8789f6c 19814 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
19815 cast to suppress a warning.
19816
29d7e38a 19817 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
19818 grub_fshelp_read_file() expects.
19819
f341f669 19820 * fs/fat.c: Fix UUID calculation on big-endian systems. We
19821 write uuid as a 32-bit value in CPU byte order, so declare and
19822 use it as such.
19823
0e9e51ec 19824 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
19825 long if the format specifier expects it.
19826 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
19827 * partmap/pc.c (pc_partition_map_iterate): Likewise.
19828 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
19829 long to fix a warning.
19830 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
19831 grub_dprintf() arguments to fix warnings.
19832
3aefa857 198332008-06-30 Pavel Roskin <proski@gnu.org>
19834
56c7668b 19835 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
19836 install_bsd_part immediately before core.img is embedded or
19837 modified on disk. This fixes core.img verification if core.img
19838 cannot be embedded.
19839
3aefa857 19840 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
19841 core_path to calculate the blocklist.
19842 Patch from Javier Martín <lordhabbit@gmail.com>
19843
5444088d 198442008-06-29 Robert Millan <rmh@aybabtu.com>
19845
19846 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
19847 block to disk block.
19848 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
19849 Patch from Niels Böhm <bitbucket@arcor.de>
19850
674835c8 198512008-06-29 Robert Millan <rmh@aybabtu.com>
19852
19853 * util/update-grub_lib.in (font_path): Search for fonts in
19854 /boot/grub first, which is more likely to be readable (we aren't
19855 deciding where fonts live, just looking for them).
19856
f527dbc8 198572008-06-26 Pavel Roskin <proski@gnu.org>
19858
6c2d8df6 19859 * util/biosdisk.c (read_device_map): Don't leave dead map
19860 entries for devices failing stat() check.
19861
f527dbc8 19862 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
19863 core_path_dev for the core.img path on the target device.
19864
aebe3d13 198652008-06-26 Robert Millan <rmh@aybabtu.com>
19866
19867 * disk/fs_uuid.c: New file.
19868 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
19869 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
19870 (fs_uuid_mod_LDFLAGS): New variables.
19871 * include/grub/disk.h (grub_disk_dev_id): Add
19872 `GRUB_DISK_DEVICE_UUID_ID'.
19873 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
19874 implement iterate().
19875
37aaf354 198762008-06-26 Robert Millan <rmh@aybabtu.com>
19877
19878 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
19879 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
19880 Linux image includes no initrd.
19881
25ff262a 198822008-06-21 Javier Martín <lordhabbit@gmail.com>
19883
19884 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
19885 call to resolve the core image location that effectively appended the
19886 name twice.
19887
76a2bd44 198882008-06-21 Robert Millan <rmh@aybabtu.com>
19889
19890 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
19891 call from here ...
19892
19893 * util/grub.d/10_hurd.in: ... to here ...
19894 * util/grub.d/10_linux.in: ... and here.
19895
650e1c79 198962008-06-19 Robert Millan <rmh@aybabtu.com>
19897
fe987087 19898 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 19899 after it has been set by grub_machine_set_prefix().
19900
6ce63911 199012008-06-19 Robert Millan <rmh@aybabtu.com>
19902
19903 * commands/search.c (search_label, search_fs_uuid, search_file): Print
19904 search result when not saving to variable, not the other way around.
19905 When saving to variable, abort iteration as soon as a match is found.
19906
73940cec 199072008-06-19 Robert Millan <rmh@aybabtu.com>
19908
19909 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
19910 check for partition that provides /boot/grub. Its logic is flawed,
19911 as it prevents prepare_grub_to_access_device() from being called
19912 multiple times.
19913
3c62a39d 199142008-06-19 Robert Millan <rmh@aybabtu.com>
19915
19916 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
19917 "insmod" command directly when abstraction modules are needed,
fe987087 19918 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 19919 since it had already been processed).
19920
47395a42 199212008-06-19 Pavel Roskin <proski@gnu.org>
19922
19923 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
19924 changed. This is needed in case GRUB_LIBDIR changes.
19925 * conf/i386-ieee1275.rmk: Likewise.
19926 * conf/i386-linuxbios.rmk: Likewise.
19927 * conf/i386-pc.rmk: Likewise.
19928 * conf/powerpc-ieee1275.rmk: Likewise.
19929
a145ac2d 199302008-06-18 Pavel Roskin <proski@gnu.org>
19931
19932 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
19933 kernel_elf_symlist.c to symlist.c for consistency with other
19934 architectures. Update all users.
19935 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
19936
7847c51e 199372008-06-18 Robert Millan <rmh@aybabtu.com>
19938
19939 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
19940 it in prefix.
19941
19942 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
19943 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
19944 a RAID device, run setup() for all members independently on whether
19945 LVM abstraction is being used.
19946 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
19947 If grub-mkimage has set `*install_dos_part == -2', don't override this
19948 value.
19949 Perform *install_dos_part adjustments independently on whether
19950 we're embedding or not.
19951 Clarify error message when image is too big for embedding.
19952 Remove duplicate *install_dos_part stanza.
19953
b23e5644 199542008-06-17 Robert Millan <rmh@aybabtu.com>
19955
19956 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
19957 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
19958 variables.
19959 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
19960 values in grub_ofconsole_normal_color and
19961 grub_ofconsole_highlight_color (they're not directly related to
19962 background and foreground).
19963 (grub_ofconsole_setcolorstate): Extract background and foreground
19964 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
19965
0aac2f79 199662008-06-17 Robert Millan <rmh@aybabtu.com>
19967
19968 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
19969 /boot/grub for the check in last commit, not /boot (they could be
19970 different partitions).
19971
3cca7ef3 199722008-06-16 Robert Millan <rmh@aybabtu.com>
19973
19974 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
19975 asked to setup access for the same partition that provides /boot,
19976 don't bother using UUIDs since our root already has the value we
19977 want.
19978
347396d8 199792008-06-16 Robert Millan <rmh@aybabtu.com>
19980
19981 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
19982 I2O devices.
19983 Patch from Sven Mueller <sven@debian.org>.
19984
991477f8 199852008-06-16 Robert Millan <rmh@aybabtu.com>
19986
19987 * util/update-grub.in: Check for $EUID instead of $UID.
19988 Reported by Vincent Zweije.
19989
d31a32a1 199902008-06-16 Bean <bean123ch@gmail.com>
19991
fe987087 19992 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 19993 (grub_ext2_read_block): Likewise.
19994 (grub_ext2_read_inode): Likewise.
19995 (grub_ext2_mount): Likewise.
19996 (grub_ext2_close): Likewise.
19997 (grub_ext3_get_journal): Removed.
19998
fe987087 19999 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 20000 (grub_reiserfs_read_symlink): Likewise.
20001 (grub_reiserfs_mount): Likewise.
20002 (grub_reiserfs_open): Likewise.
20003 (grub_reiserfs_read): Likewise.
20004 (grub_reiserfs_close): Likewise.
20005 (grub_reiserfs_get_journal): Removed.
20006
20007 * fs/fshelp.c (grub_fshelp_read): Removed.
20008 (grub_fshelp_map_block): Likewise.
20009
20010 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
20011 (grub_fshelp_journal): Likewise.
20012 (grub_fshelp_read): Likewise.
20013 (grub_fshelp_map_block): Likewise.
20014
3540a760 200152008-06-16 Pavel Roskin <proski@gnu.org>
20016
20017 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
20018 floating point anymore.
20019 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
20020
95614c84 200212008-06-15 Pavel Roskin <proski@gnu.org>
20022
20023 * commands/ls.c (grub_ls_list_files): Use integer calculations
20024 for human readable format, avoid floating point use.
20025 * kern/misc.c (grub_ftoa): Remove.
20026 (grub_vsprintf): Remove floating point support.
20027
50465dd6 200282008-06-15 Robert Millan <rmh@aybabtu.com>
20029
fe6b695a 20030 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 20031 devices.
20032 Reported by Max Vozeler.
20033
a9207284 200342008-06-15 Robert Millan <rmh@aybabtu.com>
20035
20036 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
20037 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
20038 skipped later.
20039 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
20040 the beginning of the prefix.
20041
20042 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
20043 It is assumed that if we have a memdisk, grub-mkimage has set
20044 grub_prefix to include the "(memdisk)" drive in it.
20045
a7cbd45a 200462008-06-15 Robert Millan <rmh@aybabtu.com>
20047
20048 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
20049 Initialize keyboard controller after registering the terminal, so that
20050 grub_printf() can be called from grub_keyboard_controller_init().
20051
21cf716a 200522008-06-15 Robert Millan <rmh@aybabtu.com>
20053
20054 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
20055 extent-btree which is written as big endian on disk.
20056 Reported by Alain Greppin <al@chilibi.org>.
20057
23a64d8e 200582008-06-14 Robert Millan <rmh@aybabtu.com>
20059
20060 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
20061 * util/i386/pc/grub-install.in (modules): Likewise.
20062
d687651c 200632008-06-13 Pavel Roskin <proski@gnu.org>
20064
20065 * commands/ls.c (grub_ls_list_files): Fix format warnings.
20066
dfe9ddd4 200672008-06-13 Bean <bean123ch@gmail.com>
20068
20069 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
20070
20071 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
20072
20073 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
20074 to indicate sparse block.
20075
16ae7781 200762008-06-12 Pavel Roskin <proski@gnu.org>
20077
e6d1a308 20078 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
20079 number, grub_fshelp_read() does it for us.
20080
16ae7781 20081 * fs/fshelp.c (grub_fshelp_read): New function. Implement
20082 linear disk read with journal translation.
20083 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
20084 * include/grub/fshelp.h: Declare grub_fshelp_read().
20085
40fd3a2b 200862008-06-09 Pavel Roskin <proski@gnu.org>
20087
20088 * fs/minix.c (grub_minix_mount): Handle error reading
20089 superblock.
20090
f5679726 200912008-06-08 Robert Millan <rmh@aybabtu.com>
20092
20093 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
20094 don't append the RAID prefix afterwards.
20095 Reported by Clint Adams.
20096
ce525529 200972008-06-08 Robert Millan <rmh@aybabtu.com>
20098
20099 Based on description from Pavel:
20100 * kern/disk.c (grub_disk_check_range): Rename to ...
20101 (grub_disk_adjust_range): ... this. Add a comment explaining the
20102 tasks performed by this function.
20103
ad4936a0 201042008-06-08 Robert Millan <rmh@aybabtu.com>
20105
20106 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
20107 `num_serial' (for consistency with other variables).
20108 (struct grub_ntfs_data): Add `uuid' member.
20109 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
20110 (grub_ntfs_uuid): New function.
20111 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
20112
dc20b0f9 201132008-06-07 Pavel Roskin <proski@gnu.org>
20114
20115 * util/biosdisk.c (open_device): Revert last change to the
20116 function, it broke installation. The sector needs to be
20117 different dependent on which device is opened.
20118
c5e3cfba 201192008-06-06 Robert Millan <rmh@aybabtu.com>
20120
20121 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
20122 rest of GRUB, and breakage doesn't happen if its value were modified.
20123
20124 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
20125 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
20126 a constant (same value).
20127 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
20128 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
20129
26a1f8c4 201302008-06-06 Robert Millan <rmh@aybabtu.com>
20131
20132 * util/biosdisk.c (open_device): Do not modify sector offset when
20133 accessing a partition. kern/disk.c already handles this for us.
20134
25d6b327 201352008-06-06 Robert Millan <rmh@aybabtu.com>
20136
20137 * util/grub-emu.c (grub_machine_init): Move code in this function from
20138 here ...
20139 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
20140 segfault in case grub_printf() is called).
20141
20142 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
20143 grub_probe. Update all users not to explicitly add it again.
20144 (grub_device): New variable; contains corresponding device for grubdir.
20145 (fs_module, partmap_module, devabstraction_module): Pass
20146 `--device ${grub_device}' to grub_probe to avoid traversing /dev
20147 every time.
20148
9ece62fb 201492008-06-05 Robert Millan <rmh@aybabtu.com>
20150
20151 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
20152 is found, print it (same layout as with labels).
20153
1ad36d37 201542008-06-04 Robert Millan <rmh@aybabtu.com>
20155
20156 * util/biosdisk.c (get_drive): Rename to ...
20157 (find_grub_drive): ... this. Update all users.
20158
20159 (get_os_disk): Rename to ...
20160 (convert_system_partition_to_system_disk): ... this. Update all users.
20161
20162 (find_drive): Rename to ...
20163 (find_system_device): ... this. Update all users.
20164
e6a30859 201652008-06-04 Robert Millan <rmh@aybabtu.com>
20166
20167 * util/biosdisk.c (get_os_disk): Handle IDA devices.
20168 * util/grub-mkdevicemap.c (get_mmc_disk_name)
20169 (make_device_map): Likewise.
20170
00c108a4 201712008-06-01 Robert Millan <rmh@aybabtu.com>
20172
20173 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
20174 before dereferencing it.
20175
20176 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
20177 union with fat12/fat16-specific ones. Add some new fields, including
20178 `num_serial' for both versions.
20179 (struct grub_fat_data): Add `uuid' member.
20180 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
20181 names. Initialize `data->uuid' using `num_serial'.
20182 (grub_fat_uuid): New function.
20183 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
20184
20185 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
20186 (grub_reiserfs_uuid): New function.
20187 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
20188 member.
20189
20190 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
20191 (grub_xfs_uuid): New function.
20192 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
20193
1385c5bb 201942008-06-01 Robert Millan <rmh@aybabtu.com>
20195
20196 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
20197 code that is backward compatible with pre-uuid search command.
20198
c682dfd7 201992008-05-31 Robert Millan <rmh@aybabtu.com>
20200
20201 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
20202 floppies after everything else, to ensure floppy drive isn't accessed
20203 unnecessarily (patch from Bean).
20204
b7db5d47 202052008-05-31 Robert Millan <rmh@aybabtu.com>
20206
20207 * commands/search.c (search_label, search_fs_uuid, search_file): Do
20208 not print device names when we were asked to set a variable.
20209
6e037aa9 202102008-05-31 Robert Millan <rmh@aybabtu.com>
20211
20212 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
20213 using "cursor-on" and "cursor-off" commands (understood at least by
20214 the Open Firmware flavour on OLPC).
20215
41305bc8 202162008-05-31 Michael Gorven <michael@gorven.za.net>
20217
20218 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
20219 on and off sequences.
20220
69ba137e 202212008-05-31 Robert Millan <rmh@aybabtu.com>
20222
20223 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
20224 * util/update-grub.in: Likewise.
20225
520ae21b 202262008-05-30 Pavel Roskin <proski@gnu.org>
20227
20228 * util/biosdisk.c (linux_find_partition): Simplify logic and
20229 make the code more universal. Keep special processing for
20230 devfs, but use a simple rule for all other devices. If the
20231 device ends with a number, append 'p' and the partition number.
20232 Otherwise, append only the partition number.
20233
5786569b 202342008-05-30 Robert Millan <rmh@aybabtu.com>
20235
20236 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
20237 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
20238 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
20239 the `root' parameter to Linux.
20240
51500452 202412008-05-30 Robert Millan <rmh@aybabtu.com>
20242
20243 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
20244 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
20245 --fs_uuid with --fs-uuid.
20246 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
20247 all filesystems support them).
20248
811d3878 202492008-05-30 Robert Millan <rmh@aybabtu.com>
20250
20251 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 20252 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 20253
cab63c95 202542008-05-30 Robert Millan <rmh@aybabtu.com>
20255
20256 * util/grub.d/00_header.in: Remove obsolete comment referencing
20257 convert_system_path_to_grub_path().
20258 * util/update-grub.in: Likewise.
20259 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
20260 (convert_system_path_to_grub_path): Add a warning message explaining
20261 that this function is deprecated. Rely on is_path_readable_by_grub()
20262 for the readability checks.
20263 (font_path): Use is_path_readable_by_grub() for the readability
20264 check rather than convert_system_path_to_grub_path().
20265
972e2f7a 202662008-05-30 Robert Millan <rmh@aybabtu.com>
20267
20268 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
20269 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
20270 converting it first.
20271 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
20272 grub.cfg for access to font file, and afterwards call it again to set
20273 the root device.
20274
62191274 202752008-05-30 Robert Millan <rmh@aybabtu.com>
20276
20277 * commands/search.c (options): Add --fs_uuid option.
20278 (search_fs_uuid): New function.
20279 (grub_cmd_search): Fix --set argument passing.
20280 Use search_fs_uuid() when requested via --fs_uuid.
20281 (grub_search_init): Update help message.
20282 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
20283 and redeclare it as an array of 16-bit words.
20284 (grub_ext2_uuid): New function.
20285 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
20286 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
20287 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
20288 (GRUB_DEVICE_BOOT_UUID): New variables.
20289 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
20290 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
20291 whenever possible.
20292 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
20293 just assume `root' variable has the right value.
20294 * util/grub.d/10_linux.in: Likewise.
20295 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
20296 via PRINT_FS_UUID.
20297 (main): Recognise `-t fs_uuid' argument.
20298
01b73ec8 202992008-05-30 Robert Millan <rmh@aybabtu.com>
20300
20301 * util/biosdisk.c (map): Redefine structure to hold information
20302 about GRUB drive name.
fe6b695a 20303 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 20304 drive names.
20305 (call_hook): Remove.
20306 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
20307 member. Assume drive has partitions.
20308 (grub_util_biosdisk_open): Access device names via `.device' struct
20309 member.
20310 (open_device): Likewise.
20311 (find_drive): Likewise.
20312 (read_device_map): Adjust map[] usage to match the new struct
20313 definition. Don't check for duplicates (still possible, but not cheap
20314 anymore).
20315 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
20316 (make_device_name): Remove assumption of BIOS-like drive names.
20317
22f16596 203182008-05-30 Pavel Roskin <proski@gnu.org>
20319
20320 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
20321 compiling execute.c doesn't need grub_script.tab.h anymore.
20322 (normal/command.c_DEPENDENCIES): Likewise.
20323 (normal/function.c_DEPENDENCIES): Likewise.
20324 * conf/i386-ieee1275.rmk: Likewise.
20325 * conf/i386-linuxbios.rmk: Likewise.
20326 * conf/i386-pc.rmk: Likewise.
20327 * conf/powerpc-ieee1275.rmk: Likewise.
20328 * conf/sparc64-ieee1275.rmk: Likewise.
20329
528ad8f2 203302008-05-29 Pavel Roskin <proski@gnu.org>
20331
d1dff95d 20332 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
20333 when scanning metadata for volume group name.
20334
528ad8f2 20335 * include/grub/script.h: Don't include grub_script.tab.h. It's
20336 a generated file, which may only be included from the files with
20337 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
20338 use union YYSTYPE, as the later allows forward declaration.
20339 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
20340
47248e08 203412008-05-29 Robert Millan <rmh@aybabtu.com>
20342
20343 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
20344 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
20345 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
20346 (grub_console_checkkey): Add grub_dprintf() call to report unknown
20347 scan codes.
20348
ee632529 203492008-05-29 Robert Millan <rmh@aybabtu.com>
20350
20351 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
20352 control key combinations.
20353
eee96e08 203542008-05-29 Robert Millan <rmh@aybabtu.com>
20355
20356 * util/powerpc/ieee1275/grub-install.in: Move from here ...
20357 * util/ieee1275/grub-install.in: ... to here.
20358 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
20359 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
20360 (grub_install_SOURCES): Likewise.
20361
da9a6a94 203622008-05-29 Robert Millan <rmh@aybabtu.com>
20363
20364 * fs/affs.c: Update copyright year.
20365 * fs/ext2.c: Likewise.
20366 * fs/fshelp.c: Likewise.
20367 * fs/hfsplus.c: Likewise.
20368 * fs/ntfs.c: Likewise.
20369 * fs/xfs.c: Likewise.
20370 * include/grub/fshelp.h: Likewise.
20371 * util/grub-mkdevicemap.c: Likewise.
20372
12e65f3a 203732008-05-28 Robert Millan <rmh@aybabtu.com>
20374
20375 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
20376 might need to be fatfs to support some firmware implementations
20377 (e.g. OFW or EFI).
20378
23023641 203792008-05-28 Robert Millan <rmh@aybabtu.com>
20380
20381 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
20382 devices.
20383 * util/grub-mkdevicemap.c (get_mmc_disk_name)
20384 (make_device_map): Likewise.
20385
887d2619 203862008-05-20 Bean <bean123ch@gmail.com>
20387
20388 * fs/fshelp.c (grub_fshelp_map_block): New function.
20389 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
20390 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
20391
20392 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
20393 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
20394 (grub_fshelp_journal): New structure.
20395 (grub_fshelp_map_block): New function prototype.
20396 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
20397 (grub_fshelp_map_block): Likewise.
20398
20399 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
20400 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
20401 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
20402 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
20403 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
20404 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
20405 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
20406 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
20407 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
20408 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
20409 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
20410 (grub_ext2_sblock): New members for journal support.
20411 (grub_ext3_journal_header): New structure.
20412 (grub_ext3_journal_revoke_header): Likewise.
20413 (grub_ext3_journal_block_tag): Likewise.
20414 (grub_ext3_journal_sblock): Likewise.
20415 (grub_fshelp_node): New members logfile and journal.
20416 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
20417 grub_fshelp_map_block to get real block number.
20418 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
20419 number.
20420 (grub_ext2_read_inode): Likewise.
20421 (grub_ext3_get_journal): New function.
20422 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
20423 (grub_ext2_close): Release memory used by journal.
20424
20425 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
20426 (REISERFS_MAGIC_DESC_BLOCK): New macro.
20427 (grub_reiserfs_transaction_header): Renamed to
20428 grub_reiserfs_description_block, replace field data with real_blocks.
20429 (grub_reiserfs_commit_block): New structure.
20430 (grub_reiserfs_data): New member journal.
20431 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
20432 number.
20433 (grub_reiserfs_read_symlink): Likewise.
20434 (grub_reiserfs_iterate_dir): Likewise.
20435 (grub_reiserfs_open): Likewise.
20436 (grub_reiserfs_read): Likewise.
20437 (grub_reiserfs_get_journal): New function.
20438 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
20439 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
20440 using grub_reiserfs_get_journal.
20441 (grub_reiserfs_close): Release memory used by journal.
20442
20443 * fs/affs.c (grub_affs_read_block): Change block type to
20444 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
20445
20446 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
20447
20448 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
20449
20450 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
20451
20452 * fs/udf.c (grub_udf_read_block): Change block type to
20453 grub_disk_addr_t. Use type cast to avoid warning.
20454
20455 * fs/xfs.c (grub_xfs_read_block): Likewise.
20456
b7c6bed5 204572008-05-16 Christian Franke <franke@computer.org>
20458
20459 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
20460 to ensure that break with ESC will always work.
20461 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
20462 Remove ESC from keyboard queue.
20463
eedf167f 204642008-05-16 Christian Franke <franke@computer.org>
20465
20466 * util/biosdisk.c: [__CYGWIN__] Add includes.
20467 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
20468 (get_os_disk): Move variable declarations to OS specific
20469 parts to avoid warning.
20470 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
20471 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
20472 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
20473 Cygwin.
20474 * util/getroot.c: [__CYGWIN__] Add includes.
20475 (strip_extra_slashes): Fix "/" case.
20476 [__CYGWIN__] (get_win32_path): New function.
20477 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
20478 [__CYGWIN__] (find_root_device): Disable.
20479 [__CYGWIN__] (get_bootsec_serial): New function.
20480 [__CYGWIN__] (find_cygwin_root_device): Likewise.
20481 [__linux__] (grub_guess_root_device): Add early returns to simplify
20482 structure.
20483 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
20484 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
20485 check for Linux only.
20486
a079699e 204872008-05-15 Bean <bean123ch@gmail.com>
20488
20489 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
20490 keyboard hang problem in apple's intel mac.
20491
1cf4059a 204922008-05-09 Robert Millan <rmh@aybabtu.com>
20493
20494 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
20495 devices.
20496 * util/grub-mkdevicemap.c (get_virtio_disk_name)
20497 (make_device_map): Likewise.
20498 Reported by Aurelien Jarno <aurel32@debian.org>
20499
ed759390 205002008-05-07 Ian Campbell <ijc@hellion.org.uk>
20501
20502 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
20503 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
20504 (make_device_map): Output entries for xvd type disks.
20505
b56c4eaa 205062008-05-07 Robert Millan <rmh@aybabtu.com>
20507
20508 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
20509 devices.
20510 * util/grub-mkdevicemap.c (get_cciss_disk_name)
20511 (make_device_map): Likewise.
20512 Reported by Roland Dreier <rdreier@cisco.com>
20513
7f8866ed 205142008-05-07 Robert Millan <rmh@aybabtu.com>
20515
20516 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
20517 grub_strstr() call. Correct a few mistakes in failure path handling.
20518
b0346e0f 205192008-05-06 Robert Millan <rmh@aybabtu.com>
20520
20521 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
20522 Do not print a trailing slash (therefore, the root directory is an
20523 empty string).
20524 (convert_system_path_to_grub_path): Do not remove trailing slash
20525 from make_system_path_relative_to_its_root() output.
20526
20527 * util/i386/pc/grub-install.in: Add trailing slash to output from
20528 make_system_path_relative_to_its_root().
20529
6cf12cbd 205302008-05-06 Robert Millan <rmh@aybabtu.com>
20531
20532 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
20533 ensures that output lines aren't intermangled with those sent to
20534 stderr (via grub_util_info()).
20535 * util/grub-probe.c (grub_refresh): Likewise.
20536 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
20537
0fbb3117 205382008-05-05 Christian Franke <franke@computer.org>
20539
20540 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
20541 Add Cygwin device names.
20542 (get_ide_disk_name) [__CYGWIN__]: Likewise.
20543 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
20544 (check_device): Return error instead of success on empty name.
20545 (make_device_map): Move label inside linux specific code to
20546 prevent compiler warning.
20547
8124cdb7 205482008-04-30 Robert Millan <rmh@aybabtu.com>
20549
20550 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
20551 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
20552 first boot option.
20553 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
20554
094c01d0 205552008-04-29 Robert Millan <rmh@aybabtu.com>
20556
20557 * docs/grub.cfg: New file (example GRUB configuration).
20558
f4b1fc02 205592008-04-26 Robert Millan <rmh@aybabtu.com>
20560
329ce2a5 20561 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
20562 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
20563 and `disk/ieee1275/nand.c'.
f4b1fc02 20564
25f16ec1 205652008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 20566
25f16ec1 20567 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
20568 i386-linuxbios.
20569
20570 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
20571 change the buffer size to 4096 for cdrom device.
20572
20573 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
20574 and nand.mod.
20575 (_linux_mod_SOURCES): New variable.
20576 (_linux_mod_CFLAGS): Likewise.
20577 (_linux_mod_LDFLAGS): Likewise.
20578 (linux_mod_SOURCES): Likewise.
20579 (linux_mod_CFLAGS): Likewise.
20580 (linux_mod_LDFLAGS): Likewise.
20581 (nand_mod_SOURCES): Likewise.
20582 (nand_mod_CFLAGS): Likewise.
20583 (nand_mod_LDFLAGS): Likewise.
20584
20585 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
20586 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
20587 type property. (nand device in olpc don't have this property)
20588
20589 * include/grub/disk.h (grub_disk_dev_id): New macro
20590 GRUB_DISK_DEVICE_NAND_ID.
20591
20592 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
20593 function prototype.
20594 (grub_rescue_cmd_initrd): Likewise.
20595
20596 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
20597 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
20598 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 20599
25f16ec1 20600 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
20601 GRUB_MACHINE_IEEE1275 is defined.
20602
20603 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
20604 Use NESTED_FUNC_ATTR attribute on the hook parameter.
20605
20606 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
20607 on nested function heap_init.
20608 (grub_upper_mem): New variable for i386-ieee1275.
20609 (grub_get_extended_memory): New function for i386-ieee1275.
20610 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
20611
20612 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
20613 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
20614 property.
f19dbdb7 20615
25f16ec1 20616 * loader/i386/ieee1275/linux.c: New file.
20617
20618 * loader/i386/ieee1275/linux_normal.c: New file.
20619
20620 * disk/ieee1275/nand.c: New file.
20621
e89d61e9 206222008-04-18 Thomas Schwinge <tschwinge@gnu.org>
20623
20624 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
20625 value.
20626 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
20627
602566f6 206282008-04-18 Robert Millan <rmh@aybabtu.com>
20629
20630 Restructures early code path on ieee1275 to unify grub_main() as
20631 the first C function that is executed in every platform.
20632
20633 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
20634 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
20635 cmain().
20636 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
20637 * kern/ieee1275/cmain.c (cmain): Rename to ...
20638 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
20639 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
20640 at the beginning.
20641
57490c2b 206422008-04-18 Robert Millan <rmh@aybabtu.com>
20643
20644 * util/update-grub.in: Fix syntax error when setting
20645 `GRUB_PRELOAD_MODULES'.
20646 Reported by Stephane Chazelas <stephane@artesyncp.com>
20647
1977517d 206482008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
20649
20650 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
20651 section into account, newer toolchains generate unique build ids
20652 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 20653 we want build ids to be preserved
1977517d 20654 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
20655 far from other sections don't cause the raw binary images grow
20656 size
20657
bfb1f1a2 206582008-04-15 Robert Millan <rmh@aybabtu.com>
20659
20660 * disk/lvm.c: Update copyright year.
20661 * kern/misc.c: Likewise.
20662
01979850 206632008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
20664
20665 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 20666 there is no memory left for physical volume name.
01979850 20667
0a1150e2 206682008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
20669
20670 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
20671 volume name mapping to support bigger than 9 character names properly.
20672
82ead3fe 206732008-04-13 Robert Millan <rmh@aybabtu.com>
20674
20675 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
20676 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
20677
e54a72f5 206782008-04-13 Christian Franke <franke@computer.org>
20679
20680 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
20681 to create a floppy emulation boot CD when non emulation mode
20682 does not work.
20683 Enable Joliet CD filesystem extension.
20684
9fe86034 206852008-04-13 Robert Millan <rmh@aybabtu.com>
20686
20687 * kern/misc.c (grub_strncat): Fix off-by-one error.
20688 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
20689
20690 * kern/env.c (grub_env_context_close): Clear current context, not
20691 previous one.
20692 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
20693
20694 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
20695
7ceeee39 206962008-04-13 Robert Millan <rmh@aybabtu.com>
20697
20698 Improve robustness when handling LVM.
20699
20700 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 20701 (and leave `*p' unmodified).
7ceeee39 20702 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
20703 through it.
20704 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
20705 iterating through it.
20706 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
20707 through it.
fe6b695a 20708 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 20709 when due) on each grub_lvm_getvalue() or grub_strstr() call.
20710 Don't assume `vg->pvs != NULL' when iterating through it.
20711
58cd3d85 207122008-04-13 Robert Millan <rmh@aybabtu.com>
20713
20714 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
20715 * genmk.rb (partmap): New variable.
20716 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
20717 (#{partmap}): New target rule.
20718 * genpartmaplist.sh: New file.
20719 * Makefile.in (pkglib_DATA): Add partmap.lst.
20720 (partmap.lst): New target rule.
20721 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
20722 modules (including all partition maps), instead of preloading them.
20723
78b51059 207242007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
20725
20726 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
20727 `linux-boot-prober' (if installed) to detect other operating
20728 systems which are installed on the computer and add them to
20729 the boot menu.
20730 * conf/common.rmk: Build and install 30_os-prober.
20731
a91627b4 207322008-04-12 Robert Millan <rmh@aybabtu.com>
20733
20734 * kern/powerpc/ieee1275/init.c: Move from here ...
20735 * kern/ieee1275/init.c: ... to here. Update all users.
20736
20737 * kern/powerpc/ieee1275/cmain.c: Move from here ...
20738 * kern/ieee1275/cmain.c: ... to here. Update all users.
20739
20740 * kern/powerpc/ieee1275/openfw.c: Move from here ...
20741 * kern/ieee1275/openfw.c: ... to here. Update all users.
20742
20743 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
20744 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
20745
322562ea 207462008-04-10 Pavel Roskin <proski@gnu.org>
20747
20748 * configure.ac: Always use "_cv_" in cache variables for
20749 compatibility with Autoconf 2.62.
20750
a02a73c5 207512008-04-07 Robert Millan <rmh@aybabtu.com>
20752
20753 Revert grub/machine/init.h addition by Pavel (since it breaks on
20754 i386-ieee1275 and others):
20755 * util/i386/pc/misc.c: Remove grub/machine/init.h.
20756 * util/powerpc/ieee1275/misc.c: Likewise.
20757
25c024b1 207582008-04-07 Robert Millan <rmh@aybabtu.com>
20759
20760 * util/grub-probe.c (probe): Improve error message.
20761
3cbd2f98 207622008-04-07 Robert Millan <rmh@aybabtu.com>
20763
20764 * util/biosdisk.c (read_device_map): Skip devices that don't exist
20765 (this prevents the presence of a bogus entry from ruining the whole
20766 thing).
20767
87a297bf 207682008-04-06 Pavel Roskin <proski@gnu.org>
20769
36747a62 20770 * util/biosdisk.c: Include grub/util/biosdisk.h.
20771 * util/grub-fstest.c (execute_command): Make static.
20772 * util/grub-mkdevicemap.c (check_device): Likewise.
20773 * util/i386/pc/misc.c: Include grub/machine/init.h.
20774 * util/powerpc/ieee1275/misc.c: Likewise.
20775 * util/lvm.c: Include grub/util/lvm.h.
20776 * util/misc.c: Include grub/kernel.h, grub/misc.h and
20777 grub/cache.h.
20778 * util/raid.c: Include grub/util/raid.h.
20779 (grub_util_getdiskname): Make static.
20780
87a297bf 20781 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
20782 grub_hostfs_fini(), as they are called from grub_init_all() and
20783 grub_fini_all() respectively. This fixes an infinite loop in
20784 grub-fstest due to double registration of hostfs.
20785 Reported by Christian Franke <Christian.Franke@t-online.de>
20786
f6ce7629 207872008-04-05 Pavel Roskin <proski@gnu.org>
20788
20789 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
20790 all 8 functions. Otherwise, probe function 0 only.
20791
070e49e4 207922008-04-04 Pavel Roskin <proski@gnu.org>
20793
8b088a4c 20794 * commands/lspci.c (grub_lspci_iter): Print the bus number
20795 correctly.
20796
4f657021 20797 * commands/lspci.c (grub_pci_classes): Fix typos.
20798 (grub_lspci_iter): Don't print func twice. Print vendor ID
20799 before device ID, as it's normally done.
20800
070e49e4 20801 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
20802 Fix signedness warnings.
20803 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
20804 Likewise.
20805 * util/ieee1275/get_disk_name.c: Include config.h so that
20806 _GNU_SOURCE is defined and getline() is declared. Mark an
20807 unused argument as such. Fix a signedness warning.
20808
ba7328dc 208092008-04-02 Pavel Roskin <proski@gnu.org>
20810
26887f22 20811 * genkernsyms.sh.in: Use more robust assignments for CC and
20812 srcdir. Quote srcdir.
20813 * gensymlist.sh.in: Likewise. Assert at the compile time that
20814 the symbol table is not empty.
20815
ba7328dc 20816 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
20817 * fs/cpio.c (grub_cpio_read): Likewise.
20818
0f582c6b 208192008-04-01 Pavel Roskin <proski@gnu.org>
20820
4b6e1995 20821 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
20822 * disk/host.c (grub_host_open): Likewise.
20823 * disk/loopback.c (grub_loopback_open): Likewise.
20824 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
20825 disk->id as in disk/host.c, not a multi-character constant.
20826
828a2768 20827 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
20828 later is obsolete, potentially dangerous and sets a bad example.
20829 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
20830 * util/misc.c (grub_util_get_image_size): Likewise.
20831
2bb4fb47 20832 * disk/loopback.c (options): Improve help for "--partitions".
20833
0f582c6b 20834 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
20835 options to align them with the short options, e.g. "echo -e".
20836
a33224e0 208372008-03-31 Bean <bean123ch@gmail.com>
20838
20839 * video/reader/png.c (grub_png_data): New member is_16bit and
20840 image_data.
20841 (grub_png_decode_image_header): Detect 16 bit png image.
20842 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
20843 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
20844 (grub_video_reader_png): Release memory occupied by image_data.
20845
20846 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
20847 4096 bytes.
20848 (grub_nfs_mount): Skip the test for sector per cluster.
20849
20850 * include/grub/ntfs.h (MAX_SPC): Removed.
20851
86cb4f54 208522008-03-31 Bean <bean123ch@gmail.com>
20853
20854 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
20855 (grub_probe_SOURCES): Add fs/afs.c.
20856 (grub_fstest_SOURCES): Likewise.
20857 (afs_mod_SOURCES): New variable.
20858 (afs_mod_CFLAGS): Likewise.
20859 (afs_mod_LDFLAGS): Likewise.
20860
20861 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
20862 (grub_emu_SOURCES): Likewise.
20863
20864 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20865
20866 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20867
20868 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
20869
20870 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20871
20872 * fs/afs.c: New file.
20873
17c74c21 208742008-03-30 Pavel Roskin <proski@gnu.org>
20875
4cb68e89 20876 * disk/host.c: Include grub/misc.h to fix a warning.
20877 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
20878 warnings about implicit declarations.
20879
8790bb04 20880 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
20881 variable.
20882 * include/grub/i386/loader.h: Change declaration of
20883 grub_linux_boot() to match what grub_loader_set() expects.
20884 * util/getroot.c (grub_guess_root_device): Return const char* to
20885 fix a warning.
20886 * util/grub-probe.c (probe): Fix a warning about uninitialized
20887 abstraction_name variable.
20888 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
20889 second argument as unused to fix a warning.
20890
9a3f3296 20891 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
20892 missing grub_error() call.
20893
0ecef90d 20894 * util/update-grub_lib.in: Define datarootdir, since Autoconf
20895 2.60 and newer uses it to define datadir.
20896
0bf6d401 20897 * commands/sleep.c: Fix warning about implicit declaration.
20898 * disk/memdisk.c: Likewise.
20899 * loader/aout.c: Likewise.
20900 * loader/i386/bsd_normal.c: Likewise.
20901 * util/grub-probe.c: Likewise.
20902
7cdacf97 20903 * commands/i386/cpuid.c (has_longmode): Make static.
20904 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
20905 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
20906
17c74c21 20907 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
20908 GDT. This is more robust, as %ds can change.
20909 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
20910 calling real_to_prot().
20911 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
20912
80a3e68b 209132008-03-28 Pavel Roskin <proski@gnu.org>
20914
20915 * kern/i386/pc/startup.S: Assert that uncompressed functions
20916 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
20917 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
20918 code, as they push parts of the code (error handlers) beyond
20919 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
20920 code as correctness and size.
20921
77bcd272 209222008-03-28 Pavel Roskin <proski@gnu.org>
20923
20924 * kern/i386/pc/startup.S
20925 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
20926 data block address to the real mode, keep offset minimal. This
20927 works around a bug in AWARD BIOS on old Athlon systems, which
20928 makes CD detection hang.
20929
c5dfd43b 209302008-03-26 Pavel Roskin <proski@gnu.org>
20931
20932 * normal/color.c (grub_parse_color_name_pair): Make `name' a
20933 const.
20934 * include/grub/normal.h: Add grub_parse_color_name_pair()
20935 declaration.
20936
bf962df2 209372008-03-24 Bean <bean123ch@gmail.com>
20938
20939 * disk/i386/pc/biosdisk.c (cd_start): Removed.
20940 (cd_count): Removed.
20941 (cd_drive): New variable.
20942 (grub_biosdisk_get_drive): Don't check for (cdN) device.
20943 (grub_biosdisk_call_hook): Likewise.
20944 (grub_biosdisk_iterate): Change cdrom detection method.
20945 (grub_biosdisk_open): Replace cd_start with cd_drive.
20946 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
20947 detect cdrom device.
20948
20949 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
20950 Removed.
20951 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
20952 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
20953 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
20954 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
20955 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
20956 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
20957 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
20958 (grub_biosdisk_cdrp): New structure.
20959 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
20960
20961 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
20962
20963 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
20964 device.
20965
20966 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
20967 New function.
20968
68e7fc7a 209692008-03-20 Robert Millan <rmh@aybabtu.com>
20970
20971 Remove 2 TiB limit in ata.mod.
20972 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
20973 (grub_ata_dumpinfo): Print sector count with 0x%llx.
20974 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
20975 grub_uint64_t instead of grub_uint32_t.
20976
38ad2cf5 209772008-03-05 Bean <bean123ch@gmail.com>
20978
20979 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
20980 (grub_multiboot): Set boot device.
20981
20982 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
20983
2b89344e 209842008-03-02 Bean <bean123ch@gmail.com>
20985
20986 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
20987 symlink_buffer.
20988
87a95d1f 209892008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
20990
20991 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
20992 texinfo.tex.
20993
20994 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
20995 modified.
20996
20997 * docs/fdl.texi: New file.
f19dbdb7 20998
87a95d1f 20999 * docs/mdate-sh: New file. Copied from gnulib.
21000 * docs/texinfo.tex: Likewise.
21001
21002 * config.guess: Updated from gnulib.
21003 * install-sh: Likewise.
21004
7dc15d8e 210052008-02-28 Robert Millan <rmh@aybabtu.com>
21006
21007 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
21008 (aout_mod_SOURCES): New variable.
21009 (aout_mod_CFLAGS): Likewise.
21010 (aout_mod_LDFLAGS): Likewise.
21011
21012 * conf/i386-ieee1275.rmk: Likewise.
21013
b00ab696 210142008-02-28 Robert Millan <rmh@aybabtu.com>
21015
21016 * util/update-grub.in: Reorganise terminal validity check. Accept
21017 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
21018 Based on suggestion by Franklin PIAT.
21019
79ca2d78 210202008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
21021
21022 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
21023 function.
21024 * util/getroot.c (grub_util_check_block_device): New function that
21025 returns the given argument if it is a block device and returns NULL else.
21026 * util/grub-probe.c (argument_is_device): New variable.
21027 (probe): Promote device_name from a variable to an argument. Receive
21028 device_name from grub_util_check_block_device() if path is NULL and from
21029 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 21030 (options): Introduce new parameter '-d, --device'.
79ca2d78 21031 (main): Add description of the new parameter to the help screen.
21032 Rename path variable to argument. Set argument_is_device if the '-d'
21033 option is given. Pass argument to probe() depending on
21034 argument_is_device.
21035
0d16e571 210362008-02-24 Bean <bean123ch@gmail.com>
21037
21038 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
21039 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
21040 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
21041 (GRUB_ISO9660_VOLDESC_PART): Likewise.
21042 (GRUB_ISO9660_VOLDESC_END): Likewise.
21043 (grub_iso9660_primary_voldesc): New member escape.
21044 (grub_iso9660_data): New member joliet.
21045 (grub_iso9660_convert_string): New function.
21046 (grub_iso9660_mount): Detect joliet extension.
21047 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
21048 (grub_iso9660_iso9660_label): Likewise.
21049
21050 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
21051 (grub_setup_SOURCES): Add fs/udf.c.
21052 (grub_fstest_SOURCES): Likewise.
21053 (udf_mod_SOURCES): New variable.
21054 (udf_mod_CFLAGS): Likewise.
21055 (udf_mod_LDFLAGS): Likewise.
21056
21057 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
21058 (grub_emu_SOURCES): Likewise.
21059
21060 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21061
21062 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21063
21064 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
21065
21066 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21067
21068 * fs/udf.c: New file.
21069
8a594a17 210702008-02-24 Robert Millan <rmh@aybabtu.com>
21071
21072 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
21073 (normal/lexer.c_DEPENDENCIES): New variables.
21074 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
21075 (normal/lexer.c_DEPENDENCIES): Likewise.
21076 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
21077 (normal/lexer.c_DEPENDENCIES): Likewise.
21078 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
21079 (normal/lexer.c_DEPENDENCIES): Likewise.
21080 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
21081 (normal/lexer.c_DEPENDENCIES): Likewise.
21082 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
21083 (normal/lexer.c_DEPENDENCIES): Likewise.
21084
2dc33c03 210852008-02-23 Robert Millan <rmh@aybabtu.com>
21086
21087 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
21088 since they were intended to be in hex. This didn't break previously
21089 because of a bug in gpt_partition_map_iterate() (see below).
21090
21091 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
21092 when checking the validity of GPT header.
21093 Remove `partno', since it always provides the same information as `i'.
21094
f6f4cfb0 210952008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
21096
21097 * include/grub/efi/time.h: Fix a wrong comment.
21098
79ff665f 210992008-02-19 Pavel Roskin <proski@gnu.org>
21100
21101 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
21102 message.
21103
d38e24c2 211042008-02-19 Bean <bean123ch@gmail.com>
21105
21106 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
21107 (aout_mod_SOURCES): New variable.
21108 (aout_mod_CFLAGS): Likewise.
21109 (aout_mod_LDFLAGS): Likewise.
21110 (_bsd_mod_SOURCES): New variable.
21111 (_bsd_mod_CFLAGS): Likewise.
21112 (_bsd_mod_LDFLAGS): Likewise.
21113 (bsd_mod_SOURCES): New variable.
21114 (bsd_mod_CFLAGS): Likewise.
21115 (bsd_mod_LDFLAGS): Likewise.
21116
21117 * include/grub/aout.h: New file.
21118
21119 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
21120
21121 * include/grub/i386/bsd.h: New file.
21122
21123 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
21124 to make it public.
21125
21126 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
21127 function is called, so that it's possible to change it inside the hook.
21128 (grub_elf64_load): Likewise.
21129 (grub_elf_file): Don't close the file if elf header is not found.
21130 (grub_elf_close): Close the file if grub_elf_file fails (The new
21131 grub_elf_file won't close it).
21132 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
21133 (grub_elf64_size): Likewise.
21134
21135 * kern/i386/loader.S (grub_unix_real_boot): New function.
21136
21137 * loader/aout.c: New file.
21138
21139 * loader/i386/bsd.c: New file.
21140
21141 * loader/i386/bsd_normal.c: New file.
21142
21143 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
21144
21145 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 21146 can test other formats.
d38e24c2 21147
b93bdb0f 211482008-02-19 Robert Millan <rmh@aybabtu.com>
21149
21150 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
21151 (grub_gpt_partition_type_empty): Redefine with macro from
21152 `<grub/gpt_partition.h>'.
21153 (gpt_partition_map_iterate): Adjust partition type comparison.
21154
21155 Export `entry' as partmap-specific `part.data' struct.
21156 (grub_gpt_header, grub_gpt_partentry): Move from here ...
21157
21158 * include/grub/gpt_partition.h (grub_gpt_header)
21159 (grub_gpt_partentry): ... to here (new file).
21160
21161 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
21162
21163 (grub_gpt_partition_type_bios_boot): New const variable, defined
21164 with macro from `<grub/gpt_partition.h>'.
21165
21166 (setup): Replace `first_start' with `embed_region', which keeps
21167 track of the embed region (and is partmap-agnostic).
21168
21169 Replace find_first_partition_start() with find_usable_region(),
21170 which finds a usable region for embedding using partmap-specific
21171 knowledge (supports PC/MSDOS and GPT).
21172
21173 Fix all assumptions that the embed region start at sector 1, using
21174 `embed_region.start' from now on. Similarly, use `embed_region.end'
21175 rather than `first_start' to calculate available size.
21176
21177 In grub_util_info() message, replace "into after the MBR" with an
21178 indication of the specific sector our embed region starts at.
21179
66cb40f6 211802008-02-19 Robert Millan <rmh@aybabtu.com>
21181
21182 * DISTLIST: Replace `commands/ieee1275/halt.c' and
21183 `commands/ieee1275/reboot.c' with `commands/halt.c' and
21184 `commands/reboot.c'.
21185 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
21186 (halt_mod_SOURCES): Likewise.
21187 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
21188 (halt_mod_SOURCES): Likewise.
21189
b7202015 211902008-02-17 Christian Franke <franke@computer.org>
21191
21192 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
21193
32b0fc49 211942008-02-17 Robert Millan <rmh@aybabtu.com>
21195
21196 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
21197 set `first_start' to 0 for non-PC/MSDOS partition maps.
21198
aca63502 211992008-02-16 Robert Millan <rmh@aybabtu.com>
21200
21201 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
21202 do not assume partition map is PC/MSDOS before performing checks that
21203 are specific to that layout.
21204
0de8be86 212052008-02-13 Robert Millan <rmh@aybabtu.com>
21206
21207 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
21208 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
21209 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
21210
c3db8364 212112008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
21212
21213 * configure.ac: Only a cosmetic change on the handling of
21214 -fno-stack-protector.
21215
f714229e 212162008-02-12 Alexandre Boeglin <alex@boeglin.org>
21217
c3db8364 21218 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
21219 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
21220 reboot.c.
f714229e 21221 (grub_install_SOURCES): Add halt.mod and reboot.mod.
21222 (halt_mod_SOURCES): New variable.
21223 (halt_mod_CFLAGS): Likewise.
21224 (halt_mod_LDFLAGS): Likewise.
21225 (reboot_mod_SOURCES): Likewise.
21226 (reboot_mod_CFLAGS): Likewise.
21227 (reboot_mod_LDFLAGS): Likewise.
21228
c3db8364 21229 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
21230 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
21231 reboot.c.
f714229e 21232 (halt_mod_SOURCES): Likewise.
21233 (reboot_mod_SOURCES): Likewise.
21234
c3db8364 21235 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
21236 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 21237 (reboot_mod_SOURCES): Likewise.
21238
21239 * commands/i386/pc/reboot.c: merge this file ...
21240
21241 * commands/ieee1275/reboot.c: ... and this file ...
21242
21243 * commands/reboot.c: ... to this file.
c3db8364 21244 Add some precompiler directive to include the correct header for
21245 each machine.
f714229e 21246
21247 * commands/ieee1275/halt.c: move this file ...
21248
21249 * commands/halt.c: ... to here.
c3db8364 21250 Add some precompiler directive to include the correct header for
21251 each machine.
f714229e 21252
21253 * include/grub/efi/efi.h (grub_reboot): New function declaration.
21254 (grub_halt): Likewise.
21255
21256 * kern/efi/efi.c (grub_reboot): New function.
21257 (grub_halt): Likewise.
21258
c74493e0 212592008-02-12 Robert Millan <rmh@aybabtu.com>
21260
21261 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
21262 /dev (like it is done for /dev/mapper). This doesn't provide support
21263 for EVMS, but at least it is now easy to identify the problem when it
21264 arises.
21265
d0db4b04 212662008-02-11 Robert Millan <rmh@aybabtu.com>
21267
21268 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
21269 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
21270 comparing it with -1, not 0.
21271
bf748642 212722008-02-10 Robert Millan <rmh@aybabtu.com>
21273
21274 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
21275 `disk/lvm.c'.
21276 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21277 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21278
21279 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
21280 `disk/lvm.c' to the end of the list.
21281 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
21282 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21283
b5db202a 212842008-02-10 Robert Millan <rmh@aybabtu.com>
21285
21286 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
21287 grub_print_error() instead. This will let user know why we're entering
21288 rescue mode.
21289 Based on suggestions from Sam Morris.
21290
83abee31 212912008-02-10 Alexandre Boeglin <alex@boeglin.org>
21292
21293 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
21294 on remaining N args, instead of "--" arg N times.
21295
78d5a08b 212962008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
21297
21298 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
21299 (fill_with_default_glyph): Changed to use unknown_glyph for fill
21300 pattern for unknown glyphs.
21301
68807e5f 213022008-02-09 Robert Millan <rmh@aybabtu.com>
21303
21304 * configure.ac: Probe for `help2man'.
21305 * Makefile.in (builddir): New variable.
21306 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
21307 or otherwise add a few flags/options to it.
21308 (install-local): For every executable utility or script that is
21309 installed, invoke $(HELP2MAN) to install a manpage based on --help
21310 output.
21311
21312 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
21313 that it doesn't prevent --help from working in build tree.
21314
21315 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
21316 with `bug-grub@gnu.org'.
21317 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
21318 * util/update-grub.in (usage): New function.
21319 Implement proper argument check, with support for --help and --version
21320 (as well as existing -y).
21321
213222008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 21323
21324 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
21325 avoid overwriting previous output.
21326 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
21327
c1962162 213282008-02-09 Robert Millan <rmh@aybabtu.com>
21329
21330 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
21331 drawing the menu.
21332
3dac2e3f 213332008-02-09 Robert Millan <rmh@aybabtu.com>
21334
21335 * commands/sleep.c: New file.
21336 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
21337 (sleep_mod_SOURCES): New variable.
21338 (sleep_mod_CFLAGS): Likewise.
21339 (sleep_mod_LDFLAGS): Likewise.
21340
7a634e08 213412008-02-09 Robert Millan <rmh@aybabtu.com>
21342
21343 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
21344 situations in which we can deduce the RAID size and the superblock
21345 doesn't match it.
21346
b92f0c18 213472008-02-09 Robert Millan <rmh@aybabtu.com>
21348
21349 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
21350 and return a grub_diskmemberlist_t composed of LVM physical volumes.
21351 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
21352
21353 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
21354 and return a grub_diskmemberlist_t composed of physical array members.
21355 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
21356
21357 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
21358 prototype.
21359 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
21360 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
21361 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
21362
21363 * util/grub-probe.c (probe): Move partmap probing code from here ...
21364 (probe_partmap): ... to here.
21365 (probe): Use probe_partmap() once for the disk we're probing, and
21366 additionally, when such disk contains a memberlist() struct member,
21367 once for each disk that is contained in the structure returned by
21368 memberlist().
21369
91a4bf68 213702008-02-09 Robert Millan <rmh@aybabtu.com>
21371
21372 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
21373 environment variable to 'all' in order to obtain debug output from
21374 non-util/ code.
21375 * util/i386/pc/grub-setup.c (main): Likewise.
21376
a96f9caa 213772008-02-08 Robert Millan <rmh@aybabtu.com>
21378
21379 * disk/raid.c (grub_raid_scan_device): Check for
21380 `array->device[sb.this_disk.number]' rather than for
21381 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 21382 guaranteed to be accessible.
a96f9caa 21383
b37a9222 213842008-02-08 Robert Millan <rmh@aybabtu.com>
21385
21386 * disk/raid.c: Update copyright.
21387 * fs/cpio.c: Likewise.
21388 * include/grub/raid.h: Likewise.
21389 * loader/i386/pc/multiboot.c: Likewise.
21390 * util/hostfs.c: Likewise.
21391
5626aee1 213922008-02-08 Robert Millan <rmh@aybabtu.com>
21393
21394 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
21395 to a grub_disk_t array.
21396 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
21397 `device[x]'.
21398 (grub_raid_scan_device): Replace `device[x].name' accesses with
21399 `device[x]->name'. Simplify initialization of `array->device[x]'.
21400
554f0187 214012008-02-08 Robert Millan <rmh@aybabtu.com>
21402
21403 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
21404 grub_dprintf() calls.
21405 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
21406 error message.
21407
1ec8425d 214082008-02-07 Christian Franke <franke@computer.org>
21409
21410 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
21411 instead of fseek and ftell to support large files.
21412 (grub_hostfs_read): Likewise.
21413
f2156fda 214142008-02-07 Robert Millan <rmh@aybabtu.com>
21415
21416 Patch from Jeroen Dekkers.
21417 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 21418 failure, since successfully reading all array members might not be
f2156fda 21419 required.
21420
9216e0e7 214212008-02-06 Robert Millan <rmh@aybabtu.com>
21422
21423 * util/grub-probe.c (probe): Simplify partmap probing (with the
21424 assumption that the first word up to the underscore equals to
21425 the module name).
21426
b0dfd29a 214272008-02-06 Christian Franke <franke@computer.org>
21428
21429 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
21430 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
21431 last block of a cpio or tar stream.
21432 Check for "TRAILER!!!" instead of any empty data
21433 block to detect last block of a cpio stream.
21434 (grub_cpio_dir): Fix constness of variable np.
21435 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
21436 cpio or tar trailer is detected. This fixes a crash
21437 on open of a non existing file.
21438
c32865bf 214392008-02-05 Bean <bean123ch@gmail.com>
21440
21441 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
21442 address of entry.
21443 (grub_multiboot_load_elf64): Likewise.
21444 (grub_multiboot): Initialize mbi structure.
21445
21446 * util/grub-fstest.c: Don't include unused header file script.h.
21447
fe6b695a 21448 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 21449 of file.
21450 (grub_fstest_SOURCES): Likewise.
21451
409480b7 214522008-02-05 Robert Millan <rmh@aybabtu.com>
21453
21454 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
21455 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
21456 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
21457 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
21458
21459 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
21460 (translation_table): Replace hardcoded values with macros
21461 provided by `<grub/term.h>'.
21462
21463 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
21464 (keyboard_map): Correct/add a few values, with macros provided
21465 by `<grub/term.h>'.
21466 (keyboard_map_shift): Zero values that don't differ from their
21467 `keyboard_map' equivalents.
21468 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
21469 Discard the second scan code that is always sent by Caps lock.
21470 Only use `keyboard_map_shift' when it provides a non-zero value,
21471 otherwise fallback to `keyboard_map'.
21472
99fadbaa 214732008-02-04 Bean <bean123ch@gmail.com>
21474
21475 * Makefile.in (enable_grub_fstest): New variable.
21476
21477 * conf/common.rmk (grub_fstest_init.lst): New rule.
21478 (grub_fstest_init.h): Likewise.
21479 (grub_fstest_init.c): Likewise.
21480 (util/grub-fstest.c_DEPENDENCIES): New variable.
21481 (grub_fstest_SOURCES): Likewise.
21482
21483 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
21484
21485 * util/grub-fstest.c: New file.
21486
bf567c50 214872008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
21488
21489 Make grub-setup handle a separate root device.
f19dbdb7 21490
bf567c50 21491 * util/i386/pc/grub-setup.c (setup): Always open the root device,
21492 so that the root device can be compared with the destination
21493 device.
21494 When embedding the core image, if the root and destination devices
21495 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
21496 0xFF.
21497 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 21498
9be6b98b 214992008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
21500
21501 Add support for having a grub directory in a different drive. This
21502 is still only the data handling part.
f19dbdb7 21503
9be6b98b 21504 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
21505 (codestart): Save %dh in GRUB_ROOT_DRIVE.
21506 (grub_root_drive): New variable.
21507
21508 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
21509 instead of GRUB_BOOT_DRIVE to construct a device name. Set
21510 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
21511 as it was.
21512
21513 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
21514
21515 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
21516 macro.
21517 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
21518
21519 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
21520 is bogus, because PXE booting does not specify any drive
21521 correctly.
21522
21523 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
21524 am not sure if this is really correct.
21525
21526 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
21527 is always identical to the boot drive when booting from a CD.
21528
21529 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
21530 longer.
21531 (root_drive): New variable.
21532 (real_start): Unconditionally set %dh to ROOT_DRIVE.
21533 (setup_sectors): Push %dx right after popping it, because %dh will
21534 be modified later.
21535 (copy_buffer): Restore %dx.
21536
e0ca0677 215372008-02-03 Robert Millan <rmh@aybabtu.com>
21538
21539 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
21540 use `cdboot.img' for cdrom images.
21541
3b3f6629 215422008-02-03 Robert Millan <rmh@aybabtu.com>
21543
21544 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
21545 only setup gfxterm when `font' command has succeeded.
21546
d42b3672 215472008-02-03 Robert Millan <rmh@aybabtu.com>
21548
21549 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
21550 (grub_rescue_cmd_multiboot_loader)
21551 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
21552
fa370ea6 215532008-02-03 Pavel Roskin <proski@gnu.org>
21554
e0c5dacb 21555 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 21556 %edx and %esi from stack only after grub_gate_a20() is called.
21557 grub_gate_a20() clobbers %edx.
21558
f2a76e1d 215592008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
21560
21561 * configure.ac (AC_INIT): Bumped to 1.96.
21562
21563 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
21564 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
21565 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
21566 video/readers/png.c.
21567
90fd32d1 215682008-02-03 Bean <bean123ch@gmail.com>
9be665dd 21569
21570 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
21571 (cdboot_img_SOURCES): New variable.
21572 (cdboot_img_ASFLAGS): New variable.
21573 (cdboot_img_LDFLAGS): New variable.
21574
21575 * boot/i386/pc/cdboot.S: New file.
21576
21577 * disk/i386/pc/biosdisk.c (cd_start): New variable.
21578 (cd_count): Likewise.
21579 (grub_biosdisk_get_drive): Add support for cd device.
21580 (grub_biosdisk_call_hook): Likewise.
21581 (grub_biosdisk_iterate): Likewise.
21582 (grub_biosdisk_open): Likewise.
21583 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
21584 (grub_biosdisk_rw): Support reading from cd device.
21585 (GRUB_MOD_INIT): Iterate cd devices.
21586
21587 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
21588 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
21589 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
21590
21591 * kern/i386/pc/init.c (make_install_device): Check for cd device.
21592
4020aa53 215932008-02-02 Robert Millan <rmh@aybabtu.com>
21594
21595 * commands/read.c: New file.
21596 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
21597 (read_mod_SOURCES): New variable.
21598 (read_mod_CFLAGS): Likewise.
21599 (read_mod_LDFLAGS): Likewise.
21600
e03a1132 216012008-02-02 Robert Millan <rmh@aybabtu.com>
21602
21603 * normal/main.c (grub_normal_execute): Check for `menu->size' when
21604 determining whether menu has to be displayed.
21605
58c69220 216062008-02-02 Marco Gerards <marco@gnu.org>
21607
21608 * bus/pci.c: New file.
21609
21610 * include/grub/pci.h: Likewise.
21611
21612 * include/grub/i386/pc/pci.h: Likewise.
21613
21614 * commands/lspci.c: Likewise.
21615
21616 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
21617 `lspci.mod'.
21618 (pci_mod_SOURCES): New variable.
21619 (pci_mod_CFLAGS): Likewise.
21620 (pci_mod_LDFLAGS): Likewise.
21621 (lspci_mod_SOURCES): Likewise.
21622 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 21623 (lspci_mod_LDFLAGS): Likewise.
58c69220 21624
c004e1b4 216252008-02-02 Bean <bean123ch@gmail.com>
21626
21627 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
21628 (grub_ufs_get_file_block): Fix indirect block calculation problem.
21629
21630 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
21631 (grub_xfs_btree_node): New structure.
21632 (grub_xfs_btree_root): New structure.
21633 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
21634 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
21635 (GRUB_XFS_EXTENT_BLOCK): Likewise.
21636 (GRUB_XFS_EXTENT_SIZE): Likewise.
21637 (grub_xfs_read_block): Support btree format type.
21638 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
21639 Use directory block as basic unit.
21640
21641 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
21642
21643 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
21644 __attribute__ ((__regparm__ (1))).
21645
f95562bf 216462008-02-01 Robert Millan <rmh@aybabtu.com>
21647
21648 Correct a mistake in previous commit.
21649
21650 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
21651 top.
21652 (normal/command.c_DEPENDENCIES): New variable.
21653
7d31f41f 216542008-02-01 Robert Millan <rmh@aybabtu.com>
21655
21656 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
21657 top.
21658 (normal/command.c_DEPENDENCIES): New variable.
21659 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
21660 * conf/i386-ieee1275.rmk: Likewise.
21661 * conf/i386-linuxbios.rmk: Likewise.
21662 * conf/i386-pc.rmk: Likewise.
21663 * conf/sparc64-ieee1275.rmk: Likewise.
21664 * conf/powerpc-ieee1275.rmk: Likewise.
21665 (grub_emu_SOURCES): Add `fs/fshelp.c'.
21666
21667 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
21668
60b6be74 216692008-02-01 Robert Millan <rmh@aybabtu.com>
21670
21671 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
21672 call at beginning of function.
21673
078522ab 216742008-01-31 Pavel Roskin <proski@gnu.org>
21675
21676 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 21677 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
21678 (grub_mkrescue_SOURCES): Likewise.
078522ab 21679 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
21680
ccaa8a5f 216812008-01-30 Robert Millan <rmh@aybabtu.com>
21682
21683 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
21684 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
21685 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
21686 (grub_probe_SOURCES): ... to here.
21687
21688 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
21689 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
21690 * conf/i386-ieee1275.rmk: Likewise.
21691 * conf/i386-linuxbios.rmk: Likewise.
21692 * conf/powerpc-ieee1275.rmk: Likewise.
21693
ae5a9cd7 216942008-01-30 Tristan Gingold <gingold@free.fr>
21695
21696 * kern/rescue.c: Silently accept empty lines.
21697
70bc2ef2 216982008-01-29 Bean <bean123ch@gmail.com>
21699
21700 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
21701 (real_code_2): Code cleanup and change comment style.
21702 (move_memory): Avoid using 32-bit address mode.
21703
6a4d50ea 217042008-01-29 Bean <bean123ch@gmail.com>
21705
21706 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
21707 (png_mod_SOURCES): New variable.
21708 (png_mod_CFLAGS): Likewise.
21709 (png_mod_LDFLAGS): Likewise.
21710
21711 * video/readers/png.c: New file.
21712
11cc30ac 217132008-01-28 Robert Millan <rmh@aybabtu.com>
21714
21715 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
21716 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
21717 `ifndef GRUB_MOD_GAP' hack.
21718 * util/elf/grub-mkimage.c (add_segments): Likewise.
21719
3abc589f 217202008-01-27 Robert Millan <rmh@aybabtu.com>
21721
21722 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
21723 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 21724 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 21725
e1907778 217262008-01-27 Robert Millan <rmh@aybabtu.com>
21727
21728 Get grub-emu to build again (including parallel builds).
21729
21730 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
21731 Split into ...
21732 (util/grub-emu.c_DEPENDENCIES): ... this, ...
21733 (normal/execute.c_DEPENDENCIES): ... this, ...
21734 (grub-emu_DEPENDENCIES): ... and this.
21735
21736 * conf/i386-efi.rmk: Likewise.
21737 * conf/i386-linuxbios.rmk: Likewise.
21738 * conf/i386-ieee1275.rmk: Likewise.
21739 * conf/powerpc-ieee1275.rmk: Likewise.
21740 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
21741
2216b101 217422008-01-27 Robert Millan <rmh@aybabtu.com>
21743
21744 * NEWS: Add a few items.
21745
f75172d9 217462008-01-27 Robert Millan <rmh@aybabtu.com>
21747
21748 Fix parallel builds with grub-emu. Based on earlier commit for
21749 grub-probe and grub-setup.
21750
21751 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
21752 (util/grub-emu.c_DEPENDENCIES): ... this.
21753 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
21754 (util/grub-emu.c_DEPENDENCIES): ... this.
21755 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
21756 (util/grub-emu.c_DEPENDENCIES): ... this.
21757 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
21758 (util/grub-emu.c_DEPENDENCIES): ... this.
21759 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
21760 (util/grub-emu.c_DEPENDENCIES): ... this.
21761
3f51de77 217622008-01-27 Pavel Roskin <proski@gnu.org>
21763
21764 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
21765 to create a gap between _end and the modules added to the image
21766 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
21767 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
21768 * util/elf/grub-mkimage.c (add_segments): Likewise.
21769
2033f53e 217702008-01-26 Pavel Roskin <proski@gnu.org>
21771
21772 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
21773 just return an error.
21774
22da1f6f 217752008-01-26 Bean <bean123ch@gmail.com>
21776
21777 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
21778 (grub_reiserfs_get_item): Save offset of the next item.
21779 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
21780
2a9525e6 217812008-01-25 Robert Millan <rmh@aybabtu.com>
21782
21783 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
21784 make all filesystem sources appear together (possibly fixing omissions
21785 while at it).
21786 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21787 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21788 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
21789 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21790
21791 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
21792 add `kern/file.c'.
21793 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
21794 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
21795 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
21796 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
21797
21798 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
21799 (probe): Add a sanity check to make sure of our ability to read
21800 requested files when probing for filesystem type.
21801
21802 * genmk.rb: Update copyright year (2007).
21803
21804 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
21805 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
21806 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
21807 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
21808 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
21809 : Remove function prototypes.
21810
b95f71b5 218112008-01-25 Robert Millan <rmh@aybabtu.com>
21812
21813 Revert my previous commits (based on wrong assumption of how grub_errno
21814 works).
21815
fe6b695a 21816 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 21817 * kern/file.c (grub_file_open): Likewise.
21818
d08bbb49 218192008-01-24 Pavel Roskin <proski@gnu.org>
21820
21821 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
21822 that hang if GRUB tries to setup colors.
21823 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
21824 colors for firmwares that don't support it.
21825 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
21826 Recognize Open Hack'Ware, set flags to work around its
21827 limitations.
21828
605e36ed 218292008-01-24 Robert Millan <rmh@aybabtu.com>
21830
21831 * kern/file.c (grub_file_open): Do not account previous failures of
21832 unrelated functions when grub_errno is checked for.
21833 Reported by Oleg Strikov.
21834
bac332a1 218352008-01-24 Bean <bean123ch@gmail.com>
21836
21837 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
21838 (grub_ufs_sblock): New member volume name.
21839 (grub_ufs_find_file): Fix string copy bug.
21840 (grub_ufs_label): Implement this function properly.
21841
21842 * fs/hfs.c (grub_hfs_cnid_type): New enum.
21843 (grub_hfs_iterate_records): Use the correct file number for extents
21844 and catalog file. Fix problem in next index calculation.
21845 (grub_hfs_find_node): Replace recursive function call with loop.
21846 (grub_hfs_iterate_dir): Replace recursive function call with loop.
21847
15c80c09 218482008-01-23 Robert Millan <rmh@aybabtu.com>
21849
21850 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
21851 `<grub/symbol.h>' and `<grub/multiboot.h>'.
21852 (grub_multiboot2_real_boot): New function prototype.
21853
21854 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
21855 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
21856
21857 * kern/i386/ieee1275/init.c (grub_os_area_addr)
21858 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
21859
305338fd 218602008-01-23 Robert Millan <rmh@aybabtu.com>
21861
21862 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
21863 #ifdef'ed out grub_printf().
21864
3ea52685 218652008-01-23 Robert Millan <rmh@aybabtu.com>
21866
21867 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
21868 grub_dprintf calls, since they make "debug=all" mode unusable.
21869 (grub_console_checkkey): Likewise.
21870
5882ae4b 218712008-01-23 Robert Millan <rmh@aybabtu.com>
21872
21873 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
21874 `term/i386/pc/at_keyboard.c'.
21875 (pkglib_MODULES): Add `serial.mod'.
21876 (serial_mod_SOURCES): New variable.
21877 (serial_mod_CFLAGS): Likewise.
21878 (serial_mod_LDFLAGS): Likewise.
21879
21880 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
21881 `<grub/powerpc/ieee1275/console.h>'.
21882 (grub_keyboard_controller_init): New function prototype.
21883 (grub_console_checkkey): Likewise.
21884 (grub_console_getkey): Likewise.
21885
21886 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
21887 keyboard on i386.
21888
21889 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
21890 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
21891
06ab5303 218922008-01-23 Robert Millan <rmh@aybabtu.com>
21893
21894 * kern/i386/pc/init.c (make_install_device): When memdisk image is
21895 present, "(memdisk)/boot/grub" becomes the default prefix.
21896
21897 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
21898 a memdisk tarball with all the modules. Add --overlay=DIR option that
21899 allows users to overlay additional files into the image.
21900
dbb475a4 219012008-01-23 Robert Millan <rmh@aybabtu.com>
21902
21903 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
21904 and `machine/memory.h'.
21905 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
21906 (_multiboot_mod_SOURCES): New variable.
21907 (_multiboot_mod_CFLAGS): Likewise.
21908 (_multiboot_mod_LDFLAGS): Likewise.
21909 (multiboot_mod_SOURCES): Likewise.
21910 (multiboot_mod_CFLAGS): Likewise.
21911 (multiboot_mod_LDFLAGS): Likewise.
21912
21913 * include/grub/i386/ieee1275/loader.h: New file.
21914
21915 * include/grub/i386/ieee1275/machine.h: Likewise.
21916
21917 * include/grub/i386/ieee1275/memory.h: Likewise.
21918
21919 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
21920 variable declaration.
21921 (grub_os_area_size): Likewise.
21922
21923 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
21924 (grub_lower_mem, grub_upper_mem): New variables.
21925 (grub_stop_floppy): New function (just to make
21926 grub_multiboot2_real_boot() happy).
21927
21928 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
21929 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
21930 (grub_stop): New function.
21931 Include `"../realmode.S"' and `"../loader.S"'.
21932
21933 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
21934 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
21935
21936 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
21937 rely on grub_multiboot2_real_boot() for final boot.
21938
25638629 219392008-01-22 Robert Millan <rmh@aybabtu.com>
21940
21941 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
21942 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
21943 device that doesn't look like an SD card.
21944 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
21945 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
21946 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
21947 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
21948 found.
21949
9dad816d 219502008-01-22 Robert Millan <rmh@aybabtu.com>
21951
21952 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
21953 avoid claiming over our own code.
21954
34842f2d 219552008-01-22 Bean <bean123ch@gmail.com>
21956
21957 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
21958 (jpeg_mod_SOURCES): New variable.
21959 (jpeg_mod_CFLAGS): Likewise.
21960 (jpeg_mod_LDFLAGS): Likewise.
21961
21962 * video/readers/jpeg.c : New file.
21963
44023a28 219642008-01-22 Bean <bean123ch@gmail.com>
21965
21966 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
21967 there are no more items.
21968
bc2d8ac6 219692008-01-21 Robert Millan <rmh@aybabtu.com>
21970
21971 * kern/mm.c (grub_mm_init_region): Improve debug message.
21972
261bd4bc 219732008-01-21 Robert Millan <rmh@aybabtu.com>
21974
21975 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
21976 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
21977 address.
21978 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
21979 a C macro.
21980 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
21981 Indicates start of upper memory.
21982 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
21983 (generate_image): Abort when image size is big enough to corrupt
21984 upper memory.
21985
21986 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
21987 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
21988 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
21989 instead of hardcoding 0xA0000.
21990 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
21991 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
21992 instead of hardcoding 0xA0000.
21993
f970b55e 219942008-01-21 Robert Millan <rmh@aybabtu.com>
21995
21996 * disk/memdisk.c (memdisk_size): New variable.
21997 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
21998 `memdisk_size'.
21999 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
22000 image to dynamic memory.
22001 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
22002 `memdisk_size'. Free memdisk block.
22003
1a8b0526 220042008-01-21 Robert Millan <rmh@aybabtu.com>
22005
22006 Fix detection of very small filesystems (like tar).
22007
22008 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
22009 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
22010 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
22011 a problem with this disk).
22012
6e9b4aab 220132008-01-21 Robert Millan <rmh@aybabtu.com>
22014
22015 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
22016 on grub_biosdisk_rw_standard() error.
22017
0d8837b2 220182008-01-21 Robert Millan <rmh@aybabtu.com>
22019
22020 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
22021 recent changes.
22022 * kern/elf.c: Likewise.
22023 * kern/ieee1275/ieee1275.c: Likewise.
22024 * kern/powerpc/ieee1275/openfw.c: Likewise.
22025 * term/ieee1275/ofconsole.c: Likewise.
22026
ffd36e34 220272008-01-21 Robert Millan <rmh@aybabtu.com>
22028
22029 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
22030
3f0093d0 22031 * include/grub/kernel.h (grub_arch_memdisk_addr)
22032 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 22033
3f0093d0 22034 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
22035 (grub_arch_memdisk_size): ... to here.
ffd36e34 22036
6c391b21 220372008-01-21 Robert Millan <rmh@aybabtu.com>
22038
22039 Mostly based on bugfix from Bean.
22040
22041 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
22042 attribute with hook() parameter.
22043 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
22044 declaration.
22045 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
22046 attribute with hook() parameter.
22047 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
22048 declaration.
22049
55a581dc 220502008-01-21 Robert Millan <rmh@aybabtu.com>
22051
22052 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
22053 (pkglib_MODULES): Add `memdisk.mod'.
22054 (memdisk_mod_SOURCES): New variable.
22055 (memdisk_mod_CFLAGS): Likewise.
22056 (memdisk_mod_LDFLAGS): Likewise.
22057
22058 * disk/memdisk.c: New file.
22059
22060 * include/grub/disk.h (grub_disk_dev_id): Add
22061 `GRUB_DISK_DEVICE_MEMDISK_ID'.
22062
22063 * include/grub/i386/pc/kernel.h
22064 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
22065 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
22066 (grub_kernel_image_size): New variable declaration.
22067 (grub_total_module_size): Likewise.
22068 (grub_memdisk_image_size): Likewise.
22069
22070 * include/grub/i386/pc/memory.h
22071 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
22072
22073 * include/grub/kernel.h: Include `<grub/symbol.h>'.
22074 (grub_arch_memdisk_addr): New variable declaration.
22075 (grub_arch_memdisk_size): Likewise.
22076
22077 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
22078 (grub_arch_memdisk_size): Likewise.
22079
22080 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
22081 (codestart): Replace hardcoded `0x100000' with
22082 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
22083
22084 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
22085 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
22086 not NULL, append the contents of the file it refers to, at the end of
22087 the compressed kernel image. Initialize `grub_memdisk_image_size'
22088 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
22089 (options): Add "memdisk"|'m' option.
22090 (main): Parse --memdisk|-m option, and pass user-provided path as
22091 parameter to generate_image().
22092
3d7f54c9 220932008-01-20 Robert Millan <rmh@aybabtu.com>
22094
22095 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
22096 grub_dprintf() calls from here ...
22097 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
22098
0bf74728 220992008-01-20 Robert Millan <rmh@aybabtu.com>
22100
22101 Fix detection of "real mode" when /options/real-mode? doesn't exist.
22102
22103 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
22104 declaration.
22105 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
22106 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
22107 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 22108 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 22109 property).
22110 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
22111 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
22112
33bf70a7 221132008-01-19 Robert Millan <rmh@aybabtu.com>
22114
fe6b695a 22115 Get rid of confusing function (superseded by
33bf70a7 22116 `grub_ieee1275_get_integer_property')
22117 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
22118 prototype.
22119 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
22120 function.
22121 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
22122 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 22123 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 22124
e2da7d26 221252008-01-19 Robert Millan <rmh@aybabtu.com>
22126
22127 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
22128 command after "shut-down", since implementations differ on which
22129 the command for halt is.
22130
59f1fd8d 221312008-01-19 Robert Millan <rmh@aybabtu.com>
22132
22133 * include/grub/i386/linuxbios/console.h: Add header protection.
22134 (grub_keyboard_controller_init): New function prototype.
22135 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
22136 (KEYBOARD_COMMAND_READ): Likewise.
22137 (KEYBOARD_COMMAND_WRITE): Likewise.
22138 (KEYBOARD_SCANCODE_SET1): Likewise.
22139 (grub_keyboard_controller_write): New function.
22140 (grub_keyboard_controller_read): Likewise.
22141 (grub_keyboard_controller_init): Likewise.
22142
22143 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
22144 (grub_console_init): On coreboot/LinuxBIOS, call
22145 grub_keyboard_controller_init().
22146
5f5a7c15 221472008-01-19 Robert Millan <rmh@aybabtu.com>
22148
22149 PowerPC changes provided by Pavel Roskin.
22150
22151 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
22152 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
22153 don't rely on cmain() doing it.
22154 * kern/i386/ieee1275/startup.S (_start): Store %eax in
22155 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
22156
1210e168 221572008-01-16 Robert Millan <rmh@aybabtu.com>
22158
22159 * include/grub/i386/linuxbios/memory.h
22160 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
22161 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
22162 receive `table_header' as argument. Instead, probe for it in the
22163 known memory ranges where it can be present.
22164 (grub_available_iterate): Do not pass a fixed `table_header' address
22165 to grub_linuxbios_table_iterate().
22166
3d04eab8 221672008-01-15 Robert Millan <rmh@aybabtu.com>
22168
22169 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
22170 * conf/i386-ieee1275.rmk: New file.
22171 * include/grub/i386/ieee1275/console.h: Likewise.
22172 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
22173 * include/grub/i386/ieee1275/kernel.h: Likewise.
22174 * include/grub/i386/ieee1275/time.h: Likewise.
22175 * kern/i386/ieee1275/init.c: Likewise.
22176 * kern/i386/ieee1275/startup.S: Likewise.
22177
d1bc1b73 221782008-01-15 Robert Millan <rmh@aybabtu.com>
22179
22180 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
22181 when pointers are 32-bit (but still do set it to one when they are
22182 64-bit).
22183
66a65807 221842008-01-15 Robert Millan <rmh@aybabtu.com>
22185
22186 * include/grub/ieee1275/ieee1275.h
22187 (grub_ieee1275_get_integer_property): New function prototype.
22188
22189 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
22190 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 22191 grub_ieee1275_get_property() to handle endianness.
66a65807 22192
22193 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
22194 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 22195 where appropriate.
66a65807 22196 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
22197 (grub_map): Likewise.
22198 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
22199
a83ccafd 222002008-01-15 Bean <bean123ch@gmail.com>
22201
22202 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
22203 (grub_script_execute_cmdline): Reset grub_errno.
22204
22205 * normal/main.c (read_config_file): Reset grub_errno.
22206
22207 * normal/parse.y (script_init): New.
22208 (script): Move function and menuentry here.
22209 (delimiter): New.
22210 (command): Add delimiter at the end of command.
22211 (commands): Adjust to match the new command.
22212 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 22213 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 22214 (if): Use the new commands.
22215
22216 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
22217
df6ecfc6 222182008-01-15 Robert Millan <rmh@aybabtu.com>
22219
22220 * normal/menu.c (run_menu): Move timeout message from here ...
22221 (print_timeout): ... to here.
22222 (run_menu): Use print_timeout() once during initial draw to print
22223 the whole message, and again in every clock tick to update only
22224 the number of seconds.
22225
87ae25eb 222262008-01-15 Robert Millan <rmh@aybabtu.com>
22227
22228 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
22229 actual size of `available' from grub_ieee1275_get_property(), and
22230 restrict parsing to that bound.
22231
47bf09a4 222322008-01-15 Christian Franke <franke@computer.org>
22233
22234 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
22235 (argp_program_version): Remove variable.
22236 (argp_program_bug_address): Likewise.
22237 (options): Convert from struct argp_option to struct option.
22238 (struct arguments): Remove.
22239 (parse_opt): Remove.
22240 (usage): New function.
22241 (main): Replace struct args members by simple variables.
22242 Replace argp_parse() by getopt_long().
22243 Add switch to evaluate options.
22244 Add missing "(...)" around root_dev in prefix string.
22245
c86f1469 222462008-01-14 Robert Millan <rmh@aybabtu.com>
22247
22248 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
22249 for grub_ieee1275_exit(), in order to improve portability.
22250
e622c559 222512008-01-14 Robert Millan <rmh@aybabtu.com>
22252
22253 * util/grub.d/10_linux.in (prefix): Define.
22254 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
22255
44cb1ec8 222562008-01-13 Pavel Roskin <proski@gnu.org>
22257
22258 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
22259 grub_errno if no errors have been detected.
22260
1eb8c802 222612008-01-12 Robert Millan <rmh@aybabtu.com>
22262
22263 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
22264 (grub_util_get_dev_abstraction): New function prototype.
22265
22266 * util/getroot.c: Include `<grub/util/getroot.h>'
22267 (grub_util_get_grub_dev): Move detection of abstraction type to ...
22268 (grub_util_get_dev_abstraction): ... here (new function).
22269
22270 * util/grub-probe.c: Convert PRINT_* to an enum. Add
22271 `PRINT_ABSTRACTION'.
22272 (probe): Probe for abstraction type when requested.
22273 (main): Understand `--target=abstraction'.
22274
22275 * util/i386/efi/grub-install.in: Add abstraction module to core
22276 image when it is found to be necessary.
22277 * util/i386/pc/grub-install.in: Likewise.
22278 * util/powerpc/ieee1275/grub-install.in: Likewise.
22279
22280 * util/update-grub_lib.in (font_path): Return system path without
22281 converting to GRUB path.
22282 * util/update-grub.in: Convert system path returned by font_path()
22283 to a GRUB path. Use `grub-probe -t abstraction' to determine what
22284 abstraction module is needed for loading fonts (if any). Export
22285 that as `GRUB_PRELOAD_MODULES'.
22286 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
22287 insmod commands).
22288
52bd3de9 222892008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
22290
22291 Remove some unused code from reiserfs.
f19dbdb7 22292
52bd3de9 22293 * fs/reiserfs.c (struct grub_reiserfs_key)
22294 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
22295 (struct grub_reiserfs_node_body): Removed.
22296 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
22297 Likewise.
22298 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
22299 Likewise.
22300 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
22301 Likewise.
22302 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
22303 Likewise.
22304 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
22305 Likewise.
22306 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
22307 Likewise.
22308 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
22309 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
22310 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
22311
2f80039d 223122008-01-10 Robert Millan <rmh@aybabtu.com>
22313
22314 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
22315 Determines if a file is garbage left by packaging systems, etc.
22316 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
22317 for processing /etc/grub.d scripts.
22318 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
22319 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
22320 as a condition for processing Linux images.
22321
87888032 223222008-01-10 Pavel Roskin <proski@gnu.org>
22323
22324 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
22325 to compile reiserfs.c on PowerPC.
22326
7e54fced 223272008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 22328
22329 * kern/device.c (grub_device_iterate): Do not abort device iteration
22330 when one of the devices cannot be opened.
22331 * kern/disk.c (grub_disk_open): Do not account previous failures of
22332 unrelated functions when grub_errno is checked for.
22333
5aa541e6 223342008-01-08 Robert Millan <rmh@aybabtu.com>
22335
22336 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
22337 `! grub_linux_is_bzimage', change order of address comparison to make
22338 it more intuitive, and improve "too big zImage" error message.
22339
7076340d 223402008-01-08 Robert Millan <rmh@aybabtu.com>
22341
22342 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
22343 `$(update-grub_DATA)'.
22344 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
22345 targets.
22346
9ca70333 223472008-01-07 Robert Millan <rmh@aybabtu.com>
22348
22349 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
22350 which instruction is modified by grub-setup during installation
22351 (since it wasn't obvious by only looking at this file).
22352
38ccf575 223532008-01-07 Robert Millan <rmh@aybabtu.com>
22354
22355 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
22356 listing actual TODO items.
22357
f5db4291 223582008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
22359
868967cf 22360 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
22361 correctly.
22362 (grub_reiserfs_get_key_offset): Likewise.
22363 (grub_reiserfs_set_key_offset): Likewise.
22364 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 22365 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 22366
22367 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
22368 better to remove the bitfield version completely.
f19dbdb7 22369
868967cf 223702008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 22371
f5db4291 22372 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
22373 allocated from the heap, due to the fshelp implementation.
22374 (grub_reiserfs_dir): Free NODE, due to the same reason.
22375
492e6d9d 223762008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
22377
22378 Mostly from Vincent Pelletier:
f19dbdb7 22379
492e6d9d 22380 * fs/reiserfs.c: New file.
f19dbdb7 22381
492e6d9d 22382 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
22383 (reiserfs_mod_SOURCES): New variable.
22384 (reiserfs_mod_CFLAGS): Likewise.
22385 (reiserfs_mod_LDFLAGS): Likewise.
22386
22387 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
22388 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
22389 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
22390 normal/color.c.
22391
9ce3e7c1 223922008-01-06 Robert Millan <rmh@aybabtu.com>
22393
22394 * normal/color.c: Remove `<grub/env.h>'.
22395
f3b58148 223962008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
22397
22398 * include/grub/normal.h: Include <grub/env.h>.
22399
7ac3bcfa 224002008-01-05 Robert Millan <rmh@aybabtu.com>
22401
22402 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
22403 usage example with `(hd0,1)'.
fb358190 22404 Reported by Samuel Thibault.
7ac3bcfa 22405
c8ee99d7 224062008-01-05 Robert Millan <rmh@aybabtu.com>
22407
22408 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
22409 (grub_linux_boot_zimage): Rename to ...
22410 (grub_linux_boot): ... this.
22411 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
22412 (grub_linux_boot_zimage): Conditionalize zImage copy.
22413
22414 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
22415 (grub_linux_boot_bzimage): Remove prototype.
22416 (grub_linux_boot_zimage): Rename to ...
22417 (grub_linux_boot): ... this.
22418
22419 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
22420 (grub_linux_boot): Remove function.
22421
0ece25b1 224222008-01-05 Robert Millan <rmh@aybabtu.com>
22423
22424 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
22425 (grub_env_write_color_highlight): Likewise.
22426 (grub_wait_after_message): Likewise.
22427
22428 * normal/color.c: New file.
22429
22430 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
22431 (normal_mod_DEPENDENCIES): Likewise.
22432
22433 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
22434 (normal_mod_DEPENDENCIES): Likewise.
22435
22436 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
22437 (normal_mod_DEPENDENCIES): Likewise.
22438
22439 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
22440 (normal_mod_DEPENDENCIES): Likewise.
22441
22442 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
22443 for waiting after a message is printed.
22444 * normal/main.c (read_config_file): Likewise.
22445 (grub_normal_init): Register grub_env_write_color_normal() and
22446 grub_env_write_color_highlight() hooks. Mark `color_normal' and
22447 `color_highlight' variables as global.
22448
22449 * normal/menu.c (grub_wait_after_message): New function.
22450 (grub_color_menu_normal): New variable. Replaces ...
22451 (GRUB_COLOR_MENU_NORMAL): ... this macro.
22452 (grub_color_menu_highlight): New variable. Replaces ...
22453 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
22454 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
22455 `GRUB_TERM_COLOR_STANDARD'.
22456 (print_message): Use `grub_setcolorstate' to reload colors. Rename
22457 `normal_code' and `highlight_code' to `old_color_normal' and
22458 `old_color_highlight', respectively.
22459 (grub_menu_init_page): Update colors when drawing the menu, based on
22460 `menu_color_normal' and `menu_color_highlight' variables.
22461 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
22462 a message is printed.
22463
182dd4e5 224642008-01-05 Robert Millan <rmh@aybabtu.com>
22465
22466 * kern/env.c (grub_env_context_open): Propagate hooks for global
22467 variables to new context.
22468
22469 * kern/main.c (grub_set_root_dev): Export `root' variable.
22470
ddf8f6ad 224712008-01-05 Robert Millan <rmh@aybabtu.com>
22472
22473 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 22474 discs unconditionally, since udev and others have options to provide
ddf8f6ad 22475 them.
22476
d8b43d9b 224772008-01-05 Robert Millan <rmh@aybabtu.com>
22478
22479 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
22480
2bff2de3 224812008-01-04 Christian Franke <franke@computer.org>
22482
22483 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
22484 of eisa_mmap.
22485
97eab917 224862008-01-03 Pavel Roskin <proski@gnu.org>
22487
22488 * kern/i386/linuxbios/init.c: Put "void" to all function
22489 declarations with no arguments.
22490 * kern/powerpc/ieee1275/init.c: Likewise.
22491 * term/i386/pc/at_keyboard.c: Likewise.
22492 * term/i386/pc/vga_text.c: Likewise.
22493 * util/grub-mkdevicemap.c: Likewise.
22494
b9416d00 224952008-01-02 Robert Millan <rmh@aybabtu.com>
22496
22497 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
22498 message when loaded image is out of bounds.
22499 (grub_multiboot_load_elf64): Likewise.
22500
92695df9 225012008-01-02 Pavel Roskin <proski@gnu.org>
22502
22503 * util/grub.d/10_linux.in: Try version without ".old" when
22504 looking for initrd. It's better to use initrd from the newer
22505 kernel of the same version than no initrd at all.
22506
d98d9cad 225072008-01-01 Robert Millan <rmh@aybabtu.com>
22508
22509 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
22510
dbfdce36 225112008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
22512
f19dbdb7 22513 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 22514 grub_video_get_active_render_target.
22515 (grub_video_adapter): Added unmap_color and get_active_render_target.
22516
f19dbdb7 22517 * video/video.c: Added grub_video_unmap_color and
dbfdce36 22518 grub_video_get_active_render_target.
22519 (grub_video_get_info): Changed method to accept NULL pointer as an
22520 argument to allow detection of active video adapter.
22521
22522 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
22523 grub_video_vbe_unmap_color_int.
22524 Added grub_video_vbe_unmap_color and
22525 grub_video_vbe_get_active_render_target.
22526 (grub_video_vbe_adapter): Added unmap_color and
22527 get_active_render_target.
22528
f19dbdb7 22529 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 22530 with grub_video_vbe_unmap_color_int.
22531
22532 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
22533 (DEFAULT_NORMAL_COLOR): Likewise.
22534 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
22535 (DEFAULT_FG_COLOR): Removed.
22536 (DEFAULT_BG_COLOR): Likewise.
22537 (DEFAULT_CURSOR_COLOR): Changed value.
22538 (grub_virtual_screen): Added standard_color_setting,
22539 normal_color_setting, highlight_color_setting and term_color.
22540 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
22541 (bitmap_width): Added.
22542 (bitmap_height): Likewise.
22543 (bitmap): Likewise.
22544 (set_term_color): Likewise.
22545 (grub_virtual_screen_setup): Changed to use new terminal coloring
22546 settings.
22547 (grub_gfxterm_init): Added init for bitmap.
22548 (grub_gfxterm_fini): Added destroy for bitmap.
22549 (redraw_screen_rect): Updated to use background bitmap and new
22550 terminal coloring.
22551 (scroll_up): Added optimization for case when there is no bitmap.
22552 (grub_gfxterm_cls): Fixed to use correct background color.
22553 (grub_virtual_screen_setcolorstate): Changed to use new terminal
22554 coloring.
22555 (grub_virtual_screen_setcolor): Likewise.
22556 (grub_virtual_screen_getcolor): Added.
22557 (grub_gfxterm_background_image_cmd): Likewise.
22558 (grub_video_term): Added setcolor and getcolor.
22559 (MOD_INIT): Added registration of background_image command.
22560 (MOD_TERM): Added unregistration for background_image command.
22561
c3c20931 225622007-12-30 Pavel Roskin <proski@gnu.org>
22563
22564 * loader/multiboot_loader.c: Fix multiboot command
22565 unregistration. Fix all typos in the word "multiboot".
22566
df266716 225672007-12-29 Pavel Roskin <proski@gnu.org>
94239199 22568
22569 * util/grub.d/10_linux.in: Refactor search for initrd. Add
22570 support for initrd names used in Fedora.
22571
fc6e896c 225722007-12-26 Bean <bean123ch@gmail.com>
22573
22574 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
22575 (cpio_mod_SOURCES): New variable.
22576 (cpio_mod_CFLAGS): Likewise.
22577 (cpio_mod_LDFLAGS): Likewise.
22578
22579 * fs/cpio.c: New file.
22580
22581 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
22582
22583 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22584
22585 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
22586
22587 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22588
533110ad 225892007-12-25 Robert Millan <rmh@aybabtu.com>
22590
22591 * include/grub/term.h (struct grub_term): Add `getcolor' function.
22592 (grub_getcolor): New function.
22593
22594 * kern/term.c (grub_getcolor): New function.
22595 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
22596 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
22597 (print_entry): Set normal and highlight colors to
22598 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
22599 respectively, before printing and restore them to old
22600 values afterwards.
22601 (grub_menu_init_page): Likewise. Fill an additional colored space
22602 that would otherwise be left blank.
22603
22604 * term/efi/console.c (grub_console_getcolor): New function.
22605 (struct grub_console_term.getcolor): New variable.
22606 * term/i386/pc/console.c (grub_console_getcolor): New function.
22607 (struct grub_console_term.getcolor): New variable.
22608 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
22609 (struct grub_console_term.getcolor): New variable.
22610
22611 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
22612 (struct grub_console_term.setcolor): Remove variable.
22613 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
22614 (struct grub_console_term.setcolor): Remove variable.
22615 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
22616 (struct grub_console_term.setcolor): Remove variable.
22617 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
22618 (struct grub_console_term.setcolor): Remove variable.
22619
4931827f 226202007-12-25 Robert Millan <rmh@aybabtu.com>
22621
22622 * configure.ac: Search for possible unifont.hex locations, and
22623 define UNIFONT_HEX if found.
22624
22625 * Makefile.in (UNIFONT_HEX): Define variable.
22626 (DATA): Rename to ...
22627 (PKGLIB): ... this. Update all users.
22628 (PKGDATA): New variable.
22629 (pkgdata_IMAGES): Rename to ...
22630 (pkglib_IMAGES): ... this. Update all users.
22631 (pkgdata_MODULES): Rename to ...
22632 (pkglib_MODULES): ... this. Update all users.
22633 (pkgdata_PROGRAMS): Rename to ...
22634 (pkglib_PROGRAMS): ... this. Update all users.
22635 (pkgdata_DATA): Rename to ...
22636 (pkglib_DATA): ... this. Update all users.
22637 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
22638 (unicode.pff, ascii.pff): New rules.
22639 (all-local): Add `$(PKGDATA)' dependency.
22640 (install-local): Process `$(PKGDATA)'.
22641
22642 * util/update-grub_lib.in (font_path): Search for *.pff files in
22643 a few more locations, including `${pkgdata}'.
22644
57e57e31 226452007-12-23 Robert Millan <rmh@aybabtu.com>
22646
22647 Patch from Bean <bean123ch@gmail.com>:
22648 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
22649 `size'.
22650
4bc72aa9 226512007-12-21 Bean <bean123ch@gmail.com>
22652
22653 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
22654 (ntfscomp_mod_SOURCES): New variable.
22655 (ntfscomp_mod_CFLAGS): Likewise.
22656 (ntfscomp_mod_LDFLAGS): Likewise.
22657
22658 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
22659 (grub_probe_SOURCES): Likewise.
22660 (grub_emu_SOURCES): Likewise.
22661
22662 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
22663 (grub_emu_SOURCES): Likewise.
22664
22665 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
22666 (grub_emu_SOURCES): Likewise.
22667
22668 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
22669 (grub_emu_SOURCES): Likewise.
22670
22671 * fs/ntfs.c (grub_ntfscomp_func): New variable.
22672 (read_run_list): Renamed to grub_ntfs_read_run_list.
22673 (decomp_nextvcn): Moved to ntfscomp.c.
22674 (decomp_getch): Likewise.
22675 (decomp_get16): Likewise.
22676 (decomp_block): Likewise.
22677 (read_block): Likewise.
22678 (read_data): Partially moved to ntfscomp.c.
22679 (fixup): Change unsigned to grub_uint16_t.
22680 (read_mft): Change unsigned long to grub_uint32_t.
22681 (read_attr): Likewise.
22682 (read_data): Likewise.
22683 (read_run_data): Likewise.
22684 (read_run_list): Likewise.
22685 (read_mft): Likewise.
22686
22687 * fs/ntfscomp.c: New file.
22688
22689 * include/grub/ntfs.h: New file.
22690
af680a87 226912007-12-16 Robert Millan <rmh@aybabtu.com>
22692
22693 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
22694 IDE disk check, since Linux is known to support 20 IDE disks.
22695 Reported by Colin Watson.
22696
84be7599 226972007-12-15 Bean <bean123ch@gmail.com>
22698
22699 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
22700 (lnxboot_img_SOURCES): New variable.
22701 (lnxboot_img_ASFLAGS): Likewise.
22702 (lnxboot_img_LDFLAGS): Likewise.
22703
22704 * boot/i386/pc/lnxboot.S: New file.
22705
6af9db01 227062007-11-24 Pavel Roskin <proski@gnu.org>
22707
22708 * configure.ac: Test if '--build-id=none' is supported by the
22709 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
22710 objcopy to generate incorrect binary files (binutils
22711 2.17.50.0.18-1 as shipped by Fedora 8).
22712 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
22713 linking, so that build ID doesn't break the test.
22714
7361cfe6 227152007-11-24 Pavel Roskin <proski@gnu.org>
22716
22717 * include/grub/i386/time.h: use "void" in the argument list
22718 of grub_cpu_idle().
22719 * include/grub/powerpc/time.h: Likewise.
22720 * include/grub/sparc64/time.h: Likewise.
22721
1593e10c 227222007-11-18 Christian Franke <franke@computer.org>
22723
22724 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
22725 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
22726 This fixes the problem that function keys did not work in grub-emu.
22727
3b8db1a8 227282007-11-18 Christian Franke <franke@computer.org>
22729
22730 * disk/host.c (grub_host_open): Remove attribute unused from
22731 name parameter. Add check for "host". This fixes the problem
22732 that grub-emu does not find partitions.
22733
2e29408d 227342007-11-18 Christian Franke <franke@computer.org>
22735
22736 * util/hostfs.c (is_dir): New function.
22737 (grub_hostfs_dir): Handle missing dirent.d_type case.
22738 (grub_hostfs_read): Add missing fseek().
22739 (grub_hostfs_label): Clear label pointer. This fixes a crash
22740 of grub-emu on "ls (host)".
22741
398cd047 227422007-11-18 Christian Franke <franke@computer.org>
22743
22744 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
22745 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
22746 to 64 bit boundary by default.
22747
c405c391 227482007-11-18 Bean <bean123ch@gmail.com>
22749
22750 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
22751 (hexdump_mod_SOURCES): New variable.
22752 (hexdump_mod_CFLAGS): Likewise.
22753 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 22754
c405c391 22755 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
22756
22757 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
22758
22759 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
22760
22761 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
22762
22763 * include/grub/hexdump.h: New file.
22764
22765 * commands/hexdump.c: New file.
22766
5cced7fd 227672007-11-10 Robert Millan <rmh@aybabtu.com>
22768
22769 * commands/i386/pc/play.c (beep_off): Switch order of arguments
22770 in grub_outb() calls.
22771 (beep_on): Likewise.
22772
8b714eb0 227732007-11-10 Christian Franke <franke@computer.org>
22774
22775 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
22776 (grub_menu_run): Likewise.
22777
ce0f1839 227782007-11-10 Robert Millan <rmh@aybabtu.com>
22779
22780 * include/grub/i386/efi/machine.h: New file.
22781 * include/grub/i386/linuxbios/machine.h: Likewise.
22782 * include/grub/i386/pc/machine.h: Likewise.
22783 * include/grub/powerpc/ieee1275/machine.h: Likewise.
22784 * include/grub/sparc64/ieee1275/machine.h: Likewise.
22785
22786 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
22787 (serial_hw_io_addr): New variable.
22788 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
22789 instead of `(unsigned short *) 0x400'.
22790
270c237d 227912007-11-10 Bean <bean123ch@gmail.com>
22792
22793 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
22794
a87783bf 227952007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
22796
22797 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
22798 (vga_mod_SOURCES): Added.
22799 (vga_mod_CFLAGS): Likewise.
22800 (vga_mod_LDFLAGS): Likewise.
22801
22802 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
22803 grub_outb() calls.
22804 (set_map_mask): Likewise.
22805 (set_read_map): Likewise.
22806 (set_read_address): Likewise.
22807 (vga_font): Removed variable.
22808 (get_vga_glyph): Removed function.
22809 (invalidate_char): Likewise.
22810 (write_char): Changed to use grub_font_get_glyph() for font
22811 information.
22812 (grub_vga_putchar): Likewise.
22813 (grub_vga_getcharwidth): Likewise.
22814
6433b448 228152007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
22816
22817 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
22818 flags.
22819 (pxeboot_img_LDFLAGS): Likewise.
22820 (diskboot_img_LDFLAGS): Likewise.
22821 (kernel_img_LDFLAGS): Likewise.
22822
49178511 228232007-11-06 Robert Millan <rmh@aybabtu.com>
22824
22825 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
22826 in grub_outb() calls.
22827 (serial_hw_init): Likewise.
22828
53b052de 228292007-11-05 Robert Millan <rmh@aybabtu.com>
22830
22831 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
22832 spaces. Skip non-regular files.
22833
5ab33bba 228342007-11-05 Robert Millan <rmh@aybabtu.com>
22835
22836 * kern/disk.c (grub_disk_firmware_fini)
22837 (grub_disk_firmware_is_tainted): New variables.
22838
22839 * include/grub/disk.h (grub_disk_firmware_fini)
22840 (grub_disk_firmware_is_tainted): Likewise.
22841
22842 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
22843 (grub_disk_biosdisk_fini): ... to here.
22844 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
22845 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
22846 is set. Register grub_disk_biosdisk_fini() in
22847 `grub_disk_firmware_fini'.
22848
22849 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
22850 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
22851 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
22852 to finish existing firmware disk interface.
22853
22854 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
22855 (ata_mod_SOURCES): New variable.
22856 (ata_mod_CFLAGS): Likewise.
22857 (ata_mod_LDFLAGS): Likewise.
22858
0149ab7c 228592007-11-05 Robert Millan <rmh@aybabtu.com>
22860
22861 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
22862 (grub_ata_wait): Reimplement using grub_millisleep().
22863
22864 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
22865 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
22866
be7ac41e 228672007-11-03 Marco Gerards <marco@gnu.org>
22868
22869 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
22870 (CRTC_ADDR_PORT): New macro.
22871 (CRTC_DATA_PORT): Likewise.
22872 (CRTC_CURSOR): Likewise.
22873 (CRTC_CURSOR_ADDR_HIGH): Likewise.
22874 (CRTC_CURSOR_ADDR_LOW): Likewise.
22875 (update_cursor): New function.
22876 (grub_console_real_putchar): Call `update_cursor'.
22877 (grub_console_gotoxy): Likewise.
22878 (grub_console_cls): Set the default color when clearing the
22879 screen.
22880 (grub_console_setcursor): Implemented.
22881
bb06ab2e 228822007-11-03 Marco Gerards <marco@gnu.org>
22883
22884 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
22885 become activate.
22886 (grub_ata_pio_write): Likewise.
22887
22888 (grub_atapi_identify): Wait after issuing an ATA command.
22889 (grub_atapi_packet): Likewise.
22890 (grub_ata_identify): Likewise.
22891 (grub_ata_readwrite): Likewise.
22892
cf8f780b 228932007-11-03 Marco Gerards <marco@gnu.org>
22894
22895 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
22896 (grub_ata_pio_write): Likewise.
22897 (grub_ata_readwrite): Use `grub_error', instead of
22898 returning `grub_errno'.
22899
ed649e54 229002007-11-03 Marco Gerards <marco@gnu.org>
22901
22902 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
22903 grub_ata_pio_write once for every single sector, instead of for
22904 multiple sectors.
22905
ca25d8f0 229062007-10-31 Robert Millan <rmh@aybabtu.com>
22907
22908 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
22909
22910 * conf/i386-linuxbios.rmk: New file.
22911
22912 * kern/i386/pc/hardware.c: Likewise.
22913 * term/i386/pc/at_keyboard.c: Likewise.
22914 * term/i386/pc/vga_text.c: Likewise.
22915
22916 * include/grub/i386/linuxbios/boot.h: Likewise.
22917 * include/grub/i386/linuxbios/console.h: Likewise.
22918 * include/grub/i386/linuxbios/init.h: Likewise.
22919 * include/grub/i386/linuxbios/kernel.h: Likewise.
22920 * include/grub/i386/linuxbios/loader.h: Likewise.
22921 * include/grub/i386/linuxbios/memory.h: Likewise.
22922 * include/grub/i386/linuxbios/serial.h: Likewise.
22923 * include/grub/i386/linuxbios/time.h: Likewise.
22924
22925 * kern/i386/linuxbios/init.c: Likewise.
22926 * kern/i386/linuxbios/startup.S: Likewise.
22927 * kern/i386/linuxbios/table.c: Likewise.
22928
e911ecc1 229292007-10-31 Marco Gerards <marco@gnu.org>
22930
22931 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
22932 (ata_mod_SOURCES): New variable.
22933 (ata_mod_CFLAGS): Likewise.
22934 (ata_mod_LDFLAGS): Likewise.
22935
22936 * disk/ata.c: New file.
22937
22938 * include/grub/disk.h (grub_disk_dev_id): Add
22939 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 22940
7f66d0e0 229412007-10-31 Robert Millan <rmh@aybabtu.com>
22942
22943 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
22944 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
22945
22946 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
22947 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
22948
22949 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
22950 `<grub/types.h>'.
22951
22952 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
22953
5cd7dd46 229542007-10-27 Robert Millan <rmh@aybabtu.com>
22955
3236ca65 22956 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 22957
2ebfc90f 229582007-10-22 Robert Millan <rmh@aybabtu.com>
22959
22960 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
22961 `"../realmode.S"'.
22962 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
22963
73fcb0f3 229642007-10-22 Robert Millan <rmh@aybabtu.com>
22965
22966 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
22967 (pkgdata_MODULES): Add `biosdisk.mod'.
22968 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
22969 variables.
22970
22971 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
22972 (grub_biosdisk_init): Replace with ...
22973 (GRUB_MOD_INIT(biosdisk)): ... this.
22974 (grub_biosdisk_fini): Replace with ...
22975 (GRUB_MOD_FINI(biosdisk)): ... this.
22976
22977 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
22978 (grub_machine_init): Remove call to grub_biosdisk_init().
22979 (grub_machine_fini): Remove call to grub_machine_fini().
22980
22981 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
22982
3381d274 229832007-10-22 Robert Millan <rmh@aybabtu.com>
22984
22985 * include/grub/time.h: New file.
22986 * include/grub/i386/time.h: Likewise.
22987 * include/grub/powerpc/time.h: Likewise.
22988 * include/grub/sparc64/time.h: Likewise.
22989
22990 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
22991 instances to ...
22992 (KERNEL_MACHINE_TIME_HEADER): ... this.
22993 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
22994 instances to ...
22995 (KERNEL_MACHINE_TIME_HEADER): ... this.
22996 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
22997 instances to ...
22998 (KERNEL_MACHINE_TIME_HEADER): ... this.
22999
23000 * kern/i386/efi/init.c: Include `<grub/time.h>'.
23001 (grub_millisleep): New function.
23002 * kern/i386/pc/init.c: Include `<grub/time.h>'.
23003 (grub_millisleep): New function.
23004 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
23005 Remove `grub/machine/time.h' include.
23006 (grub_millisleep): New function.
23007 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
23008 Remove `grub/machine/time.h' include.
23009 (grub_millisleep): New function.
23010
23011 * include/grub/misc.h (grub_div_roundup): New function.
23012
23013 * kern/misc.c: Include `<grub/time.h>'.
23014 (grub_millisleep_generic): New function.
23015
23016 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
23017 Add `time.h'.
23018 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
23019 Add `time.h'.
23020 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
23021 `machine/time.h'. Add `time.h'.
23022 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
23023
a39a0312 230242007-10-21 Robert Millan <rmh@aybabtu.com>
23025
23026 * include/grub/misc.h (grub_max): New function.
23027
2aad70e2 230282007-10-21 Robert Millan <rmh@aybabtu.com>
23029
23030 * util/misc.c (grub_util_info): Call fflush() before returning.
23031
54b71c4b 230322007-10-20 Robert Millan <rmh@aybabtu.com>
23033
23034 * genmk.rb (Image): Copy `extra_flags' from here ...
23035 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
23036
23037 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
23038 to `argc' and `args' arguments.
23039
a979f513 230402007-10-17 Robert Millan <rmh@aybabtu.com>
23041
23042 * kern/i386/loader.S: New file.
23043
23044 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
23045 * kern/i386/loader.S (grub_linux_prot_size)... to here.
23046 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
23047 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
23048 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
23049 * kern/i386/loader.S (grub_linux_real_addr)... to here.
23050 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
23051 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
23052 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
23053 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
23054 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
23055 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
23056 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
23057 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
23058
23059 * kern/i386/realmode.S: New file.
23060
23061 * kern/i386/pc/startup.S (protstack): Moved from here ...
23062 * kern/i386/realmode.S (protstack)... to here.
23063 * kern/i386/pc/startup.S (gdt): Moved from here ...
23064 * kern/i386/realmode.S (gdt)... to here.
23065 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
23066 * kern/i386/realmode.S (prot_to_real)... to here.
23067
23068 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
23069 `kern/i386/realmode.S'.
23070
825fc8fd 230712007-10-17 Robert Millan <rmh@aybabtu.com>
23072
23073 * include/grub/i386/loader.h: New file.
23074
23075 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
23076 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
23077 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
23078 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
23079 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
23080 * include/grub/i386/loader.h (grub_linux_prot_size)
23081 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
23082 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
23083 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
23084 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
23085
23086 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
23087
e179b2f4 230882007-10-15 Robert Millan <rmh@aybabtu.com>
23089
23090 * normal/misc.c (grub_normal_print_device_info): Do not probe for
23091 filesystem when dev->disk is unset.
23092 Do probe for filesystem even when dev->disk->has_partitions is set.
23093 In case a filesystem is found, always report it.
23094 In case it isn't, if dev->disk->has_partitions is set, report that
23095 a partition table was found instead of reporting that no filesystem
23096 could be identified.
23097
5db82af6 230982007-10-12 Robert Millan <rmh@aybabtu.com>
23099
23100 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
23101 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
23102
68f6ac74 23103 * include/grub/types.h (grub_host_to_target16): New macro.
23104 (grub_host_to_target32): Likewise.
23105 (grub_host_to_target64): Likewise.
23106 (grub_target_to_host16): Likewise.
23107 (grub_target_to_host32): Likewise.
23108 (grub_target_to_host64): Likewise.
5db82af6 23109
23110 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
23111 Renamed from to ...
23112 (GRUB_MOD_ALIGN): ...this. Update all users.
23113
68f6ac74 23114 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
23115 grub_host_to_target32.
23116 Replace grub_be_to_cpu32 with grub_target_to_host32.
23117 (load_modules): Likewise.
23118 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
23119 Replace grub_be_to_cpu32 with grub_target_to_host32.
23120 Replace grub_cpu_to_be16 with grub_host_to_target16.
23121 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 23122
3cf497cc 231232007-10-12 Robert Millan <rmh@aybabtu.com>
23124
23125 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
23126 * util/elf/grub-mkimage.c: ... here.
23127
23128 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
23129 `util/powerpc/ieee1275/grub-mkimage.c'.
23130
c8cc3692 231312007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 23132
c8cc3692 23133 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
23134 and make it easier to figure out.
23135 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
23136 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
23137 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
23138 leave us with less than HEAP_MIN_SIZE total heap.
23139 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 23140
5c58b791 231412007-10-03 Robert Millan <rmh@aybabtu.com>
23142
23143 * include/grub/i386/io.h: New file.
23144 * commands/i386/pc/play.c (inb): Removed.
23145 (outb): Removed.
23146 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
23147 with grub_outb().
afcd2ef8 23148 * term/i386/pc/serial.c (inb): Removed.
23149 (outb): Removed.
23150 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
23151 with grub_outb().
23152 * term/i386/pc/vga.c (inb): Removed.
23153 (outb): Removed.
23154 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
23155 with grub_outb().
5c58b791 23156
1a477ed6 231572007-10-02 Robert Millan <rmh@aybabtu.com>
23158
23159 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
23160 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23161 Reported by Marcin Kurek.
23162
6b5d80fa 231632007-09-07 Robert Millan <rmh@aybabtu.com>
23164
23165 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
23166 SmartFirmware version updates (as released by Sven Luther), and avoid
23167 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
23168 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
23169 known broken.
23170
5618afbf 231712007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
23172
23173 From Hitoshi Ozeki:
23174 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
23175 when merging two regions.
23176
6139dcd9 231772007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
23178
508e39ee 23179 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
23180 * normal/completion.c (grub_normal_do_completion): Likewise.
23181 Reported by Hitoshi Ozeki.
23182
231832007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 23184
6139dcd9 23185 Do not use devices at boot in chainloading.
f19dbdb7 23186
6139dcd9 23187 * loader/i386/pc/chainloader.c (boot_drive): New variable.
23188 (boot_part_addr): Likewise.
23189 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
23190 with BOOT_DRIVE and BOOT_PART_ADDR.
23191 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
23192 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
23193
38da6516 231942007-08-29 Robert Millan <rmh@aybabtu.com>
23195
23196 Patch from Simon Peter <dn.tlp@gmx.net>:
23197 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
23198 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
23199 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
23200 util/i386/pc/grub-setup.c_DEPENDENCIES.
23201 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
23202 util/grub-probe.c_DEPENDENCIES.
23203 * conf/powerpc-ieee1275.rmk: Likewise.
23204
29d0928c 232052007-08-28 Robert Millan <rmh@aybabtu.com>
23206
23207 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
23208 to tell grub-mkdevicemap how to name devices.
23209 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
23210 feature).
23211
23212 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
23213 util/i386/get_disk_name.c.
23214 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
23215 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
23216 util/ieee1275/get_disk_name.c.
23217
23218 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
23219
23220 * DISTLIST: Add util/i386/get_disk_name.c and
23221 util/ieee1275/get_disk_name.c.
23222
23223 * util/grub-mkdevicemap.c: Replace device naming logic with
23224 grub_util_get_disk_name() calls.
23225
5a0d3cca 232262007-08-20 Robert Millan <rmh@aybabtu.com>
23227
23228 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
23229 (so that it works for both plural and singular quantities).
23230
8b72db2f 232312007-08-05 Robert Millan <rmh@aybabtu.com>
23232
23233 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
23234 so that [xz] isn't taken into account when determining order.
23235
352466bf 232362007-08-02 Marco Gerards <marco@gnu.org>
23237
23238 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
23239 `include/multiboot2.h', `include/grub/elfload.h',
23240 `include/multiboot.h', `include/grub/multiboot.h',
23241 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
23242 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
23243 `kern/elf.c', `loader/multiboot_loader.c',
23244 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
23245 `loader/i386/pc/multiboot2.c',
23246 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
23247 `util/i386/pc/grub-mkrescue.in'. Remove
23248 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
23249 `include/grub/i386/pc/util/biosdisk.h' and
23250 `include/grub/powerpc/ieee1275/multiboot.h'.
23251
8f096014 232522007-08-02 Bean <bean123ch@gmail.com>
23253
23254 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
23255 (ntfs_mod_SOURCES): New variable.
23256 (ntfs_mod_CFLAGS): Likewise.
23257 (ntfs_mod_LDFLAGS): Likewise.
23258
23259 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
23260 (grub_probe_SOURCES): Likewise.
23261 (grub_emu_SOURCES): Likewise.
23262
23263 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
23264 (grub_emu_SOURCES): Likewise.
23265
23266 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
23267 (grub_emu_SOURCES): Likewise.
f19dbdb7 23268
8f096014 23269 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
23270
23271 * fs/ntfs.c: New file.
23272
9959f7db 232732007-08-02 Bean <bean123ch@gmail.com>
23274
23275 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
23276
23277 * file.h (grub_file): Likewise.
23278
23279 * fshelp.h (grub_fshelp_read_file): Likewise.
23280
23281 * util/i386/pc/grub-setup.c (setup): Likewise.
23282 (save_first_sector): Likewise.
23283 (save_blocklists): Likewise.
f19dbdb7 23284
9959f7db 23285 * fs/affs.c (grub_affs_read_file): Likewise.
23286
23287 * fs/ext2.c (grub_ext2_read_file): Likewise.
23288
23289 * fs/fat.c (grub_fat_read_data): Likewise.
23290
23291 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
23292
23293 * fs/hfs.c (grub_hfs_read_file): Likewise.
23294
23295 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
23296
23297 * fs/jfs.c (grub_jfs_read_file): Likewise.
23298
23299 * fs/minix.c (grub_minix_read_file): Likewise.
23300
23301 * fs/sfs.c (grub_sfs_read_file): Likewise.
23302
23303 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 23304
9959f7db 23305 * fs/xfs.c (grub_xfs_read_file): Likewise.
23306
23307 * command/blocklist.c (read_blocklist): Likewise.
23308 (print_blocklist): Likewise.
23309
0a203f83 233102007-08-02 Marco Gerards <marco@gnu.org>
23311
23312 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
23313 `util/hostfs.c'.
23314
23315 * disk/host.c: New file.
23316
23317 * util/hostfs.c: Likewise.
23318
23319 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
23320 return `GRUB_ERR_BAD_FS'.
23321 * fs/sfs.c (grub_sfs_mount): Likewise.
23322 * fs/xfs.c (grub_xfs_mount): Likewise.
23323
23324 * include/grub/disk.h (enum grub_disk_dev_id): Add
23325 `GRUB_DISK_DEVICE_HOST_ID'.
23326
23327 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
23328
e5dfe777 233292007-07-24 Jerone Young <jerone@gmail.com>
23330
f19dbdb7 23331 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 23332 modules for compilation.
23333 * conf/powerpc-ieee1275.rmk: Likewise.
23334
23335 * include/multiboot.h: Move multiboot definitions to one file. Rename
23336 many definitions to not get grub specific.
23337 * include/multiboot2.h: Create header with multiboot 2 definitions.
23338 * include/grub/multiboot.h: Header for grub specific function
23339 prototypes and definitions.
23340 * include/grub/multiboot2.h: Likewise.
23341 * include/grub/multiboot_loader.h: Likewise.
23342 * include/grub/i386/pc/multiboot.h: Removed.
23343 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
23344
23345 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
23346 and 2 to allow for one multiboot and module commands.
23347 * loader/multiboot2.c: Add multiboot2 functionality.
23348 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
23349 and definition names.
23350 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
23351 2 functions.
23352 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
23353 ieee1275 specific multiboot2 code.
23354
23355 * kern/i386/pc/startup.S: Change headers and definition names for
23356 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
23357
daf0f0ba 233582007-07-22 Robert Millan <rmh@aybabtu.com>
23359
23360 * geninitheader.sh: Process file specified in first parameter rather
23361 than hardcoding grub_modules_init.lst.
fe6b695a 23362 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 23363 than hardcoding grub_modules_init.h.
23364
23365 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
23366 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
23367 grub_probe_init.[ch] and grub_setup_init.[ch].
23368
23369 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
23370 grub_modules_init.h with grub_emu_init.h.
23371 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
23372 grub_probe_init.[ch] files.
23373 * conf/i386-efi.rmk: Likewise.
23374 * conf/i386-pc.rmk: Likewise.
23375 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
23376 grub_setup_init.[ch] files.
23377
23378 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
23379 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
23380 to initialize modules rather than a list of hardcoded functions.
23381 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
23382 grub_init_all() to initialize modules rather than a list of hardcoded
23383 functions.
23384
54cdc1cc 233852007-07-22 Robert Millan <rmh@aybabtu.com>
23386
23387 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
23388 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
23389
ad0686cc 233902007-07-22 Robert Millan <rmh@aybabtu.com>
23391
23392 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
23393 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
23394 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
23395 flag when running on SmartFirmware.
23396 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
23397 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
23398 was set.
23399
23400 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
23401 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
23402 rather than decreasing it.
23403
23404 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
23405 there's not enough space to do it, fail in the same way as when it
23406 can't be done because there are no partitions.
23407
23408 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
23409 when nvsetenv failed.
23410
969c02ec 234112007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
23412
23413 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
23414 because this rule is automatically generated.
23415 (grub-mkrescue): Removed for the same reason as above.
23416
5a79f472 234172007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
23418
23419 Migrate to GNU General Public License Version 3.
f19dbdb7 23420
5a79f472 23421 * COPYING: Replaced with the plain text version of GPLv3.
23422
23423 * config.guess: Updated from gnulib.
23424 * config.sub: Likewise.
23425
23426 * geninit.sh: Output a GPLv3 copyright notice.
23427 * geninitheader.sh: Likewise.
23428 * genmodsrc.sh: Likewise.
23429 * gensymlist.sh.in: Likewise.
23430
23431 * boot/i386/pc/boot.S: Upgraded to GPLv3.
23432 * boot/i386/pc/diskboot.S: Likewise.
23433 * boot/i386/pc/pxeboot.S: Likewise.
23434 * commands/blocklist.c: Likewise.
23435 * commands/boot.c: Likewise.
23436 * commands/cat.c: Likewise.
23437 * commands/cmp.c: Likewise.
23438 * commands/configfile.c: Likewise.
23439 * commands/echo.c: Likewise.
23440 * commands/help.c: Likewise.
23441 * commands/ls.c: Likewise.
23442 * commands/search.c: Likewise.
23443 * commands/terminal.c: Likewise.
23444 * commands/test.c: Likewise.
23445 * commands/videotest.c: Likewise.
23446 * commands/i386/cpuid.c: Likewise.
23447 * commands/i386/pc/halt.c: Likewise.
23448 * commands/i386/pc/play.c: Likewise.
23449 * commands/i386/pc/reboot.c: Likewise.
23450 * commands/i386/pc/vbeinfo.c: Likewise.
23451 * commands/i386/pc/vbetest.c: Likewise.
23452 * commands/ieee1275/halt.c: Likewise.
23453 * commands/ieee1275/reboot.c: Likewise.
23454 * commands/ieee1275/suspend.c: Likewise.
23455 * disk/loopback.c: Likewise.
23456 * disk/lvm.c: Likewise.
23457 * disk/raid.c: Likewise.
23458 * disk/efi/efidisk.c: Likewise.
23459 * disk/i386/pc/biosdisk.c: Likewise.
23460 * disk/ieee1275/ofdisk.c: Likewise.
23461 * font/manager.c: Likewise.
23462 * fs/affs.c: Likewise.
23463 * fs/ext2.c: Likewise.
23464 * fs/fat.c: Likewise.
23465 * fs/fshelp.c: Likewise.
23466 * fs/hfs.c: Likewise.
23467 * fs/hfsplus.c: Likewise.
23468 * fs/iso9660.c: Likewise.
23469 * fs/jfs.c: Likewise.
23470 * fs/minix.c: Likewise.
23471 * fs/sfs.c: Likewise.
23472 * fs/ufs.c: Likewise.
23473 * fs/xfs.c: Likewise.
23474 * hello/hello.c: Likewise.
23475 * include/grub/acorn_filecore.h: Likewise.
23476 * include/grub/arg.h: Likewise.
23477 * include/grub/bitmap.h: Likewise.
23478 * include/grub/boot.h: Likewise.
23479 * include/grub/cache.h: Likewise.
23480 * include/grub/device.h: Likewise.
23481 * include/grub/disk.h: Likewise.
23482 * include/grub/dl.h: Likewise.
23483 * include/grub/elfload.h: Likewise.
23484 * include/grub/env.h: Likewise.
23485 * include/grub/err.h: Likewise.
23486 * include/grub/file.h: Likewise.
23487 * include/grub/font.h: Likewise.
23488 * include/grub/fs.h: Likewise.
23489 * include/grub/fshelp.h: Likewise.
23490 * include/grub/gzio.h: Likewise.
23491 * include/grub/hfs.h: Likewise.
23492 * include/grub/kernel.h: Likewise.
23493 * include/grub/loader.h: Likewise.
23494 * include/grub/lvm.h: Likewise.
23495 * include/grub/misc.h: Likewise.
23496 * include/grub/mm.h: Likewise.
23497 * include/grub/net.h: Likewise.
23498 * include/grub/normal.h: Likewise.
23499 * include/grub/parser.h: Likewise.
23500 * include/grub/partition.h: Likewise.
23501 * include/grub/pc_partition.h: Likewise.
23502 * include/grub/raid.h: Likewise.
23503 * include/grub/rescue.h: Likewise.
23504 * include/grub/script.h: Likewise.
23505 * include/grub/setjmp.h: Likewise.
23506 * include/grub/symbol.h: Likewise.
23507 * include/grub/term.h: Likewise.
23508 * include/grub/terminfo.h: Likewise.
23509 * include/grub/tparm.h: Likewise.
23510 * include/grub/types.h: Likewise.
23511 * include/grub/video.h: Likewise.
23512 * include/grub/efi/api.h: Likewise.
23513 * include/grub/efi/chainloader.h: Likewise.
23514 * include/grub/efi/console.h: Likewise.
23515 * include/grub/efi/console_control.h: Likewise.
23516 * include/grub/efi/disk.h: Likewise.
23517 * include/grub/efi/efi.h: Likewise.
23518 * include/grub/efi/pe32.h: Likewise.
23519 * include/grub/efi/time.h: Likewise.
23520 * include/grub/i386/linux.h: Likewise.
23521 * include/grub/i386/setjmp.h: Likewise.
23522 * include/grub/i386/types.h: Likewise.
23523 * include/grub/i386/efi/kernel.h: Likewise.
23524 * include/grub/i386/efi/loader.h: Likewise.
23525 * include/grub/i386/efi/time.h: Likewise.
23526 * include/grub/i386/pc/biosdisk.h: Likewise.
23527 * include/grub/i386/pc/boot.h: Likewise.
23528 * include/grub/i386/pc/chainloader.h: Likewise.
23529 * include/grub/i386/pc/console.h: Likewise.
23530 * include/grub/i386/pc/init.h: Likewise.
23531 * include/grub/i386/pc/kernel.h: Likewise.
23532 * include/grub/i386/pc/loader.h: Likewise.
23533 * include/grub/i386/pc/memory.h: Likewise.
23534 * include/grub/i386/pc/multiboot.h: Likewise.
23535 * include/grub/i386/pc/serial.h: Likewise.
23536 * include/grub/i386/pc/time.h: Likewise.
23537 * include/grub/i386/pc/vbe.h: Likewise.
23538 * include/grub/i386/pc/vbeblit.h: Likewise.
23539 * include/grub/i386/pc/vbefill.h: Likewise.
23540 * include/grub/i386/pc/vbeutil.h: Likewise.
23541 * include/grub/i386/pc/vga.h: Likewise.
23542 * include/grub/ieee1275/ieee1275.h: Likewise.
23543 * include/grub/ieee1275/ofdisk.h: Likewise.
23544 * include/grub/powerpc/libgcc.h: Likewise.
23545 * include/grub/powerpc/setjmp.h: Likewise.
23546 * include/grub/powerpc/types.h: Likewise.
23547 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
23548 * include/grub/powerpc/ieee1275/console.h: Likewise.
23549 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
23550 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23551 * include/grub/powerpc/ieee1275/loader.h: Likewise.
23552 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
23553 * include/grub/powerpc/ieee1275/time.h: Likewise.
23554 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
23555 * include/grub/sparc64/libgcc.h: Likewise.
23556 * include/grub/sparc64/setjmp.h: Likewise.
23557 * include/grub/sparc64/types.h: Likewise.
23558 * include/grub/sparc64/ieee1275/console.h: Likewise.
23559 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
23560 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23561 * include/grub/sparc64/ieee1275/time.h: Likewise.
23562 * include/grub/util/biosdisk.h: Likewise.
23563 * include/grub/util/getroot.h: Likewise.
23564 * include/grub/util/lvm.h: Likewise.
23565 * include/grub/util/misc.h: Likewise.
23566 * include/grub/util/raid.h: Likewise.
23567 * include/grub/util/resolve.h: Likewise.
23568 * io/gzio.c: Likewise.
23569 * kern/device.c: Likewise.
23570 * kern/disk.c: Likewise.
23571 * kern/dl.c: Likewise.
23572 * kern/elf.c: Likewise.
23573 * kern/env.c: Likewise.
23574 * kern/err.c: Likewise.
23575 * kern/file.c: Likewise.
23576 * kern/fs.c: Likewise.
23577 * kern/loader.c: Likewise.
23578 * kern/main.c: Likewise.
23579 * kern/misc.c: Likewise.
23580 * kern/mm.c: Likewise.
23581 * kern/parser.c: Likewise.
23582 * kern/partition.c: Likewise.
23583 * kern/rescue.c: Likewise.
23584 * kern/term.c: Likewise.
23585 * kern/efi/efi.c: Likewise.
23586 * kern/efi/init.c: Likewise.
23587 * kern/efi/mm.c: Likewise.
23588 * kern/i386/dl.c: Likewise.
23589 * kern/i386/efi/init.c: Likewise.
23590 * kern/i386/efi/startup.S: Likewise.
23591 * kern/i386/pc/init.c: Likewise.
23592 * kern/i386/pc/lzo1x.S: Likewise.
23593 * kern/i386/pc/startup.S: Likewise.
23594 * kern/ieee1275/ieee1275.c: Likewise.
23595 * kern/powerpc/cache.S: Likewise.
23596 * kern/powerpc/dl.c: Likewise.
23597 * kern/powerpc/ieee1275/cmain.c: Likewise.
23598 * kern/powerpc/ieee1275/crt0.S: Likewise.
23599 * kern/powerpc/ieee1275/init.c: Likewise.
23600 * kern/powerpc/ieee1275/openfw.c: Likewise.
23601 * kern/sparc64/cache.S: Likewise.
23602 * kern/sparc64/dl.c: Likewise.
23603 * kern/sparc64/ieee1275/init.c: Likewise.
23604 * kern/sparc64/ieee1275/openfw.c: Likewise.
23605 * loader/efi/chainloader.c: Likewise.
23606 * loader/efi/chainloader_normal.c: Likewise.
23607 * loader/i386/efi/linux.c: Likewise.
23608 * loader/i386/efi/linux_normal.c: Likewise.
23609 * loader/i386/pc/chainloader.c: Likewise.
23610 * loader/i386/pc/chainloader_normal.c: Likewise.
23611 * loader/i386/pc/linux.c: Likewise.
23612 * loader/i386/pc/linux_normal.c: Likewise.
23613 * loader/i386/pc/multiboot.c: Likewise.
23614 * loader/i386/pc/multiboot_normal.c: Likewise.
23615 * loader/powerpc/ieee1275/linux.c: Likewise.
23616 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
23617 * normal/arg.c: Likewise.
23618 * normal/cmdline.c: Likewise.
23619 * normal/command.c: Likewise.
23620 * normal/completion.c: Likewise.
23621 * normal/execute.c: Likewise.
23622 * normal/function.c: Likewise.
23623 * normal/lexer.c: Likewise.
23624 * normal/main.c: Likewise.
23625 * normal/menu.c: Likewise.
23626 * normal/menu_entry.c: Likewise.
23627 * normal/misc.c: Likewise.
23628 * normal/parser.y: Likewise.
23629 * normal/script.c: Likewise.
23630 * normal/i386/setjmp.S: Likewise.
23631 * normal/powerpc/setjmp.S: Likewise.
23632 * normal/sparc64/setjmp.S: Likewise.
23633 * partmap/acorn.c: Likewise.
23634 * partmap/amiga.c: Likewise.
23635 * partmap/apple.c: Likewise.
23636 * partmap/gpt.c: Likewise.
23637 * partmap/pc.c: Likewise.
23638 * partmap/sun.c: Likewise.
23639 * term/gfxterm.c: Likewise.
23640 * term/terminfo.c: Likewise.
23641 * term/efi/console.c: Likewise.
23642 * term/i386/pc/console.c: Likewise.
23643 * term/i386/pc/serial.c: Likewise.
23644 * term/i386/pc/vesafb.c: Likewise.
23645 * term/i386/pc/vga.c: Likewise.
23646 * term/ieee1275/ofconsole.c: Likewise.
23647 * util/biosdisk.c: Likewise.
23648 * util/console.c: Likewise.
23649 * util/genmoddep.c: Likewise.
23650 * util/getroot.c: Likewise.
23651 * util/grub-emu.c: Likewise.
23652 * util/grub-mkdevicemap.c: Likewise.
23653 * util/grub-probe.c: Likewise.
23654 * util/lvm.c: Likewise.
23655 * util/misc.c: Likewise.
23656 * util/raid.c: Likewise.
23657 * util/resolve.c: Likewise.
23658 * util/update-grub.in: Likewise.
23659 * util/update-grub_lib.in: Likewise.
23660 * util/grub.d/00_header.in: Likewise.
23661 * util/grub.d/10_hurd.in: Likewise.
23662 * util/grub.d/10_linux.in: Likewise.
23663 * util/i386/efi/grub-install.in: Likewise.
23664 * util/i386/efi/grub-mkimage.c: Likewise.
23665 * util/i386/pc/grub-install.in: Likewise.
23666 * util/i386/pc/grub-mkimage.c: Likewise.
23667 * util/i386/pc/grub-mkrescue.in: Likewise.
23668 * util/i386/pc/grub-setup.c: Likewise.
23669 * util/i386/pc/misc.c: Likewise.
23670 * util/powerpc/ieee1275/grub-install.in: Likewise.
23671 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
23672 * util/powerpc/ieee1275/misc.c: Likewise.
23673 * video/bitmap.c: Likewise.
23674 * video/video.c: Likewise.
23675 * video/i386/pc/vbe.c: Likewise.
23676 * video/i386/pc/vbeblit.c: Likewise.
23677 * video/i386/pc/vbefill.c: Likewise.
23678 * video/i386/pc/vbeutil.c: Likewise.
23679 * video/readers/tga.c: Likewise.
23680
3572d015 236812007-07-02 Robert Millan <rmh@aybabtu.com>
23682
23683 * conf/i386-efi.rmk: Replace obsolete reference to
23684 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
23685 with util/getroot.c.
23686 * conf/powerpc-ieee1275.rmk: Likewise.
23687 * conf/sparc64-ieee1275.rmk: Likewise.
23688
23689 * util/grub-emu.c (main): Fix unchecked pointer handling.
23690
2c2a681b 236912007-07-02 Robert Millan <rmh@aybabtu.com>
23692
23693 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
23694 invocation to fail, in order to support partition-less media.
23695
23696 * util/i386/pc/grub-install.in: Likewise.
23697
23698 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
23699 which fs or partmap modules are needed (akin to its sister scripts).
23700
23701 Also use grub-probe to get rid of unportable /proc/mounts check.
23702
23703 Print the same informational message that the other scripts do, before
fe6b695a 23704 exiting.
2c2a681b 23705
6193defe 237062007-06-23 Robert Millan <rmh@aybabtu.com>
23707
fe6b695a 23708 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 23709 a font file can be found and, if so, echo the GRUB path to it.
23710
23711 * util/update-grub.in: Handle multiple terminals depending on user
23712 input, platform availability and font file presence. Propagate
23713 variables of our findings to /etc/grub.d/ children.
23714
23715 * util/grub.d/00_header.in: Handle multiple terminals, based on
23716 environment setup by update-grub.
23717
eface1dc 237182007-06-23 Robert Millan <rmh@aybabtu.com>
23719
ba50d28f 23720 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 23721
bf697e28 237222007-06-21 Robert Millan <rmh@aybabtu.com>
23723
23724 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
23725 indicate end of data section in kernel image.
23726 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
23727 GRUB_KERNEL_MACHINE_DATA_END.
23728
23729 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
23730 space for it.
23731 * kern/i386/efi/startup.S: Likewise.
23732
23733 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
23734 during image generation. Implement --prefix option to override this
23735 patch.
23736 * util/i386/efi/grub-mkimage.c: Likewise.
23737
23738 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
23739 code to make path relative to its root into a separate function.
23740
23741 * util/i386/pc/grub-install.in: Use newly provided
23742 make_system_path_relative_to_its_root() to convert ${grubdir}, then
23743 pass the result to grub-install --prefix.
23744
baa574b4 237452007-06-13 Robert Millan <rmh@aybabtu.com>
23746
23747 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
23748 DEFAULT_DEVICE_MAP.
23749 * util/grub-emu.c: Use above definitions from misc.h instead of
23750 defining them.
23751 * util/grub-mkdevicemap.c: Likewise.
23752 * util/i386/pc/grub-setup.c: Likewise.
23753 * util/grub-probe.c: Likewise.
23754 (probe): Abort with grub_util_error() when either
23755 grub_guess_root_device or grub_util_get_grub_dev fails.
23756
0215dcbf 237572007-06-12 Robert Millan <rmh@aybabtu.com>
23758
23759 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
23760 "pager" assignment.
23761 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
23762 "pcdata".
23763 * util/grub-probe.c (probe): Likewise for "drive_name".
23764
8af2ab7b 237652007-06-11 Robert Millan <rmh@aybabtu.com>
23766
23767 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
23768 not just the cdrom one.
23769
59d31694 237702007-06-11 Robert Millan <rmh@aybabtu.com>
23771
23772 * util/i386/pc/grub-mkrescue.in: Add "set -e".
23773 Add --pkglibdir=DIR option to override pkglibdir.
23774 Mention --image-type=TYPE in help output.
23775 Fix --grub-mkimage (it was a no-op).
fe6b695a 23776 Abort gracefully when no parameter is given.
59d31694 23777
7ee367e4 237782007-06-11 Robert Millan <rmh@aybabtu.com>
23779
23780 * util/i386/pc/grub-mkrescue.in: New file.
23781 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
23782 * Makefile.in: Handle bin_SCRIPTS.
23783
29b0ed46 237842007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
23785
23786 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
23787 list of video modes.
23788
c0f90770 237892007-06-06 Robert Millan <rmh@aybabtu.com>
23790
23791 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
23792 file doesn't exist, or if it is in a filesystem grub can't read.
23793
23794 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
23795 not abort if GRUB_DRIVE could not be defined. Rearrange generated
23796 header comment to fit in 80 columns when the variables are resolved.
23797
23798 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
23799 could be identified by update-grub. Remove redundant check for
fe6b695a 23800 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 23801 handles that).
23802
fb36dc26 238032007-06-04 Robert Millan <rmh@aybabtu.com>
23804
23805 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
23806
23807 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
23808
23809 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
23810
0c68c93e 238112007-06-04 Robert Millan <rmh@aybabtu.com>
23812
23813 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
23814
23815 * include/grub/partition.h: Declare grub_apple_partition_map_init and
23816 grub_apple_partition_map_fini.
23817
23818 * util/biosdisk.c
23819 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
23820 to access >2 TiB disks).
23821
23822 Print disk->total_sectors with %llu instead of %lu, since this
23823 variable is always 64-bit (prevents wrong disk size from being displayed
23824 on either >2 TiB disk or big-endian CPU).
23825
23826 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
23827 into a generic case that supports all (sane) partition maps.
23828
23829 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
23830 breaks big-endian.
23831
23832 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
23833 and grub_apple_partition_map_fini() after that.
23834
0f23eb74 238352007-06-01 Robert Millan <rmh@aybabtu.com>
23836
23837 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
23838
23839 * util/grub.d/00_header.in: Only enable gfxterm when
23840 convert_system_path_to_grub_path() succeeds.
23841
42c71976 238422007-05-20 Robert Millan <rmh@aybabtu.com>
23843
23844 * util/update-grub_lib.in: New file.
23845 * DISTLIST: Add update-grub_lib.in.
23846 * conf/common.rmk: Generate update-grub_lib and install it in
23847 $(lib_DATA).
23848 * Makefile.in: Add install routine for $(lib_DATA).
23849
23850 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
23851 function provided by update-grub_lib to support arbitrary paths of
23852 unifont.pff.
23853 * util/update-grub.in: Use convert_system_path_to_grub_path() to
23854 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
23855
5beb2291 238562007-05-19 Robert Millan <rmh@aybabtu.com>
23857
23858 * commands/i386/cpuid.c: New module.
23859 * DISTLIST: Add it.
23860 * conf/i386-efi.rmk: Enable cpuid.mod.
23861 * conf/i386-pc.rmk: Likewise.
23862
7262eca1 238632007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
23864
23865 * kern/disk.c (grub_disk_read): Check return value of
23866 grub_realloc().
23867
260ba823 238682007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
23869
23870 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
23871 arrays.
23872 * disk/raid.c (grub_raid_open): Likewise.
23873
1ecb6cf2 238742007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
23875
23876 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
23877 stack instead of on the heap.
23878
23879 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
23880 before doing a read on it.
23881
23882 * configure.ac: Only use -fno-stack-protector for the target
23883 environment.
f19dbdb7 23884
21c8cbb1 238852007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
23886
23887 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
23888 __attribute_ ((unused)) to mode_type argument.
23889
23890 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 23891
21c8cbb1 23892 * kern/misc.c (memcmp): Fix prototype.
23893
23894 * include/grub/partition.h [GRUB_UTIL]
23895 (grub_gpt_partition_map_init): Add prototype.
23896 (grub_gpt_partition_map_fini): Likewise.
23897
23898 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
23899 at the right place.
23900
23901 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
23902 (grub_fat_read_data): Likewise.
23903 (grub_fat_find_dir): Likewise.
23904
23905 * font/manager.c (find_glyph): Make table a const.
23906 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 23907
849d55d3 239082007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
23909
23910 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
23911 code, first search for device in /dev/mapper, then in /dev.
23912 (grub_util_get_grub_dev): New function.
23913 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
23914 prototype.
23915 * util/grub-probe.c (probe): Remove check for RAID, call
23916 grub_util_get_grub_dev() instead of
23917 grub_util_biosdisk_get_grub_dev().
23918 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
23919 grub_util_biosdisk_get_grub_dev().
23920 * util/i386/pc/grub-setup.c (main): Likewise.
23921
8fff7c2f 239222007-05-16 Robert Millan <rmh@aybabtu.com>
23923
23924 * DISTLIST: Update for the latest changes.
23925 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
23926 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
23927 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
23928 grub/util/biosdisk.h.
23929 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
23930 grub/util/biosdisk.h.
23931
48e12b52 239322007-05-16 Robert Millan <rmh@aybabtu.com>
23933
23934 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
23935
46b9d128 239362007-05-16 Robert Millan <rmh@aybabtu.com>
23937
23938 * util/i386/efi/grub-install.in: New.
23939 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
23940 newly added grub-install.
23941 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
23942 include.
23943 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
23944 grub/util/biosdisk.h.
23945 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
23946 grub/util/biosdisk.h.
23947
2d1a40a9 239482007-05-16 Robert Millan <rmh@aybabtu.com>
23949
23950 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
23951 * include/grub/util/biosdisk.h: ... here.
23952 * util/i386/pc/biosdisk.c: Moved to ...
23953 * util/biosdisk.c: ... here.
23954 * util/i386/pc/getroot.c: Moved to ...
23955 * util/getroot.c: ... here.
23956 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
23957 * util/grub-mkdevicemap.c: ... here.
23958 * util/i386/pc/grub-probe.c: Moved to ...
23959 * util/grub-probe.c: ... here.
23960
9e26e3bc 239612007-05-15 Robert Millan <rmh@aybabtu.com>
23962
23963 * util/update-grub.in: Remove duplicated line in grub.cfg header
23964 message.
23965
57f96397 239662007-05-13 Robert Millan <rmh@aybabtu.com>
23967
23968 * util/update-grub.in: Fix a few assumptions about the devices holding
23969 /, /boot and /boot/grub being the same.
23970 * util/grub.d/00_header.in: Likewise.
23971 * util/grub.d/10_hurd.in: Likewise.
23972 * util/grub.d/10_linux.in: Likewise.
23973
23974 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
23975 patterns. Use that to define the `.old' suffix as older than `'.
23976
23977 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
23978
23979 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
23980 the grub.cfg header message.
23981
2e610d62 239822007-05-11 Robert Millan <rmh@aybabtu.com>
23983
23984 * util/update-grub.in: Create device.map if it doesn't already exist,
23985 before attempting to run grub-probe.
23986 Check for grub-probe and grub-mkdevicemap with the same code
23987 grub-install is using.
23988 Remove test mode.
23989
3f6a10ef 239902007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
23991
23992 * Makefile.in: Add the datarootdir autoconf variable.
23993
02e7b75e 239942007-05-09 Robert Millan <rmh@aybabtu.com>
23995
23996 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 23997 fail gracefully if dev->disk->partition == NULL.
02e7b75e 23998
75f396cc 239992007-05-07 Robert Millan <rmh@aybabtu.com>
24000
24001 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
24002 determine partition map module.
24003 * util/i386/pc/grub-install.in: Use this feature to decide which
24004 partition module to load, instead of hardcoding pc and gpt.
24005
da65cb36 240062007-05-07 Robert Millan <rmh@aybabtu.com>
24007
24008 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
24009 source directory differs from build directory.
24010
b57d6a91 240112007-05-05 Robert Millan <rmh@aybabtu.com>
24012
24013 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
24014 initialisation.
24015
509d00f1 240162007-05-05 Robert Millan <rmh@aybabtu.com>
24017
24018 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
24019
c48f23ef 240202007-05-05 Robert Millan <rmh@aybabtu.com>
24021
24022 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
24023 command-line arguments via ${GRUB_CMDLINE_LINUX}.
24024
20b97658 240252007-05-05 Robert Millan <rmh@aybabtu.com>
24026
24027 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
24028 (grub_probe_SOURCES): Likewise.
24029 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
24030 GPT and initialize dos_part and bsd_part accordingly.
24031 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
24032 install_bsd_part.
24033 (main): Activate gpt module for use during partition identification,
24034 and deactivate it afterwards.
24035 * util/i386/pc/grub-install.in: Add gpt module to core.img.
24036 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
24037 partition identification, and deactivate it afterwards.
24038
99123174 240392007-05-05 Robert Millan <rmh@aybabtu.com>
24040
24041 * term/i386/pc/console.c (grub_console_fini): Call
24042 grub_term_set_current() before grub_term_unregister().
24043
ebd97f6e 240442007-05-04 Robert Millan <rmh@aybabtu.com>
24045
24046 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
24047 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
24048 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
24049 and update-grub_DATA.
24050 * conf/common.rmk: Build and install update-grub components.
24051 * conf/common.mk: Regenerate.
24052 * util/update-grub.in: New. Core of update-grub.
24053 * util/grub.d/00_header.in: New. Generates grub.cfg header.
24054 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
24055 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
24056 * util/grub.d/README: New. Document grub.d directory layout.
24057
b06a264d 240582007-05-01 Robert Millan <rmh@aybabtu.com>
24059
24060 * util/grub-emu.c: Move initialization functions
24061 grub_util_biosdisk_init() and grub_init_all() before
24062 grub_util_biosdisk_get_grub_dev(), which relies on them.
24063
41f0050e 240642007-04-19 Robert Millan <rmh@aybabtu.com>
24065
24066 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
24067 it is used later.
24068
04582bb3 240692007-04-18 Jerone Young <jerone@gmail.com>
24070
f19dbdb7 24071 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 24072 stanza.
24073
08db4632 240742007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 24075
08db4632 24076 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
24077 continue on and look for device node with real device name.
24078
801b76be 240792007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 24080
fe6b695a 24081 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 24082 ability.
24083 * Makefile.in: Add autoconf package transformation code.
24084 * util/i386/pc/grub-install.in: Likewise.
24085 * util/powerpc/ieee1275/grub-install.in: Likewise.
24086
6795c4e1 240872007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
24088
24089 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
24090 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
24091 (EXT2_REVISION): Likewise.
24092 (EXT2_INODE_SIZE): Likewise.
24093 (struct grub_ext2_block_group): Added a missing member
24094 "used_dirs".
24095 (grub_ext2_read_inode): Divide by the inode size in a superblock
24096 instead of 128 to obtain INODES_PER_BLOCK.
24097 Use the macro EXT2_INODE_SIZE instead of directly using
24098 SBLOCK->INODE_SIZE.
24099
d70af616 241002007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
24101
24102 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
24103 superblock instead of the structure size to compute an
24104 offset. This fixes the problem that GRUB could not read a
24105 filesystem when inode size is different from 128-byte.
24106
3b801603 241072007-03-05 Marco Gerards <marco@gnu.org>
24108
24109 * normal/main.c (read_config_file): When "menu" is not set, create
24110 an initial context.
24111
4785bfe4 241122007-02-21 Hollis Blanchard <hollis@penguinppc.org>
24113
24114 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
24115 (HEAP_LIMIT): New macro.
24116 (grub_claim_heap): Claim memory up to `heaplimit'.
24117
a0cbb023 241182007-02-21 Hollis Blanchard <hollis@penguinppc.org>
24119
24120 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
24121 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
24122 (_start): Likewise.
24123 (grub_arch_modules_addr): Return address after `_end'.
24124 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
24125 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
24126 (add_segments): Calculate `_end' from phdr size and location.
24127 (ALIGN_UP): Moved to ...
24128 * include/grub/misc.h: here.
24129 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
24130 New macro.
24131 (GRUB_IEEE1275_MODULE_BASE): Removed.
24132
fd7d8eba 241332007-02-20 Hollis Blanchard <hollis@penguinppc.org>
24134
24135 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
24136 loop boundary.
24137
9b09e6fc 241382007-02-20 Hollis Blanchard <hollis@penguinppc.org>
24139
24140 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
24141 All users updated.
24142 (grub_elf64_load_hook_t): Likewise.
24143 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
24144 debug output.
24145
3ce27299 241462007-02-20 Hollis Blanchard <hollis@penguinppc.org>
24147
24148 * kern/mm.c: Update copyright.
24149 (grub_mm_debug): Correct syntax error.
24150 (grub_mm_dump_free): New function.
24151 (grub_debug_free): Call `grub_free'.
24152 * include/grub/mm.h: Update copyright.
24153 (grub_mm_dump_free): Add declaration.
24154
077d5fee 241552007-02-12 Hollis Blanchard <hollis@penguinppc.org>
24156
24157 * include/grub/ieee1275/ieee1275.h: Update copyright.
24158 * kern/powerpc/ieee1275/init.c: Likewise.
24159 * kern/powerpc/ieee1275/openfw.c: Likewise.
24160
24161 * loader/powerpc/ieee1275/linux.c: Likewise.
24162 * include/grub/elfload.h: Likewise.
24163 * kern/elf.c: Likewise.
24164 (grub_elf32_load): Pass `base' and `size' parameters. Update all
24165 callers.
24166 (grub_elf64_load): Likewise.
24167 (grub_elf32_load_segment): Move to a nested function.
24168 (grub_elf64_load_segment): Likewise.
24169
dc946850 241702007-02-12 Hollis Blanchard <hollis@penguinppc.org>
24171
24172 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
24173 prototype.
24174 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
24175 (grub_heap_len): Likewise.
24176 (HEAP_SIZE): New macro.
24177 (grub_claim_heap): New function.
24178 (grub_machine_init): Don't claim heap directly. Call
24179 `grub_claim_heap'.
24180 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
24181 (grub_available_iterate): New function.
24182
baa2a121 241832007-02-03 Thomas Schwinge <tschwinge@gnu.org>
24184
24185 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
24186 * configure.ac: Use it for testing the HOST and TARGET compilers.
24187
4fe9862e 241882006-12-13 Thomas Schwinge <tschwinge@gnu.org>
24189
24190 * Makefile.in (enable_grub_emu): New variable.
24191 * configure.ac (--enable-grub-emu): New option.
24192 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
24193 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
24194 * conf/i386-pc.rmk: Likewise.
24195 * conf/powerpc-ieee1275.rmk: Likewise.
24196 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
24197
a8aa5762 241982006-12-12 Marco Gerards <marco@gnu.org>
24199
24200 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
24201
24202 * kern/env.c (grub_env_unset): Don't free the member `value' when
24203 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
24204 pointer.
24205
24206 * normal/main.c (current_menu): Removed.
24207 (free_menu): Unset the `menu' environment variable.
24208 (grub_normal_menu_addentry): Make use of the environment variable
24209 `menu', instead of using the global `current_menu'. Allocate
24210 memory for the sourcecode of this entry.
24211 (read_config_file): New argument `nested', changed all callers.
24212 Only in the case of a new context, initialize a new menu. Set the
24213 `menu' environment variable.
24214 (grub_normal_execute): Don't set and unset the environment
24215 variable `menu' here anymore. Only free the menu when leaving the
24216 context.
24217
24218 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
24219 leak.
24220
957b3a3e 242212006-12-11 Marco Gerards <marco@gnu.org>
24222
24223 * normal/menu_entry.c (run): Fix off by one bug so the last line
24224 is executed. Move the loader check to outside the loop.
24225
ef875714 242262006-12-08 Hollis Blanchard <hollis@penguinppc.org>
24227
24228 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
24229
4e739985 242302006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
24231
24232 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
24233 the number of sectors. Reported by Andrey Shuvikov
24234 <mr_hyro@yahoo.com>.
f19dbdb7 24235
790707f2 242362006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
24237
24238 * kern/disk.c (grub_disk_read): When there is a read error, always
24239 try to read only the necessary data.
f19dbdb7 24240
790707f2 24241 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
24242 disk/raid.c.
24243 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
24244 prototype.
24245 [GRUB_UTIL] (grub_raid_fini): Likewise.
24246 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 24247 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 24248 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
24249 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
24250 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
24251 and grub_raid_fini().
f19dbdb7 24252
03e58196 242532006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
24254
24255 * include/grub/types.h (__unused): Rename to UNUSED.
24256 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
24257 (grub_elf64_size): Likewise.
f19dbdb7 24258
ae4f23bf 242592006-11-03 Hollis Blanchard <hollis@penguinppc.org>
24260
24261 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
24262 grub_error_push and grub_error_pop in the error-handling path.
24263 (grub_elf32_load_segment): Only call grub_file_read with non-zero
24264 length.
24265
2166cc83 242662006-11-03 Hollis Blanchard <hollis@penguinppc.org>
24267
24268 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
24269 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24270 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24271 (kernel_elf_SOURCES): Likewise.
24272 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
24273 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
24274 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
24275 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
24276 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
24277 (elf_mod_SOURCES): New variable.
24278 (elf_mod_CFLAGS): Likewise.
24279 (elf_mod_LDFLAGS): Likewise.
24280 * include/grub/types.h (__unused): New macro.
24281 * include/grub/elfload.h: New file.
24282 * kern/elf.c: Likewise.
24283 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
24284 (ELF32_LOADMASK): New macro.
24285 (ELF64_LOADMASK): Likewise.
24286 (vmlinux): Removed.
24287 (grub_linux_load32): New function.
24288 (grub_linux_load64): Likewise.
24289 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
24290 Use grub_elf_t instead of grub_file_t.
24291
a09d5aa5 242922006-11-02 Hollis Blanchard <hollis@penguinppc.org>
24293
24294 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
24295 `catch_result' to struct set_color_args.
24296
d976fc51 242972006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
24298
24299 * normal/menu.c: Include grub/script.h.
24300 * normal/menu_entry.c: Likewise.
24301 * include/grub/normal.h: Do not include grub/script.h.
24302
67507549 243032006-10-27 Hollis Blanchard <hollis@penguinppc.org>
24304
24305 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
24306
69203a99 243072006-10-27 Hollis Blanchard <hollis@penguinppc.org>
24308
24309 * kern/disk.c (grub_disk_open): Print debug messages when opening a
24310 disk.
24311 (grub_disk_close): Print debug messages when closing a disk.
24312 (grub_disk_read): Print debug messages when disk read fails.
24313 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
24314 filesystem type.
24315 * kern/partition.c: Include misc.h.
24316 (grub_partition_iterate): Print debug messages when detecting
24317 partition type.
24318
e2b8278c 243192006-10-27 Hollis Blanchard <hollis@penguinppc.org>
24320
24321 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
24322 is negative.
24323 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
24324
97b2f2ff 243252006-10-26 Hollis Blanchard <hollis@penguinppc.org>
24326
24327 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
24328 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
24329
6555d655 243302006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
24331
24332 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
24333 instead of sizeof(lv). Patch by Michael Guntsche.
24334
4d42b77f 243352006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
24336
24337 * disk/lvm.c: Rename VGS to VG_LIST.
24338 (grub_lvm_iterate): Change VGS->LV to VG-LV.
24339 (grub_lvm_open): Likewise.
24340 Thanks to Michael Guntsche for finding this bug.
24341
5d74d927 243422006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24343
24344 * configure.ac (AC_INIT): Bumped to 1.95.
24345
a1bb27e4 243462006-10-14 Robert Millan <rmh@aybabtu.com>
24347
24348 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
24349 with "/dev/.static/dev/md".
24350
e0994b8b 243512006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
24352
24353 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
24354 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
24355 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
24356 DRIVE_NAME are always freed.
24357
24358 * util/i386/pc/biosdisk.c (make_device_name): Add one into
24359 DOS_PART, as a DOS partition is counted from one instead of zero
24360 now. Reported by Robert Millan.
24361
ddd5cee9 243622006-10-14 Robert Millan <rmh@aybabtu.com>
24363
24364 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
24365 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
24366 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
24367 string returned by grub_guess_root_device.
24368 * util/i386/pc/grub-setup.c: Likewise.
24369 * util/i386/pc/grub-probefs.c: Likewise.
24370
24371 * util/i386/pc/grub-probefs.c: Rename to ...
24372 * util/i386/pc/grub-probe.c: ... this.
24373 * DISTLIST: Remove grub-probefs, add grub-probe.
24374 * conf/i386-efi.rmk: Likewise.
24375 * conf/i386-pc.rmk: Likewise.
24376 * util/i386/pc/grub-install.in: Likewise.
24377
24378 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
24379 choose which information we want to print.
24380
2b002173 243812006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
24382
24383 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
24384 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
24385 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
24386 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
24387 video/readers/tga.c and video/i386/pc/vbeutil.c.
24388
243892006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
24390
24391 Added support for RAID and LVM.
f19dbdb7 24392
2b002173 24393 * disk/lvm.c: New file.
24394 * disk/raid.c: Likewise.
24395 * include/grub/lvm.h: Likewise.
f19dbdb7 24396 * include/grub/raid.h: Likewise.
2b002173 24397 * include/grub/util/lvm.h: Likewise.
24398 * include/grub/util/raid.h: Likewise.
24399 * util/lvm.c: Likewise.
24400 * util/raid.c: Likewise.
24401
24402 * include/grub/disk.h (grub_disk_dev_id): Add
24403 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
24404 (grub_disk_get_size): New prototype.
24405 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
24406 returns a partition.
24407 (grub_disk_get_size): New function.
f19dbdb7 24408
2b002173 24409 * kern/i386/pc/init.c (make_install_device): Copy the prefix
24410 verbatim if grub_install_dos_part is -2.
24411
24412 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
24413 and LVM devices.
24414
24415 * util/i386/pc/grub-setup.c (setup): New argument
24416 MUST_EMBED. Force embedding of GRUB when the argument is
24417 true. Close FILE before returning.
24418 (main): Add support for RAID and LVM.
f19dbdb7 24419
2b002173 24420 * conf/common.rmk: Add RAID and LVM modules.
24421 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
24422 util/lvm.c.
24423 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
24424
24425 * kern/misc.c (grub_strstr): New function.
24426 * include/grub/misc.h (grub_strstr): New prototype.
24427
050548d0 244282006-10-10 Tristan Gingold <tristan.gingold@bull.net>
24429
24430 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
24431
da849d2d 244322006-10-05 Tristan Gingold <tristan.gingold@bull.net>
24433
24434 * kern/misc.c (grub_strtoull): Guess the base only if not
24435 specified.
24436
97b2f2ff 244372006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 24438
24439 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
24440 PowerMac support.
24441
97b2f2ff 244422006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 24443
24444 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
24445
24446 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
24447 Remove `flags' argument. All callers changed.
24448 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
24449 (IEEE1275_IHANDLE_INVALID): New variable.
24450 (IEEE1275_CELL_INVALID): New variable.
24451 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
24452 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
24453 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
24454 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
24455 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
24456 codes from Open Firmware. All callers updated.
24457 (grub_ieee1275_next_property): Directly return Open Firmware return
24458 code.
24459 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
24460 Standardize error checking from `grub_ieee1275_get_property'.
24461 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
24462 `devalias' to `aliases'. Correct comments. Consolidate error paths.
24463
97b2f2ff 244642006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 24465
24466 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
24467 `instance_to_package_args' to `instance_to_path_args'.
24468
24469 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
24470 `grub_ieee1275_chosen'.
24471
24472 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
24473 `grub_ieee1275_interpret'.
24474
97b2f2ff 244752006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 24476
24477 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
24478
97b2f2ff 244792006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 24480
24481 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
24482 (__cmpdi): Likewise.
24483
24484 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
24485 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
24486 `grub_ssize_t'.
24487
02bb8acc 24488 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 24489
24490 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
24491 to type `grub_ssize_t'.
24492 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
24493
7f9a8531 244942006-09-22 Marco Gerards <marco@gnu.org>
24495
24496 * normal/script.c (grub_script_create_cmdmenu): Skip leading
24497 newlines.
24498
b5ef1102 244992006-09-22 Marco Gerards <marco@gnu.org>
24500
24501 * commands/echo.c: New file.
24502
24503 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
24504
24505 * conf/common.rmk (echo_mod_SOURCES): New variable.
24506 (echo_mod_CFLAGS): Likewise.
24507 (echo_mod_LDFLAGS): Likewise.
24508
2cff3677 245092006-09-22 Marco Gerards <marco@gnu.org>
24510
24511 * normal/main.c (get_line): Malloc memory instead of using
24512 preallocated memory. Removed the arguments `cmdline' and
24513 `max_len'. Updated all callers.
24514
6ba4688b 245152006-09-22 Marco Gerards <marco@gnu.org>
24516
24517 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
24518 (normal_mod_DEPENDENCIES): Likewise.
24519
24520 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
24521 (normal_mod_DEPENDENCIES): Likewise.
24522
24523 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
24524
e02ac02c 245252006-09-22 Johan Rydberg <jrydberg@gnu.org>
24526
24527 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
24528 programs.
24529 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
24530 (normal_mod_DEPENDENCIES): Likewise.
24531 * conf/i386-pc.mk: Regenerate.
24532 * conf/i386-efi.mk: Likewise
24533 * conf/common.mk: Likewise.
24534 * conf/powerpc-ieee1275.mk: Likewise.
24535 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 24536
8d252e44 245372006-09-22 Robert Millan <rmh@aybabtu.com>
24538
24539 Sync with i386 version.
24540 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
24541 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
24542
209bf7ac 245432006-09-21 Robert Millan <rmh@aybabtu.com>
24544
24545 Import from GRUB Legacy (lib/device.c):
24546 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
24547 (init_device_map) [__linux__]: Add support for I2O devices.
24548
6b146090 245492006-09-14 Marco Gerards <marco@gnu.org>
24550
24551 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
24552 `-melf_i386'.
24553
e38600a8 245542006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 24555
24556 * util/i386/pc/grub-install.in: Skip menu.lst when removing
24557 /boot/grub/*.lst.
78fa1790 24558
2952da5d 24559 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 24560
2952da5d 24561 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
24562 before adding it to device.map.
24563
01b82a64 245642006-08-15 Johan Rydberg <jrydberg@gnu.org>
24565
fe6b695a 24566 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 24567 compiles a file; using the -MD option.
24568 * conf/common.mk: Regenerate.
24569 * conf/i386-pc.mk: Likewise.
24570 * conf/i386-efi.mk: Likewise.
24571 * conf/powerpc-ieee1275.mk: Likewise.
24572 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 24573
1064790d 245742006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
24575
24576 Move the prototypes of grub_setjmp and grub_longjmp to
24577 cpu/setjmp.h, so that each architecture may specify different
24578 attributes.
f19dbdb7 24579
1064790d 24580 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
24581 (grub_longjmp): Likewise.
24582 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
24583 (grub_longjmp): Likewise.
24584 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
24585 (grub_longjmp): Likewise.
24586
24587 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
24588 [!GRUB_UTIL] (grub_longjmp): Removed.
24589
29dda3ed 245902006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
24591
24592 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
24593 "color!" method does not return any value.
24594
ad2a06ed 245952006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
24596
24597 * include/grub/bitmap.h: New file.
24598
24599 * include/grub/i386/pc/vbeutil.h: Likewise.
24600
24601 * video/bitmap.c: Likewise.
24602
24603 * video/readers/tga.c: Likewise.
24604
24605 * video/i386/pc/vbeutil.c: Likewise.
24606
24607 * commands/videotest.c: Code cleanup and updated to reflect to new
24608 video API.
24609
24610 * term/gfxterm.c: Likewise.
24611
24612 * video/video.c: Likewise.
24613
24614 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
24615 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
24616 (bitmap_mod_SOURCES): New entry.
24617 (bitmap_mod_CFLAGS): Likewise.
24618 (bitmap_mod_LDFLAGS): Likewise.
24619 (tga_mod_SOURCES): Likewise.
24620 (tga_mod_CFLAGS): Likewise.
24621 (tga_mod_LDFLAGS): Likewise.
24622
24623 * include/grub/video.h (grub_video_blit_operators): New enum type.
24624 (grub_video_render_target): Changed as forward declaration and moved
24625 actual definition to be video driver specific.
24626 (grub_video_adapter.blit_bitmap): Added blitting operator.
24627 (grub_video_adapter.blit_render_target): Likewise.
24628 (grub_video_blit_bitmap): Likewise.
24629 (grub_video_blit_render_target): Likewise.
24630
24631 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
24632 driver specific render target definition.
24633 (grub_video_vbe_map_rgba): Added driver internal helper.
24634 (grub_video_vbe_unmap_color): Updated to use
24635 grub_video_i386_vbeblit_info.
24636 (grub_video_vbe_get_video_ptr): Likewise.
24637
24638 * include/grub/i386/pc/vbeblit.h
24639 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
24640 grub_video_i386_vbeblit_info.
24641 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
24642 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
24643 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
24644 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
24645 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
24646 (grub_video_i386_vbeblit_index_index): Likewise.
24647 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
24648 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
24649 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
24650 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
24651 operator.
24652 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
24653 operator.
24654
24655 * video/i386/pc/vbeblit.c: Updated to reflect changes on
24656 include/grub/i386/pc/vbeblit.h.
24657
24658 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
24659 Updated to use grub_video_i386_vbeblit_info.
24660 (grub_video_i386_vbefill_R8G8B8): Likewise.
24661 (grub_video_i386_vbefill_index): Likewise.
24662 (grub_video_i386_vbefill): Added generic filler.
24663
24664 * video/i386/pc/vbefill.c: Updated to reflect changes on
24665 include/grub/i386/pc/vbefill.h.
24666
24667 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
24668 grub_video_i386_vbeblit_info.
24669 (grub_video_vbe_unmap_color): Likewise.
24670 (grub_video_vbe_blit_glyph): Likewise.
24671 (grub_video_vbe_scroll): Likewise.
24672 (grub_video_vbe_draw_pixel): Removed function.
24673 (grub_video_vbe_get_pixel): Likewise.
24674 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
24675 updated code to use it.
24676 (common_blitter): Added common blitter for render target and bitmap.
24677 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
24678 (grub_video_vbe_blit_render_target): Likewise.
24679
bc8c036d 246802006-07-30 Johan Rydberg <jrydberg@gnu.org>
24681
24682 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
24683 is in text mode if there is no console control protocol instance
24684 available.
24685
684a8eff 246862006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
24687
24688 * include/grub/video.h: Code cleanup.
24689
24690 * include/grub/i386/pc/vbe.h: Likewise.
24691
24692 * video/i386/pc/vbe.c: Likewise.
24693
24694 * video/i386/pc/vbeblit.c: Likewise.
24695
24696 * video/i386/pc/vbefill.c: Likewise.
24697
24698 * video/video.c: Likewise. Also added more comments.
24699
5915059b 247002006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
24701
24702 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
24703 (struct grub_biosdisk_dap): Likewise.
24704
24705 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
24706 linkage settings for all functions.
24707
90ce5d56 247082006-07-12 Marco Gerards <marco@gnu.org>
24709
24710 * configure.ac (--enable-mm-debug): Fix typo.
24711
24712 * genkernsyms.sh.in: Use proper quoting for `CC'.
24713
43e7f879 247142006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
24715
24716 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
24717 (normal_mod_ASFLAGS): Remove "-m32".
24718
4889bdec 247192006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
24720
24721 * util/misc.c: Include config.h.
24722 [!HAVE_MEMALIGN]: Do not include malloc.h.
24723 (grub_memalign): Use posix_memalign, if present. Then, use
24724 memalign, if present. Otherwise, emit an error.
24725
24726 * util/grub-emu.c: Do not include malloc.h.
24727
24728 * include/grub/util/misc.h: Include unistd.h. This is required for
24729 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
24730 D. Eades III <hde@foobar-qux.org>.
24731
24732 * configure.ac (AC_GNU_SOURCE): Added.
24733 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
24734 type.
24735
fd39d4da 247362006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
24737
24738 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
24739 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
24740
b786f3b5 247412006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
24742
24743 * include/grub/types.h (grub_host_addr_t): Rename to
24744 grub_target_addr_t.
24745 (grub_host_off_t): Rename to grub_target_off_t.
24746 (grub_host_size_t): Rename to grub_target_size_t.
24747 (grub_host_ssize_t): Rename to grub_target_ssize_t.
24748 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
24749
24750 * include/grub/kernel.h (struct grub_module_header): Change type
24751 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
24752 (grub_module_info): Likewise.
f19dbdb7 24753
051988bb 247542006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
24755
24756 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
24757 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
24758 Velazquez <jesus.velazquez@gmail.com>.
24759
deae281b 247602006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
24761
24762 Count partitions from 1 instead of 0 in the string representation
24763 of partitions. Still use 0-based internally.
f19dbdb7 24764
deae281b 24765 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
24766 (sun_partition_map_iterate): Use grub_partition_t instead of
24767 struct grub_partition *. Cast DESC->START_CYLINDER to
24768 grub_uint64_t after converting the endian.
24769 (sun_partition_map_probe): Subtract 1 for PARTNUM.
24770 (sun_partition_map_get_name): Add 1 to P->INDEX.
24771
24772 * partmap/pc.c (grub_partition_parse): Subtract 1 for
24773 PCDATA->DOS_PART.
24774 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
24775
24776 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
24777 zero instead of one.
24778 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
24779 (gpt_partition_map_get_name): Add 1 into P->INDEX.
24780
24781 * partmap/apple.c (apple_partition_map_iterate): Change the type
24782 of POS to unsigned.
24783 (apple_partition_map_probe): Subtract 1 for PARTNUM.
24784 (apple_partition_map_get_name): Add 1 into P->INDEX.
24785
24786 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
24787 of POS to unsigned.
24788 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
24789 calculate the offset of a partition.
24790 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
24791 (amiga_partition_map_get_name): Add 1 into P->INDEX.
24792
24793 * partmap/acorn.c (acorn_partition_map_find): Change the type of
24794 SECTOR to grub_disk_addr_t.
24795 (acorn_partition_map_iterate): Likewise.
24796 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
24797 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
24798 top.
24799 (acorn_partition_map_get_name): Add 1 into P->INDEX.
24800
24801 * kern/i386/pc/init.c (make_install_device): Add 1 into
24802 GRUB_INSTALL_DOS_PART.
24803
24804 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
24805 conditional.
24806
524a1e6a 248072006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
24808
24809 Clean up the code to support 64-bit addressing in disks and
24810 files. This change is not enough for filesystems yet.
f19dbdb7 24811
524a1e6a 24812 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
24813 type of "start" to grub_uint64_t.
24814 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
24815 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
24816 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
24817 convert addresses.
24818
24819 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
24820 to grub_disk_addr_t.
24821
24822 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
24823 string.
24824
24825 * partmap/pc.c (pc_partition_map_iterate): Likewise.
24826
24827 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
24828 to char *.
24829
24830 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
24831
24832 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
24833
24834 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
24835
24836 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
24837 to grub_off_t, to detect an error from grub_file_seek.
24838 (grub_multiboot_load_elf32): Likewise.
24839
24840 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
24841 maximum unsigned long value when an overflow is detected.
24842 (grub_strtoull): New function.
24843 (grub_divmod64): Likewise.
24844 (grub_lltoa): use grub_divmod64.
24845
24846 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
24847 grub_disk_addr_t.
24848 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
24849 the pointer to next character. Use grub_strtoull instead of
24850 grub_strtoul.
24851 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
24852 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
24853 respectively.
24854
fe6b695a 24855 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 24856 return value is signed.
24857 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
24858 test if OFFSET is less than zero, as OFFSET is unsigned now.
24859
24860 * kern/disk.c (struct grub_disk_cache): Change the type of
24861 "sector" to grub_disk_addr_t.
24862 (grub_disk_cache_get_index): Change the type of SECTOR to
24863 grub_disk_addr_t. Calculate the hash with SECTOR casted to
24864 unsigned after shifting.
24865 (grub_disk_cache_invalidate): Change the type of SECTOR to
24866 grub_disk_addr_t.
24867 (grub_disk_cache_unlock): Likewise.
24868 (grub_disk_cache_store): Likewise.
24869 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
24870 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
24871 grub_disk_addr_t and grub_uint64_t, respectively.
24872 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
24873 body, as the value of OFFSET is tweaked by
24874 grub_disk_check_range. Change the types of START_SECTOR, LEN and
24875 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
24876 respectively.
24877 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
24878 body, as the value of OFFSET is tweaked by
24879 grub_disk_check_range. Change the types of LEN and N to
24880 grub_size_t.
24881
24882 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
24883 and "saved_offset" to grub_off_t.
24884 (test_header): Cast BUF to char *.
24885 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
24886 to char *.
24887 (grub_gzio_read): Change the types of OFFSET and SIZE to
24888 grub_off_t and grub_size_t, respectively.
24889
24890 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
24891 Removed.
24892 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
24893 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
24894 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
24895 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
24896 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
24897
24898 * include/grub/types.h (grub_off_t): Unconditionally set to
24899 grub_uint64_t.
24900 (grub_disk_addr_t): Changed to grub_uint64_t.
24901
24902 * include/grub/partition.h (struct grub_partition): Change the
24903 types of "start", "len" and "offset" to grub_disk_addr_t,
24904 grub_uint64_t and grub_disk_addr_t, respectively.
24905 (grub_partition_get_start): Return grub_disk_addr_t.
24906 (grub_partition_get_len): Return grub_uint64_t.
24907
24908 * include/grub/misc.h (grub_strtoull): New prototype.
24909 (grub_divmod64): Likewise.
24910
24911 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
24912 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
24913 grub_off_t, respectively.
24914 All callers and references changed.
24915
24916 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
24917 grub_size_t in "read".
24918 All callers and references changed.
24919
24920 * include/grub/file.h (struct grub_file): Change the types of
24921 "offset" and "size" to grub_off_t and grub_off_t,
24922 respectively. Change the type of SECTOR to grub_disk_addr_t in
24923 "read_hook".
24924 (grub_file_read): Change the type of LEN to grub_size_t.
24925 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
24926 grub_off_t.
24927 (grub_file_size): Return grub_off_t.
24928 (grub_file_tell): Likewise.
24929 All callers and references changed.
24930
24931 * include/grub/disk.h (struct grub_disk_dev): Change the types of
24932 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
24933 "write".
24934 (struct grub_disk): Change the type of "total_sectors" to
24935 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 24936 "read_hook".
524a1e6a 24937 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
24938 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
24939 (grub_disk_write): Likewise.
24940 All callers and references changed.
24941
24942 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
24943 char * for grub_strncmp to silence gcc.
24944 (grub_iso9660_mount): Likewise.
24945 (grub_iso9660_mount): Likewise.
24946 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
24947 return statement.
24948 (grub_iso9660_iterate_dir): Likewise.
24949 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
24950
24951 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
24952 LEN to grub_disk_addr_t and grub_size_t, respectively.
24953
24954 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
24955
24956 * fs/jfs.c (grub_jfs_read_file): Likewise.
24957
24958 * fs/minix.c (grub_jfs_read_file): Likewise.
24959
24960 * fs/sfs.c (grub_jfs_read_file): Likewise.
24961
24962 * fs/ufs.c (grub_jfs_read_file): Likewise.
24963
24964 * fs/xfs.c (grub_jfs_read_file): Likewise.
24965
24966 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
24967 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
24968 respectively.
24969
24970 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
24971 BLKNR to -1 instead of returning GRUB_ERRNO.
24972 (grub_ext2_read_file): Change the types of SECTOR and
24973 LEN to grub_disk_addr_t and grub_size_t, respectively.
24974
24975 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
24976 LEN to grub_disk_addr_t and grub_size_t, respectively.
24977
24978 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
24979 grub_file_read.
24980
24981 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
24982 string. Do not cast SECTOR explicitly.
24983
24984 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
24985 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
24986 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
24987 grub_disk_addr_t and grub_size_t, respectively. If the sector is
24988 over 2TB and LBA mode is not supported, raise an error.
24989 (get_safe_sectors): New function.
24990 (grub_biosdisk_read): Use get_safe_sectors.
24991 (grub_biosdisk_write): Likewise.
24992
24993 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
24994 (grub_efidisk_write): Likewise.
24995
24996 * disk/loopback.c (delete_loopback): Cosmetic changes.
24997 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
24998 correctly.
24999 (grub_loopback_open): Likewise.
25000 (grub_loopback_read): Likewise. Also, change the type of POS to
25001 grub_off_t, and fix the usage of grub_memset.
25002
25003 * commands/i386/pc/play.c: Include grub/machine/time.h.
25004
25005 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
25006 print FILE->SIZE.
25007
25008 * commands/configfile.c: Include grub/env.h.
25009
25010 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
25011 GRUB_ERRNO directly instead. Change the type of POS to
25012 grub_off_t. Follow the coding standard.
25013
25014 * commands/blocklist.c: Include grub/partition.h.
25015 (grub_cmd_blocklist): Return an error if the underlying device is
25016 not a disk. Take the starting sector of a partition into account,
25017 if a partition is used.
25018
25019 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
25020 a length field.
25021 (lba_mode): Support 64-bit addresses.
25022 (chs_mode): Likewise.
25023 (copy_buffer): Adapted to the new offsets of a length field and a
25024 segment field.
25025 (blocklist_default_start): Allocate 64-bit space.
25026
25027 * boot/i386/pc/boot.S (force_lba): Removed.
25028 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 25029 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 25030 space.
25031 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
25032 is useless.
25033 (lba_mode): Refactored to support a 64-bit address. More size
25034 optimization.
25035 (setup_sectors): Likewise.
25036
53af98ad 250372006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
25038
25039 * DISTLIST: Added include/grub/i386/linux.h. Removed
25040 include/grub/i386/pc/linux.h
25041
25042 * configure.ac (AC_INIT): Bumped to 1.94.
25043
25044 * config.guess: Updated from gnulib.
25045 * config.sub: Likewise.
25046 * install-sh: Likewise.
25047 * mkinstalldirs: Likewise.
25048
b4c1940a 250492006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
25050
25051 * conf/common.rmk (grub_modules_init.lst): Depended on
25052 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
25053 MODSRCFILES.
25054
25055 * genmk.rb (PModule::rule): Reverted the previous change.
25056
cfca1cfd 250572006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
25058
25059 * conf/common.rmk (grub_modules_init.lst): Depends on
25060 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
25061 that the target does not exist before producing.
25062 (grub_modules_init.h): Remove the target before generating.
25063 (grub_emu_init.c): Likewise.
25064
25065 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
25066
aa6d7826 250672006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
25068
25069 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
25070 for the target-specific tests. Make sure that we also have the
25071 up-to-date target variables for those tests.
25072
26c607b9 250732006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
25074
25075 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
25076 (PModule::rule): Likewise.
25077
0162321a 250782006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
25079
25080 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
25081 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
25082 target-specific flags should be prefixed.
25083 (PModule::rule): Likewise.
25084
6c826348 250852006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
25086
25087 * configure.ac (CMP): Check if cmp is available explicitly.
25088
b977bf01 250892006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
25090
25091 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
25092 (target_cpu): New variable.
25093 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 25094
b977bf01 25095 * util/i386/pc/grub-install.in (host_cpu): Removed.
25096 (target_cpu): New variable.
25097 (pkglibdir): Use target_cpu instead of host_cpu.
25098
25099 * util/genmoddep.c: Removed.
f19dbdb7 25100
b977bf01 25101 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
25102 instead of GRUB_HOST_SIZEOF_VOID_P.
25103 * kern/dl.c: Likewise.
25104
25105 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
25106 ...
25107 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
25108 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
25109 (GRUB_TARGET_SIZEOF_LONG): ... this.
25110 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
25111 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
25112 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
25113 to ...
25114 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
25115 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
25116 (GRUB_TARGET_SIZEOF_LONG): ... this.
25117 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
25118 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
25119 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
25120 to ...
25121 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
25122 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
25123 (GRUB_TARGET_SIZEOF_LONG): ... this.
25124 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
25125 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
25126
25127 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
25128 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
25129 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
25130 instead of GRUB_HOST_SIZEOF_LONG.
25131 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
25132 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
25133 GRUB_CPU_WORDS_BIGENDIAN.
25134 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
25135 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
25136 grub_host_ssize_t.
25137
25138 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
25139 (genmoddep_SOURCES): Likewise.
25140 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
25141 (genmoddep_SOURCES): Likewise.
25142 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
25143 (genmoddep_SOURCES): Likewise.
25144 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
25145 Likewise.
25146 (genmoddep_SOURCES): Likewise.
25147
25148 * genmoddep.awk: New file.
25149
25150 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
25151 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
25152 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
25153 (PModule::rule): Likewise.
25154 (Program::rule): Likewise.
25155 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
25156 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
25157 respectively.
25158
25159 * configure.ac: Rewritten intensively to use host and target
25160 instead of build and host, respectively.
25161
25162 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
25163 (host_cpu): Removed.
25164 (target_cpu): New variable.
25165 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
25166 (BUILD_CC): Removed.
25167 (BUILD_CFLAGS): Likewise.
25168 (BUILD_CPPFLAGS): Likewise.
25169 (TARGET_CC): New variable.
25170 (TARGET_CFLAGS): Likewise.
25171 (TARGET_CPPFLAGS): Likewise.
25172 (TARGET_LDFLAGS): Likewise.
25173 (AWK): Likewise.
25174 (include): Use target_cpu instead of host_cpu.
25175 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 25176
b977bf01 25177 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
25178
f09771a1 251792006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
25180
25181 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
25182 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
25183 field 'false' to 'exec_on_false'.
25184 (grub_script_create_cmdif): Renamed argument names to reflect above
25185 changes.
25186
25187 * normal/execute.c (grub_script_execute_cmdif): Likewise.
25188
25189 * normal/script.c (grub_script_create_cmdif): Likewise.
25190
118f4fb3 251912006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
25192
25193 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
25194 top.
25195 (grub_hfsplus_btree_recptr): Likewise.
25196 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
25197 FILEBLOCK both to pass a block number and store next block
25198 number.
25199 (grub_hfsplus_read_block): Rewritten heavily to support an extent
25200 overflow file correctly. Specify errors appropriately, because
25201 fshelp expects that GRUB_ERRNO is set when fails. Reuse
25202 grub_hfsplus_btree_recptr to get the pointer to a found key.
25203 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
25204 is found.
25205
25206 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
25207 linux.mod.
25208 (_linux_mod_SOURCES): New variable.
25209 (_linux_mod_CFLAGS): Likewise.
25210 (_linux_mod_LDFLAGS): Likewise.
25211 (linux_mod_SOURCES): Likewise.
25212 (linux_mod_CFLAGS): Likewise.
25213 (linux_mod_LDFLAGS): Likewise.
25214
25215 * DISTLIST: Added loader/i386/efi/linux.c,
25216 loader/i386/efi/linux_normal.c and
25217 include/grub/i386/efi/loader.h.
25218
25219 * loader/i386/efi/linux.c: New file.
25220 * loader/i386/efi/linux_normal.c: Likewise.
25221 * include/grub/i386/efi/loader.h: Likewise.
25222
89a7d726 252232006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
25224
25225 * commands/blocklist.c: New file.
25226
25227 * DISTLIST: Added commands/blocklist.c.
25228
25229 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 25230 color for the background, and a darker color for the foreground.
89a7d726 25231 (grub_console_checkkey): Return READ_KEY.
25232 (grub_console_cls): Set the background to
25233 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
25234
25235 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
25236
25237 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
25238 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
25239
25240 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
25241 prototype.
25242
25243 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
25244 BG. The spec is wrong again.
25245
25246 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
25247 prototype.
25248 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
25249
25250 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25251 commands/blocklist.c.
25252 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 25253
89a7d726 25254 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
25255 (blocklist_mod_SOURCES): New variable.
25256 (blocklist_mod_CFLAGS): Likewise.
25257 (blocklist_mod_LDFLAGS): Likewise.
25258
75c8f258 252592006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
25260
25261 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
25262 duplication.
25263 (lba_mode): Use %eax more intensively to reduce the code size.
25264
da2eb181 252652006-05-20 Marco Gerards <marco@gnu.org>
25266
25267 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
25268
25269 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
25270 for `menuentry'.
25271 (script): Accept leading newlines.
25272 (newlines): New rule to describe 0 or more newlines.
25273 (commands): Accept `command' with trailing newline. Fixed the
25274 order in which arguments were passed to `grub_script_add_cmd'.
25275 Accept commands separated by newlines.
25276 (function): Changed to accept newlines.
25277 (menuentry) Rewritten.
25278
25279 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
25280 front of the list, instead of to the end.
25281
577b4050 252822006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
25283
25284 * util/i386/pc/grub-install.in (bindir): New variable.
25285 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
25286 Shaver <lbgwjl@gmail.com>.
25287
0d6e1189 252882006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
25289
25290 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
25291 grub/machine/linux.h
25292 * loader/i386/pc/linux.c: Likewise.
25293
25294 * include/grub/i386/pc/linux.h: Moved to ...
25295 * include/grub/i386/linux.h: ... here.
25296
25297 * include/grub/i386/linux.h (struct linux_kernel_params): New
25298 struct.
f19dbdb7 25299
31b86e9f 253002006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
25301
25302 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
25303 checking.
25304 (grub_video_vbe_blit_glyph): Likewise.
25305 (grub_video_vbe_blit_bitmap): Likewise.
25306 (grub_video_vbe_blit_render_target): Likewise.
25307
83b984de 253082006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
25309
25310 * configure.ac (--with-platform): Properly quote the square
25311 brackets.
25312
5f0413bd 253132006-05-08 Marco Gerards <marco@gnu.org>
25314
25315 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
25316 this...
25317 (kernel_elf_HEADERS): ...to this. Updated all users.
25318 (grubof_symlist.c): Renamed from this...
25319 (kernel_elf_symlist.c): ...to this. Updated all users.
25320 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
25321 (grubof_SOURCES): Renamed from this...
25322 (kernel_elf_SOURCES): ...to this.
25323 (grubof_HEADERS): Renamed from this...
25324 (kernel_elf_HEADERS): ...to this.
25325 (grubof_CFLAGS): Renamed from this...
25326 (kernel_elf_CFLAGS): ...to this.
25327 (grubof_ASFLAGS): Renamed from this...
25328 (kernel_elf_ASFLAGS): ...to this.
25329 (grubof_LDFLAGS): Renamed from this...
25330 (kernel_elf_LDFLAGS): ...to this.
25331
25332 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
25333 this...
25334 (kernel_elf_HEADERS): ...to this. Updated all users.
25335 (grubof_symlist.c): Renamed from this...
25336 (kernel_elf_symlist.c): ...to this. Updated all users.
25337 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
25338 (grubof_SOURCES): Renamed from this...
25339 (kernel_elf_SOURCES): ...to this.
25340 (grubof_HEADERS): Renamed from this...
25341 (kernel_elf_HEADERS): ...to this.
25342 (grubof_CFLAGS): Renamed from this...
25343 (kernel_elf_CFLAGS): ...to this.
25344 (grubof_ASFLAGS): Renamed from this...
25345 (kernel_elf_ASFLAGS): ...to this.
25346 (grubof_LDFLAGS): Renamed from this...
25347 (kernel_elf_LDFLAGS): ...to this.
25348
25349 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
25350 `kernel.elf' instead of `grubof'.
25351
05568c2e 253522006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
25353
25354 Add --with-platform to configure. Use pkglibdir instead of
25355 pkgdatadir. This is reported by Roger Leigh.
25356
25357 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
25358 (host_vendor): Likewise.
25359 (host_os): Likewise.
25360 (pkgdatadir): Likewise.
25361 (platform): New variable.
25362 (pkglibdir): Likewise.
25363 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 25364
05568c2e 25365 * util/i386/pc/grub-install.in (datadir): Removed.
25366 (host_vendor): Likewise.
25367 (host_os): Likewise.
25368 (pkgdatadir): Likewise.
25369 (platform): New variable.
25370 (pkglibdir): Likewise.
25371 Use PKGLIBDIR instead of PKGDATADIR.
25372
25373 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
25374 instead of GRUB_DATADIR.
25375 (main): Likewise.
25376 * util/i386/pc/grub-mkimage.c (usage): Likewise.
25377 (main): Likewise.
25378 * util/i386/efi/grub-mkimage.c (usage): Likewise.
25379 (main): Likewise.
25380
25381 * configure.ac (--with-platform): New option.
25382 Use PLATFORM instead of HOST_VENDOR to specify a platform.
25383
25384 * Makefile.in: Include a makefile based on PLATFORM instead of
25385 HOST_VENDOR.
25386 (pkgdatadir): Not appended by the machine type.
25387 (pkglibdir): Appended by the machine type.
25388 (host_vendor): Removed.
25389 (platform): New variable.
25390 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
25391 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
25392 (uninstall): Likewise.
25393
4e93851c 253942006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
25395
25396 Use the environment context in the menu. Remove the commands
25397 "default" and "timeout", and use variables instead.
f19dbdb7 25398
4e93851c 25399 * normal/menu.c: Include grub/env.h.
25400 (print_entry): Cast TITLE to silence gcc.
25401 (get_timeout): New function.
25402 (set_timeout): Likewise.
25403 (get_entry_number): Likewise.
25404 (run_menu): Use a default entry, a fallback entry and a timeout
25405 in the environment variables "default", "fallback" and
25406 "timeout". Also, tweak the default entry if it is not within the
25407 current menu entries.
25408 (grub_menu_run): Use a fallback entry in the environment variable
25409 "fallback".
25410
25411 * normal/main.c (read_config_file): Do not initialize
25412 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
25413 NEWMENU->TIMEOUT.
25414 (grub_normal_execute): Use a data slot to store the menu.
25415
25416 * include/grub/normal.h (struct grub_menu): Removed default_entry,
25417 fallback_entry and timeout.
25418 (struct grub_menu_list): Removed.
25419 (grub_menu_list_t): Likewise.
25420 (struct grub_context): Likewise.
25421 (grub_context_t): Likewise.
25422 (grub_context_get): Likewise.
25423 (grub_context_get_current_menu): Likewise.
25424 (grub_context_push_menu): Likewise.
25425 (grub_context_pop_menu): Likewise.
25426 (grub_default_init): Likewise.
25427 (grub_default_fini): Likewise.
25428 (grub_timeout_init): Likewise.
25429 (grub_timeout_fini): Likewise.
25430
25431 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
25432 and timeout.mod.
25433 (normal_mod_SOURCES): Removed normal/context.c.
25434
25435 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
25436 commands/default.c, commands/timeout.c and normal/context.c.
25437 (normal_mod_SOURCES): Removed normal/context.c.
25438
25439 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
25440 commands/timeout.c and normal/context.c.
25441 (normal_mod_SOURCES): Removed normal/context.c.
25442
25443 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
25444 commands/default.c, commands/timeout.c and normal/context.c.
25445 (normal_mod_SOURCES): Removed normal/context.c.
25446
25447 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
25448 timeout.mod.
25449 (default_mod_SOURCES): Removed.
25450 (default_mod_CFLAGS): Likewise.
25451 (default_mod_LDFLAGS): Likewise.
25452 (timeout_mod_SOURCES): Removed.
25453 (timeout_mod_CFLAGS): Likewise.
25454 (timeout_mod_LDFLAGS): Likewise.
25455
25456 * DISTLIST: Removed commands/default.c, commands/timeout.c and
25457 normal/context.c.
25458
25459 * commands/default.c: Removed.
25460 * commands/timeout.c: Likewise.
25461 * normal/context.c: Likewise.
25462
1eb9cc1d 254632006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
25464
25465 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
25466
385bd9c1 254672006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
25468
25469 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
25470 "next" to "prev" for readability.
25471 (struct grub_env_sorted_var): New struct.
25472 (grub_env_context): Renamed to ...
25473 (initial_context): ... this.
25474 (grub_env_var_context): Renamed to ...
25475 (current_context): ... this.
25476 (grub_env_find): Look only at CURRENT_CONTEXT.
25477 (grub_env_context_open): Rewritten to copy exported variables from
25478 previous context.
25479 (grub_env_context_close): Rewritten according to the new
25480 scheme. Also, add an assertion to prevent the initial context from
25481 removed.
25482 (grub_env_insert): Removed the code for the sorted list.
25483 (grub_env_remove): Likewise.
25484 (grub_env_export): Simply mark the variable with
25485 GRUB_ENV_VAR_GLOBAL.
25486 (grub_env_set): A cosmetic change for naming consistency.
25487 (grub_env_get): Likewise.
25488 (grub_env_unset): Likewise.
25489 (grub_env_iterate): Rewritten to sort variables within this
25490 function.
25491 (grub_register_variable_hook): Fixed for naming consistency. Call
25492 grub_env_find again, only if NAME is not found at the first time.
25493 (mangle_data_slot_name): New function.
25494 (grub_env_set_data_slot): Likewise.
25495 (grub_env_get_data_slot): Likewise.
25496 (grub_env_unset_data_slot): Likewise.
25497
25498 * include/grub/env.h (grub_env_var_type): New enum.
25499 (GRUB_ENV_VAR_LOCAL): New constant.
25500 (GRUB_ENV_VAR_GLOBAL): Likewise.
25501 (GRUB_ENV_VAR_DATA): Likewise.
25502 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
25503 "type".
25504 (grub_env_set): Replace VAR with NAME for consistency.
25505 (grub_register_variable_hook): Likewise.
25506 (grub_env_export): Specify the name of the argument.
25507 (grub_env_set_data_slot): New prototype.
25508 (grub_env_get_data_slot): Likewise.
25509 (grub_env_unset_data_slot): Likewise.
25510
7f362539 255112006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
25512
25513 Extend the loader so that GRUB can accept a loader which comes
25514 back to GRUB when a loaded image exits. Also, this change adds
25515 support for a chainloader on EFI.
f19dbdb7 25516
7f362539 25517 * term/efi/console.c: Include grub/misc.h.
25518 (grub_console_checkkey): Display a scan code on the top for
25519 debugging. This will be removed once the EFI port gets stable.
25520 Correct the scan code mapping.
25521
25522 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
25523 allocate memory from larger regions, in order to reduce the number
25524 of allocated regions. Otherwise, the MacOSX loader panics.
25525 (filter_memory_map): Avoid less than 1MB for compatibility with
25526 other loaders.
25527 (add_memory_regions): Allocate from the tail of a region, if
25528 possible, to avoid allocating a region near to 1MB, for the MacOSX
25529 loader.
25530
25531 * kern/efi/init.c (grub_efi_set_prefix): Specify
25532 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
25533
25534 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
25535 argument IMAGE_HANDLE and specify it to get a loaded image.
25536 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
25537 grub_efi_get_loaded_image.
fe6b695a 25538 (grub_efi_get_filename): Divide the length by the size of
7f362539 25539 grub_efi_char16_t.
25540 (grub_efi_get_device_path): New function.
25541 (grub_efi_print_device_path): Print End Device Path nodes. Divide
25542 the length by the size of grub_efi_char16_t for a file path device
25543 path node.
25544
25545 * kern/loader.c (grub_loader_noreturn): New variable.
25546 (grub_loader_set): Accept a new argument NORETURN. Set
25547 GRUB_LOADER_NORETURN to NORETURN.
25548 All callers changed.
25549 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
25550 grub_machine_fini.
25551
25552 * include/grub/efi/efi.h (grub_efi_get_device_path): New
25553 prototype.
25554 (grub_efi_get_loaded_image): Take an argument to specify an image
25555 handle.
25556
25557 * include/grub/loader.h (grub_loader_set): Added one more argument
25558 NORETURN.
25559
25560 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
25561 instead of grub_efi_open_protocol.
25562 (grub_efidisk_get_device_name): Likewise.
25563 (grub_efidisk_close): Print a newline.
25564 (grub_efidisk_get_device_handle): Fixed to use
25565 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
25566 GRUB_EFI_DEVICE_PATH_TYPE.
25567
25568 * disk/efi/efidisk.c (device_path_guid): Moved to ...
25569 * kern/efi/efi.c (device_path_guid): ... here.
25570
25571 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
25572 chain.mod.
25573 (kernel_mod_HEADERS): Added efi/disk.h.
25574 (_chain_mod_SOURCES): New variable.
25575 (_chain_mod_CFLAGS): Likewise.
25576 (_chain_mod_LDFLAGS): Likewise.
25577 (chain_mod_SOURCES): Likewise.
25578 (chain_mod_CFLAGS): Likewise.
25579 (chain_mod_LDFLAGS): Likewise.
25580
25581 * DISTLIST: Added include/grub/efi/chainloader.h,
25582 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
25583
25584 * include/grub/efi/chainloader.h: New file.
25585 * loader/efi/chainloader.c: Likewise.
25586 * loader/efi/chainloader_normal.c: Likewise.
25587
c0111d6e 255882006-04-30 Marco Gerards <marco@gnu.org>
25589
25590 * commands/configfile.c (grub_cmd_source): New function.
25591 (GRUB_MOD_INIT): Register the commands `source' and `.'.
25592 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
25593
df5341da 255942006-04-30 Marco Gerards <marco@gnu.org>
25595
25596 * normal/execute.c (grub_script_execute_cmd): Change the return
25597 type to `grub_err_t'. Correctly return the error.
25598 (grub_script_execute_cmdline): In case a command line is not a
25599 command or a function, try to interpret it as an assignment.
25600
f85934bd 256012006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
25602
25603 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
25604 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
25605 skip a node whose name is obviously invalid as UTF-16,
25606 i.e. contains a NUL character. Stop the iteration when the last
25607 directory entry is found. Instead of using the return value of
25608 grub_hfsplus_btree_iterate_node, store the value in RET and use
25609 it, because the iterator can be stopped by the last directory
25610 entry.
25611
8f8a2cf8 256122006-04-30 Marco Gerards <marco@gnu.org>
25613
25614 * include/grub/env.h (grub_env_export): New prototype. Reported
25615 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
25616
a27e84ce 256172006-04-30 Marco Gerards <marco@gnu.org>
25618
25619 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
25620 size of the extents in a catalog file record.
25621
eaef0553 256222006-04-29 Marco Gerards <marco@gnu.org>
25623
25624 * commands/configfile.c (grub_cmd_configfile): Execute the
25625 configfile within its own context.
25626
25627 * include/grub/env.h (grub_env_context_open): New prototype.
25628 (grub_env_context_close): Likewise.
25629
25630 * kern/env.c (grub_env): Removed.
25631 (grub_env_sorted): Likewise.
25632 (grub_env_context): New variable.
25633 (grub_env_var_context): Likewise.
25634 (grub_env_find): Search both the active context and the global
25635 context.
25636 (grub_env_context_open): New function.
25637 (grub_env_context_close): Likewise.
25638 (grub_env_insert): Likewise.
25639 (grub_env_remove): Likewise.
25640 (grub_env_export): Likewise.
25641 (grub_env_set): Changed to use helper functions to avoid code
25642 duplication.
25643 (grub_env_iterate): Rewritten so both the current context and the
25644 global context are being used.
25645
25646 * normal/command.c (export_command): New function.
25647 (grub_command_init): Register the `export' function.
25648
7b455f4d 256492006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
25650
25651 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
25652 explicitly to suppress gcc's warnings.
25653 * fs/fat.c (grub_fat_find_dir): Likewise.
25654 (grub_fat_label): Likewise.
25655 * fs/xfs.c (grub_xfs_read_inode): Likewise.
25656 (grub_xfs_mount): Likewise.
25657 (grub_xfs_label): Likewise.
25658 * fs/affs.c (grub_affs_mount): Likewise.
25659 (grub_affs_label): Likewise.
25660 (grub_affs_iterate_dir): Likewise.
25661 * fs/sfs.c (grub_sfs_mount): Likewise.
25662 (grub_sfs_iterate_dir): Likewise.
25663 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
25664 * fs/hfs.c (grub_hfs_mount): Likewise.
25665 (grub_hfs_cmp_catkeys): Likewise.
25666 (grub_hfs_find_dir): Likewise.
25667 (grub_hfs_dir): Likewise.
25668 (grub_hfs_label): Likewise.
25669 * fs/jfs.c (grub_jfs_mount): Likewise.
25670 (grub_jfs_opendir): Likewise.
25671 (grub_jfs_getent): Likewise.
25672 (grub_jfs_lookup_symlink): Likewise.
25673 (grub_jfs_label): Likewise.
25674 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
25675 (grub_hfsplus_iterate_dir): Likewise.
25676 (grub_hfsplus_btree_iterate_node): Made static.
25677
25678 * util/grub-emu.c (prefix): New variable.
25679 (grub_machine_set_prefix): New function.
25680 (main): Do not set the environment variable "prefix" here. Only
25681 set PREFIX, which is used later by grub_machine_set_prefix.
25682
25683 * include/grub/video.h: Do not include grub/symbol.h.
25684 (grub_video_register): Not exported. This symbol is not defined in
25685 the kernel.
25686 (grub_video_unregister): Likewise.
25687 (grub_video_iterate): Likewise.
25688 (grub_video_setup): Likewise.
25689 (grub_video_restore): Likewise.
25690 (grub_video_get_info): Likewise.
25691 (grub_video_get_blit_format): Likewise.
25692 (grub_video_set_palette): Likewise.
25693 (grub_video_get_palette): Likewise.
25694 (grub_video_set_viewport): Likewise.
25695 (grub_video_get_viewport): Likewise.
25696 (grub_video_map_color): Likewise.
25697 (grub_video_map_rgb): Likewise.
25698 (grub_video_map_rgba): Likewise.
25699 (grub_video_fill_rect): Likewise.
25700 (grub_video_blit_glyph): Likewise.
25701 (grub_video_blit_bitmap): Likewise.
25702 (grub_video_blit_render_target): Likewise.
25703 (grub_video_scroll): Likewise.
25704 (grub_video_swap_buffers): Likewise.
25705 (grub_video_create_render_target): Likewise.
25706 (grub_video_delete_render_target): Likewise.
25707 (grub_video_set_active_render_target): Likewise.
25708
25709 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
25710 Undefined.
25711 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
25712
25713 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
25714 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
25715 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
25716 instead of $(srcdir)/genkernsyms.sh.
25717
25718 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
25719 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
25720 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
25721 instead of $(srcdir)/genkernsyms.sh.
25722
25723 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
25724 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
25725 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
25726 instead of $(srcdir)/genkernsyms.sh.
25727
25728 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
25729 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
25730 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
25731 instead of $(srcdir)/genkernsyms.sh.
25732
25733 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
25734 genkernsyms.sh.
25735
25736 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
25737 genkernsyms.sh.
25738 (gensymlist.sh): New target.
25739 (genkernsyms.sh): Likewise.
25740
25741 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
25742 genkernsyms.sh.in and gensymlist.sh.in.
25743
25744 * genkernsyms.sh: Removed.
25745 * gensymlist.sh: Likewise.
f19dbdb7 25746
7b455f4d 25747 * genkernsyms.sh.in: New file.
25748 * gensymlist.sh.in: Likewise.
25749
1885bb27 257502006-04-25 Hollis Blanchard <hollis@penguinppc.org>
25751
25752 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
25753 clobber "prefix", since we may have already set it manually.
25754
71538dff 257552006-04-25 Hollis Blanchard <hollis@penguinppc.org>
25756
25757 * kern/misc.c (abort): New alias for grub_abort.
25758
2965c7cc 257592006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
25760
25761 A new machine-specific function "grub_machine_set_prefix" is
25762 defined. This is called after loading modules, so that a prefix
25763 initialization can use modules. Also, this change adds an
25764 intensive debugging feature for the memory manager via the
25765 configure option "--enable-mm-debug".
f19dbdb7 25766
2965c7cc 25767 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
25768 PART.LEN.
25769
25770 * kern/sparc64/ieee1275/init.c (abort): Removed.
25771 (grub_stop): Likewise.
25772 (grub_exit): New function.
25773 (grub_set_prefix): Renamed to ...
25774 (grub_machine_set_prefix): ... this.
25775 (grub_machine_init): Do not call grub_set_prefix.
25776
25777 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
25778 (grub_machine_set_prefix): ... this.
25779 (grub_machine_init): Do not call grub_set_prefix.
25780
25781 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
25782 (grub_machine_init): Do not set the prefix here.
25783
25784 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
25785
25786 * kern/efi/init.c: Include grub/mm.h.
25787 (grub_efi_set_prefix): New function.
25788
25789 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
25790 (grub_efi_get_filename): New function.
25791 (grub_print_device_path): Renamed to ...
25792 (grub_efi_print_device_path): ... this.
25793
25794 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
25795 [MM_DEBUG] (grub_realloc): Likewise.
25796 [MM_DEBUG] (grub_free): Likewise.
25797 [MM_DEBUG] (grub_memalign): Likewise.
25798 [MM_DEBUG] (grub_mm_debug): New variable.
25799 [MM_DEBUG] (grub_debug_malloc): New function.
25800 [MM_DEBUG] (grub_debug_free): New function.
25801 [MM_DEBUG] (grub_debug_realloc): New function.
25802 [MM_DEBUG] (grub_debug_memalign): New function.
25803
25804 * kern/misc.c (grub_abort): Print a newline to distinguish
25805 the message.
25806
25807 * kern/main.c (grub_main): Call grub_machine_set_prefix and
25808 grub_set_root_dev after loading modules. This is necessary when
25809 setting a prefix depends on modules.
25810
25811 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
25812 (grub_efi_print_device_path): ... this.
25813 (grub_efi_get_filename): New prototype.
25814 (grub_efi_set_prefix): Likewise.
25815
25816 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
25817 and grub/disk.h.
25818 (grub_efidisk_get_device_handle): New prototype.
25819 (grub_efidisk_get_device_name): Likewise.
25820
25821 * include/grub/mm.h: Include config.h.
25822 (MM_DEBUG): Removed.
25823 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
25824 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
25825 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
25826 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
25827 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
25828 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
25829 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
25830 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
25831 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
25832
25833 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
25834
25835 * disk/efi/efidisk.c: Include grub/partition.h.
25836 (iterate_child_devices): New function.
25837 (add_device): First, compare only last device path nodes, so that
25838 devices are sorted by the types.
25839 (grub_efidisk_get_device_handle): New function.
25840 (grub_efidisk_get_device_name): Likewise.
25841
25842 * configure.ac (--enable-mm-debug): New option to enable the
25843 memory manager debugging feature. This makes the binary much
25844 bigger, so is disabled by default.
25845
9cacaa17 258462006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
25847
25848 Use grub_abort instead of grub_stop, and grub_exit must be
25849 define in each architecture now. Also, this change adds support
25850 for EFI disks.
f19dbdb7 25851
9cacaa17 25852 * util/i386/pc/grub-probefs.c: Include grub/term.h.
25853 (grub_getkey): New function.
25854 (grub_term_get_current): Likewise.
25855
25856 * util/i386/pc/grub-setup.c: Include grub/term.h.
25857 (grub_getkey): New function.
25858 (grub_term_get_current): Likewise.
25859
25860 * util/misc.c (grub_stop): Renamed to ...
25861 (grub_exit): ... this.
25862
25863 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
25864 (grub_exit): ... this.
25865 (grub_machine_init): Use grub_abort instead of abort.
25866 (grub_stop): Removed.
25867
25868 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
25869 abort.
25870
25871 * kern/i386/pc/startup.S (grub_exit): New function.
25872 (cold_reboot): New label.
25873
25874 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
25875 (grub_efi_init): Call grub_efidisk_init.
25876 (grub_efi_fini): Call grub_efidisk_fini.
25877
25878 * kern/efi/efi.c: Include grub/mm.h.
25879 (grub_efi_console_control_guid): Renamed to ...
25880 (console_control_guid): ... this.
25881 (grub_efi_loaded_image_guid): Renamed to ...
25882 (loaded_image_guid): ... this.
25883 (grub_efi_locate_handle): New function.
25884 (grub_efi_open_protocol): Likewise.
25885 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
25886 GRUB_EFI_CONSOLE_CONTROL_GUID.
25887 (grub_efi_exit): Removed.
25888 (grub_stop): Likewise.
25889 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
25890 (grub_exit): New function.
25891 (grub_print_device_path): Likewise.
25892
25893 * kern/rescue.c (grub_rescue_cmd_exit): New function.
25894 (grub_enter_rescue_mode): Register "exit".
25895
25896 * kern/misc.c (grub_real_dprintf): A cosmetic change.
25897 (grub_abort): New function.
25898
25899 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
25900
25901 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
25902
25903 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
25904
25905 * include/grub/efi/efi.h (grub_efi_exit): Removed.
25906 (grub_print_device_path): New prototype.
25907 (grub_efi_locate_handle): Likewise.
25908 (grub_efi_open_protocol): Likewise.
25909
25910 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
25911 * disk/efi/efidisk.c: Likewise.
25912
25913 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
25914
25915 * include/grub/efi/console_control.h
25916 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
25917
25918 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
25919 last 8 bytes as an array.
25920 (GRUB_EFI_DISK_IO_GUID): New macro.
25921 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
25922 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
25923 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
25924 grub_uint8_t.
25925 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
25926 (struct grub_efi_device_path): Rename the member "sub_type" to
25927 "subtype".
25928 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
25929 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
25930 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
25931 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
25932 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
25933 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
25934 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
25935 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
25936 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
25937 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
25938 (struct grub_efi_pci_device_path): New structure.
25939 (grub_efi_pci_device_path_t): New type.
25940 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
25941 (struct grub_efi_pccard_device_path): New structure.
25942 (grub_efi_pccard_device_path_t): New type.
25943 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
25944 (struct grub_efi_memory_mapped_device_path): New structure.
25945 (grub_efi_memory_mapped_device_path_t): New type.
25946 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
25947 (struct grub_efi_vendor_device_path): New structure.
25948 (grub_efi_vendor_device_path_t): New type.
25949 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
25950 (struct grub_efi_controller_device_path): New structure.
25951 (grub_efi_controller_device_path_t): New type.
25952 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
25953 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
25954 (struct grub_efi_acpi_device_path): New structure.
25955 (grub_efi_acpi_device_path_t): New type.
25956 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
25957 (struct grub_efi_expanded_acpi_device_path): New structure.
25958 (grub_efi_expanded_acpi_device_path_t): New type.
25959 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
25960 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
25961 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
25962 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
25963 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
25964 (struct grub_efi_atapi_device_path): New structure.
25965 (grub_efi_atapi_device_path_t): New type.
25966 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
25967 (struct grub_efi_fibre_channel_device_path): New structure.
25968 (grub_efi_fibre_channel_device_path_t): New type.
25969 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
25970 (struct grub_efi_1394_device_path): New structure.
25971 (grub_efi_1394_device_path_t): New type.
25972 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
25973 (struct grub_efi_usb_device_path): New structure.
25974 (grub_efi_usb_device_path_t): New type.
25975 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
25976 (struct grub_efi_usb_class_device_path): New structure.
25977 (grub_efi_usb_class_device_path_t): New type.
25978 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
25979 (struct grub_efi_i2o_device_path): New structure.
25980 (grub_efi_i2o_device_path_t): New type.
25981 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
25982 (struct grub_efi_mac_address_device_path): New structure.
25983 (grub_efi_mac_address_device_path_t): New type.
25984 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
25985 (struct grub_efi_ipv4_device_path): New structure.
25986 (grub_efi_ipv4_device_path_t): New type.
25987 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
25988 (struct grub_efi_ipv6_device_path): New structure.
25989 (grub_efi_ipv6_device_path_t): New type.
25990 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
25991 (struct grub_efi_infiniband_device_path): New structure.
25992 (grub_efi_infiniband_device_path_t): New type.
25993 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
25994 (struct grub_efi_uart_device_path): New structure.
25995 (grub_efi_uart_device_path_t): New type.
25996 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
25997 (struct grub_efi_vendor_messaging_device_path): New structure.
25998 (grub_efi_vendor_messaging_device_path_t): New type.
25999 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
26000 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
26001 (struct grub_efi_hard_drive_device_path): New structure.
26002 (grub_efi_hard_drive_device_path_t): New type.
26003 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
26004 (struct grub_efi_cdrom_device_path): New structure.
26005 (grub_efi_cdrom_device_path_t): New type.
26006 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
26007 (struct grub_efi_vendor_media_device_path): New structure.
26008 (grub_efi_vendor_media_device_path_t): New type.
26009 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
26010 (struct grub_efi_file_path_device_path): New structure.
26011 (grub_efi_file_path_device_path_t): New type.
26012 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
26013 (struct grub_efi_protocol_device_path): New structure.
26014 (grub_efi_protocol_device_path_t): New type.
26015 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
26016 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
26017 (struct grub_efi_bios_device_path): New structure.
26018 (grub_efi_bios_device_path_t): New type.
26019 (struct grub_efi_disk_io): New structure.
26020 (grub_efi_disk_io_t): New type.
26021 (struct grub_efi_block_io_media): New structure.
26022 (grub_efi_block_io_media_t): New type.
26023 (struct grub_efi_block_io): New structure.
26024 (grub_efi_block_io_t): New type.
26025
26026 * include/grub/misc.h (grub_stop): Removed.
26027 (grub_exit): New prototype.
26028 (grub_abort): Likewise.
26029
26030 * include/grub/disk.h (enum grub_disk_dev_id): Added
26031 GRUB_DISK_DEVICE_EFIDISK_ID.
26032
26033 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
26034 disk/efi/efidisk.c.
26035 (kernel_syms.lst): Remove the target if an error occurs.
26036
49986a9f 260372006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
26038
26039 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
26040 as it was simply too buggy.
26041
970d3b8a 260422006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
26043
26044 * kern/misc.c (grub_lltoa): New function.
26045 (grub_vsprintf): Added support for the long long suffix,
26046 i.e. "ll".
26047
ff04ec24 260482006-04-20 Hollis Blanchard <hollis@penguinppc.org>
26049
26050 * Makefile.in (LDFLAGS): Add variable.
26051 (LD): Remove variable.
26052 * configure.ac: Add -m32 to LDFLAGS.
26053 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
26054 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
26055 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
26056 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
26057 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
26058 variables.
26059 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
26060 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
26061 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
26062
37e5e1a4 260632006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
26064
26065 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
26066 length for unknown glyph.
26067
c352d8dd 260682006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
26069
2eab1c0d 26070 Add support for pre-loaded modules into the EFI port.
f19dbdb7 26071
2eab1c0d 26072 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
26073 completely. Accept one more argument DIR. The caller has changed.
26074
26075 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
26076
26077 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
26078 (grub_efi_loaded_image_guid): New variable.
26079 (grub_efi_get_loaded_image): New function.
26080 (grub_arch_modules_addr): Likewise.
26081
26082 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
26083 prototype.
26084
26085 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
26086 (struct grub_efi_loaded_image): New structure.
26087 (grub_efi_loaded_image_t): New type.
26088
260892006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 26090
c352d8dd 26091 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
26092 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
26093 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
26094
6d01d6b4 260952006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
26096
26097 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
26098
976a4ea0 260992006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
26100
26101 * DISTLIST: Added include/grub/efi/console.h,
26102 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
26103 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
26104
26105 * include/grub/efi/console.h: New file.
26106 * include/grub/efi/time.h: Likewise.
26107 * include/grub/i386/efi/kernel.h: Likewise.
26108 * kern/efi/init.c: Likewise.
26109 * kern/efi/mm.c: Likewise.
26110 * term/efi/console.c: Likewise.
f19dbdb7 26111
976a4ea0 26112 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
26113 (grub_stop): Removed.
26114 (grub_get_rtc): Likewise.
26115 (grub_machine_init): Simply call grub_efi_init.
26116 (grub_machine_fini): Call grub_efi_fini.
26117
26118 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
26119 (grub_efi_output_string): Removed.
26120 (grub_efi_stall): New function.
26121 (grub_stop): Likewise.
26122 (grub_get_rtc): Likewise.
26123
26124 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
26125 (grub_efi_stall): New prototype.
26126 (grub_efi_allocate_pages): Likewise.
26127 (grub_efi_free_pages): Likewise.
26128 (grub_efi_get_memory_map): Likewise.
26129 (grub_efi_mm_init): Likewise.
26130 (grub_efi_mm_fini): Likewise.
26131 (grub_efi_init): Likewise.
26132 (grub_efi_fini): Likewise.
26133
26134 * include/grub/i386/efi/time.h: Do not include
26135 grub/symbol.h. Include grub/efi/time.h.
26136 (GRUB_TICKS_PER_SECOND): Removed.
26137 (grub_get_rtc): Likewise.
26138
26139 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
26140 Added padding. The EFI spec is buggy.
26141 (GRUB_EFI_BLACK): New macro.
26142 (GRUB_EFI_BLUE): Likewise.
26143 (GRUB_EFI_GREEN): Likewise.
26144 (GRUB_EFI_CYAN): Likewise.
26145 (GRUB_EFI_RED): Likewise.
26146 (GRUB_EFI_MAGENTA): Likewise.
26147 (GRUB_EFI_BROWN): Likewise.
26148 (GRUB_EFI_LIGHTGRAY): Likewise.
26149 (GRUB_EFI_BRIGHT): Likewise.
26150 (GRUB_EFI_DARKGRAY): Likewise.
26151 (GRUB_EFI_LIGHTBLUE): Likewise.
26152 (GRUB_EFI_LIGHTGREEN): Likewise.
26153 (GRUB_EFI_LIGHTCYAN): Likewise.
26154 (GRUB_EFI_LIGHTRED): Likewise.
26155 (GRUB_EFI_LIGHTMAGENTA): Likewise.
26156 (GRUB_EFI_YELLOW): Likewise.
26157 (GRUB_EFI_WHITE): Likewise.
26158 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
26159 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
26160 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
26161 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
26162 (GRUB_EFI_BACKGROUND_RED): Likewise.
26163 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
26164 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
26165 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
26166 (GRUB_EFI_TEXT_ATTR): Likewise.
26167
26168 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
26169 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
26170 (kernel_mod_HEADERS): Added efi/time.h.
26171
83709125 261722006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
26173
26174 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
26175 include/grub/efi/api.h, include/grub/efi/console_control.h,
26176 include/grub/efi/efi.h, include/grub/efi/pe32.h,
26177 include/grub/i386/efi/time.h, kern/efi/efi.c,
26178 kern/i386/efi/init.c, kern/i386/efi/startup.S,
26179 and util/i386/efi/grub-mkimage.c.
26180
26181 * Makefile.in (RMKFILES): Added i386-efi.rmk.
26182
26183 * genmk.rb (PModule#rule): Do not export symbols if
26184 #{prefix}_EXPORTS is set to "no".
26185
26186 * conf/i386-efi.mk: New file.
26187 * conf/i386-efi.rmk: Likewise.
26188 * include/grub/efi/api.h: Likewise.
26189 * include/grub/efi/console_control.h: Likewise.
26190 * include/grub/efi/efi.h: Likewise.
26191 * include/grub/efi/pe32.h: Likewise.
26192 * include/grub/i386/efi/time.h: Likewise.
26193 * kern/efi/efi.c: Likewise.
26194 * kern/i386/efi/init.c: Likewise.
26195 * kern/i386/efi/startup.S: Likewise.
26196 * util/i386/efi/grub-mkimage.c: Likewise.
26197
261982006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 26199
26200 * include/grub/script.h: Include <grub/parser.h> and
26201 "grub_script.tab.h".
26202 (struct grub_lexer_param): New struct.
26203 (struct grub_parser_param): Likewise.
26204 (grub_script_create_arglist): Pass the state in an argument.
26205 (grub_script_add_arglist): Likewise.
26206 (grub_script_create_cmdline): Likewise.
26207 (grub_script_create_cmdblock): Likewise.
26208 (grub_script_create_cmdif): Likewise.
26209 (grub_script_create_cmdmenu): Likewise.
26210 (grub_script_add_cmd): Likewise.
26211 (grub_script_arg_add): Likewise.
26212 (grub_script_lexer_ref): Likewise.
26213 (grub_script_lexer_deref): Likewise.
26214 (grub_script_lexer_record_start): Likewise.
26215 (grub_script_lexer_record_stop): Likewise.
26216 (grub_script_mem_record): Likewise.
26217 (grub_script_mem_record_stop): Likewise.
26218 (grub_script_malloc): Likewise.
26219 (grub_script_yylex): Likewise.
26220 (grub_script_yyparse): Likewise.
26221 (grub_script_yyerror): Likewise.
26222 (grub_script_yylex): Likewise.
26223 (grub_script_lexer_init): Return the state.
26224
26225 * normal/lexer.c (grub_script_lexer_state): Removed variable.
26226 (grub_script_lexer_done): Likewise.
26227 (grub_script_lexer_getline): Likewise.
26228 (grub_script_lexer_refs): Likewise.
26229 (script): Likewise.
26230 (newscript): Likewise.
26231 (record): Likewise.
26232 (recording): Likewise.
26233 (recordpos): Likewise.
26234 (recordlen): Likewise.
26235 (grub_script_lexer_init): Return the state instead of setting
26236 global variables.
26237 (grub_script_lexer_ref): Use the newly added argument for state
26238 instead of globals.
26239 (grub_script_lexer_deref): Likewise.
26240 (grub_script_lexer_record_start): Likewise.
26241 (grub_script_lexer_record_stop): Likewise.
26242 (recordchar): Likewise.
26243 (nextchar): Likewise.
26244 (grub_script_yylex2): Likewise.
26245 (grub_script_yylex): Likewise.
26246 (grub_script_yyerror): Likewise.
26247
26248 * normal/parser.y (func_mem): Removed variable.
26249 (menu_entry): Likewise.
26250 (err): Likewise.
26251 (%lex-param): New parser option.
26252 (%parse-param): Likewise.
26253 (script): Always return the AST.
26254 (argument): Pass the state around.
26255 (arguments): Likewise.
26256 (grubcmd): Likewise.
26257 (commands): Likewise.
26258 (function): Likewise.
26259 (menuentry): Likewise.
26260 (if_statement): Likewise.
26261 (if): Likewise.
26262
26263 * normal/script.c (grub_script_memused): Removed variable.
26264 (grub_script_parsed): Likewise.
26265 (grub_script_malloc): Added a state argument. Use that instead of
26266 global variables.
26267 (grub_script_mem_record): Likewise.
26268 (grub_script_mem_record_stop): Likewise.
26269 (grub_script_arg_add): Likewise.
26270 (grub_script_add_arglist): Likewise.
26271 (grub_script_create_cmdline): Likewise.
26272 (grub_script_create_cmdif): Likewise.
26273 (grub_script_create_cmdmenu): Likewise.
26274 (grub_script_add_cmd): Likewise.
26275 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 26276
e2a8c904 262772006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 26278
26279 * normal/command.c (grub_command_init): Remove the title command.
26280
26281 * normal/lexer.c (grub_script_yylex): Renamed from this...
26282 (grub_script_yylex2): ... to this.
26283 (grub_script_yylex): New function. Temporary
26284 introduced to filter some tokens.
26285 (grub_script_yyerror): Print a newline.
26286
26287 * normal/main.c (read_config_file): Output information about the
26288 lines that contain errors. Wait for a key after all lines have
26289 been processed. Don't return an empty menu.
26290
26291 * normal/parser.y (func_mem): Don't initialize.
26292 (menu_entry): Likewise.
26293 (err): New variable.
26294 (script): Don't return anything when an error was encountered.
26295 (ws, returns): Removed rules.
26296 (argument): Disabled concatenated variable support.
26297 (arguments): Remove explicit separators.
26298 (grubcmd): Likewise.
26299 (function): Likewise.
26300 (menuentry): Likewise.
26301 (if): Likewise.
26302 (commands): Likewise. Add error handling.
26303
26304 * normal/script.c (grub_script_create_cmdline): If
26305 `grub_script_parsed' is 0, assume the parser encountered an error.
26306
c9a86192 263072006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
26308
26309 * configure.ac: Add support for EFI. Fix the typo
26310 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
26311
70f3b243 263122006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
26313
26314 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
26315 foreign multibyte characters should be shown correctly.
26316
65f201ad 263172006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
26318
26319 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
26320 calculation.
26321 (read_config_file): Made it to close file before returning.
26322
b4b93674 263232006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
26324
26325 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
26326 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
26327 video/i386/pc/vbefill.c.
26328
26329 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
26330 video/i386/pc/vbefill.c.
26331
26332 * include/grub/video.h (grub_video_blit_format): New enum.
26333 (grub_video_mode_info): Added new member blit_format.
26334 (grub_video_get_blit_format): New function prototype.
26335
26336 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
26337 function prototype.
26338 (grub_video_vbe_map_rgb): Likewise.
26339 (grub_video_vbe_unmap_color): Likewise.
26340
26341 * include/grub/i386/pc/vbeblit.h: New file.
26342
26343 * include/grub/i386/pc/vbefill.h: New file.
26344
26345 * video/video.c (grub_video_get_blit_format): New function.
26346 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
26347 (grub_video_vbe_map_rgb): Likewise.
26348 (grub_video_vbe_unmap_color): Likewise.
26349
26350 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
26351 optimized fills.
26352 (grub_video_vbe_blit_render_target): Changed to use more optimized
26353 blits.
26354 (grub_video_vbe_setup): Added detection for optimized settings.
26355 (grub_video_vbe_create_render_target): Likewise.
26356
26357 * video/i386/pc/vbeblit.c: New file.
26358
26359 * video/i386/pc/vbefill.c: New file.
26360
c2379b9c 263612006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
26362
26363 * font/manager.c (grub_font_get_glyph): Removed font fixup from
26364 here...
26365
26366 * util/unifont2pff.rb: ... and moved it to here. Improved argument
26367 parsing to support both hex and dec ranges. If filename was missing
26368 show usage information.
26369
bd0d7896 263702006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
26371
26372 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
26373 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
26374
26375 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
26376 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
26377 (video_mod_SOURCES): Added.
26378 (video_mod_CFLAGS): Likewise.
26379 (video_mod_LDFLAGS): Likewise.
26380 (gfxterm_mod_SOURCES): Likewise.
26381 (gfxterm_mod_CFLAGS): Likewise.
26382 (gfxterm_mod_LDFLAGS): Likewise.
26383 (videotest_mod_SOURCES): Likewise.
26384 (videotest_mod_CFLAGS): Likewise.
26385 (videotest_mod_LDFLAGS): Likewise.
26386 (vesafb_mod_SOURCES): Removed.
26387 (vesafb_mod_CFLAGS): Likewise.
26388 (vesafb_mod_LDFLAGS): Likewise.
26389 (vga_mod_SOURCES): Likewise.
26390 (vga_mod_CFLAGS): Likewise.
26391 (vga_mod_LDFLAGS): Likewise.
26392
26393 * commands/videotest.c: New file.
26394
26395 * font/manager.c (fill_with_default_glyph): Modified to use
26396 grub_font_glyph.
26397 (grub_font_get_glyph): Likewise.
26398 (fontmanager): Renamed from this...
26399 (font_manager): ... to this.
26400
26401 * include/grub/font.h (grub_font_glyph): Added new structure.
26402 (grub_font_get_glyph): Modified to use grub_font_glyph.
26403
26404 * include/grub/misc.h (grub_abs): Added as inline function.
26405
26406 * include/grub/video.h: New file.
26407
26408 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
26409 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
26410 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
26411 (grub_vbe_get_controller_info): Renamed from this...
26412 (grub_vbe_bios_get_controller_info): ... to this.
26413 (grub_vbe_get_mode_info): Renamed from this...
26414 (grub_vbe_bios_get_mode_info): ... to this.
26415 (grub_vbe_set_mode): Renamed from this...
26416 (grub_vbe_bios_set_mode): ... to this.
26417 (grub_vbe_get_mode): Renamed from this...
26418 (grub_vbe_bios_get_mode): ... to this.
26419 (grub_vbe_set_memory_window): Renamed from this...
26420 (grub_vbe_bios_set_memory_window): ... to this.
26421 (grub_vbe_get_memory_window): Renamed from this...
26422 (grub_vbe_bios_get_memory_window): ... to this.
26423 (grub_vbe_set_scanline_length): Renamed from this...
26424 (grub_vbe_set_scanline_length): ... to this.
26425 (grub_vbe_get_scanline_length): Renamed from this...
26426 (grub_vbe_bios_get_scanline_length): ... to this.
26427 (grub_vbe_set_display_start): Renamed from this...
26428 (grub_vbe_bios_set_display_start): ... to this.
26429 (grub_vbe_get_display_start): Renamed from this...
26430 (grub_vbe_bios_get_display_start): ... to this.
26431 (grub_vbe_set_palette_data): Renamed from this...
26432 (grub_vbe_bios_set_palette_data): ... to this.
26433 (grub_vbe_set_pixel_rgb): Removed.
26434 (grub_vbe_set_pixel_index): Likewise.
26435
26436 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
26437 from this...
26438 (grub_vbe_bios_get_controller_info): ... to this.
26439 (grub_vbe_get_mode_info): Renamed from this...
26440 (grub_vbe_bios_get_mode_info): ... to this.
26441 (grub_vbe_set_mode): Renamed from this...
26442 (grub_vbe_bios_set_mode): ... to this.
26443 (grub_vbe_get_mode): Renamed from this...
26444 (grub_vbe_bios_get_mode): ... to this.
26445 (grub_vbe_set_memory_window): Renamed from this...
26446 (grub_vbe_bios_set_memory_window): ... to this.
26447 (grub_vbe_get_memory_window): Renamed from this...
26448 (grub_vbe_bios_get_memory_window): ... to this.
26449 (grub_vbe_set_scanline_length): Renamed from this...
26450 (grub_vbe_set_scanline_length): ... to this.
26451 (grub_vbe_get_scanline_length): Renamed from this...
26452 (grub_vbe_bios_get_scanline_length): ... to this.
26453 (grub_vbe_set_display_start): Renamed from this...
26454 (grub_vbe_bios_set_display_start): ... to this.
26455 (grub_vbe_get_display_start): Renamed from this...
26456 (grub_vbe_bios_get_display_start): ... to this.
26457 (grub_vbe_set_palette_data): Renamed from this...
26458 (grub_vbe_bios_set_palette_data): ... to this.
26459 (grub_vbe_bios_get_controller_info): Fixed problem with registers
26460 getting corrupted after calling it. Added more pushes and pops.
26461 (grub_vbe_bios_set_mode): Likewise.
26462 (grub_vbe_bios_get_mode): Likewise.
26463 (grub_vbe_bios_get_memory_window): Likewise.
26464 (grub_vbe_bios_set_scanline_length): Likewise.
26465 (grub_vbe_bios_get_scanline_length): Likewise.
26466 (grub_vbe_bios_get_display_start): Likewise.
26467 (grub_vbe_bios_set_palette_data): Likewise.
26468
26469 * normal/cmdline.c (cl_set_pos): Refresh the screen.
26470 (cl_insert): Likewise.
26471 (cl_delete): Likewise.
26472
26473 * term/gfxterm.c: New file.
26474
26475 * term/i386/pc/vesafb.c: Removed file.
26476
26477 * video/video.c: New file.
26478
26479 * video/i386/pc/vbe.c (real2pm): Added new function.
26480 (grub_video_vbe_draw_pixel): Likewise.
26481 (grub_video_vbe_get_video_ptr): Likewise.
26482 (grub_video_vbe_get_pixel): Likewise
26483 (grub_video_vbe_init): Likewise.
26484 (grub_video_vbe_fini): Likewise.
26485 (grub_video_vbe_setup): Likewise.
26486 (grub_video_vbe_get_info): Likewise.
26487 (grub_video_vbe_set_palette): Likewise.
26488 (grub_video_vbe_get_palette): Likewise.
26489 (grub_video_vbe_set_viewport): Likewise.
26490 (grub_video_vbe_get_viewport): Likewise.
26491 (grub_video_vbe_map_color): Likewise.
26492 (grub_video_vbe_map_rgb): Likewise.
26493 (grub_video_vbe_map_rgba): Likewise.
26494 (grub_video_vbe_unmap_color): Likewise.
26495 (grub_video_vbe_fill_rect): Likewise.
26496 (grub_video_vbe_blit_glyph): Likewise.
26497 (grub_video_vbe_blit_bitmap): Likewise.
26498 (grub_video_vbe_blit_render_target): Likewise.
26499 (grub_video_vbe_scroll): Likewise.
26500 (grub_video_vbe_swap_buffers): Likewise.
26501 (grub_video_vbe_create_render_target): Likewise.
26502 (grub_video_vbe_delete_render_target): Likewise.
26503 (grub_video_vbe_set_active_render_target): Likewise.
26504 (grub_vbe_set_pixel_rgb): Remove function.
26505 (grub_vbe_set_pixel_index): Likewise.
26506 (index_color_mode): Remove static variable.
26507 (active_mode): Likewise.
26508 (framebuffer): Likewise.
26509 (bytes_per_scan_line): Likewise.
26510 (grub_video_vbe_adapter): Added new static variable.
26511 (framebuffer): Likewise.
26512 (render_target): Likewise.
26513 (initial_mode): Likewise.
26514 (mode_in_use): Likewise.
26515 (mode_list): Likewise.
26516
5f97350b 265172006-03-10 Marco Gerards <marco@gnu.org>
26518
26519 * configure.ac (AC_INIT): Bumped to 1.93.
26520
26521 * DISTLIST: Added `include/grub/hfs.h'.
26522
a3c5c6f8 265232006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
26524
26525 * boot/i386/pc/boot.S (general_error): Before looping, try INT
26526 18H, which might help the BIOS falling back to next boot media.
26527
6de53d26 265282006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
26529
26530 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
26531 Poe Chen <poe.poechen@gmail.com>.
26532
77c4a393 265332006-01-17 Marco Gerards <marco@gnu.org>
26534
26535 * include/grub/normal.h: Include <grub/script.h>.
26536 (grub_command_list): Removed struct.
26537 (grub_command_list_t): Removed type.
26538 (grub_menu_entry): Remove members `num' and `command_list'. Add
26539 members `commands' and `sourcecode'.
26540 * include/grub/script.h: Add inclusion guards.
26541 (grub_script_cmd_menuentry): New struct.
26542 (grub_script_execute_menuentry): New prototype.
26543 (grub_script_lexer_record_start): Likewise.
26544 (grub_script_lexer_record_stop): Likewise.
26545 * normal/execute.c (grub_script_execute_menuentry): New function.
26546 * normal/lexer.c (record, recording, recordpos, recordlen): New
26547 variables.
26548 (grub_script_lexer_record_start): New function.
26549 (grub_script_lexer_record_stop): Likewise.
26550 (recordchar): Likewise.
26551 (nextchar): Likewise.
26552 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
26553 2048 as the buffer size. Add the tokens `menuentry' and `@'.
26554 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
26555 (current_menu): New variable.
26556 (free_menu): Mainly rewritten.
26557 (grub_normal_menu_addentry): New function.
26558 (read_config_file): Rewritten.
26559 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 26560 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 26561 the menu entry.
26562 (run): Mainly rewritten.
26563 * normal/parser.y (menu_entry): New variable.
26564 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
26565 (menuentry): New rule.
26566 (command): Add `menuentry'.
26567 (if_statement): Allow additional returns before `fi'.
26568 * normal/script.c (grub_script_create_cmdmenu): New function.
26569
144f1f98 265702006-01-03 Marco Gerards <marco@gnu.org>
26571
26572 * INSTALL: GNU Bison is required.
26573 * configure.ac: Rewritten the test to detect Bison.
26574 * Makefile.in (YACC): New variable. Reported by Xun Sun
26575 <xun.sun.cn@gmail.com>.
26576
af4b2d89 265772006-01-03 Marco Gerards <marco@gnu.org>
26578
26579 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
26580 the HFS+ filesystem to filesystem blocks.
26581 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
26582 GCC warning is silenced.
26583
15643b71 265842006-01-03 Marco Gerards <marco@gnu.org>
26585
26586 * partmap/apple.c (apple_partition_map_iterate): Convert the data
26587 read from disk from big endian to host byte order.
26588
00905879 265892006-01-03 Hollis Blanchard <hollis@penguinppc.org>
26590
26591 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
26592 documentation.
26593 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
26594 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
26595 embedded HFS+ filesystem.
26596 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
26597 (grub_hfs_sblock): Move from here...
26598 * include/grub/hfs.h: To here... New file.
26599 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
26600 documentation.
26601 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
26602 New macros.
26603 (grub_hfsplus_volheader): Change type of member `magic' to
26604 `grub_uint16_t'.
26605 (grub_hfsplus_data): Add new member `embedded_offset'.
26606 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
26607 returned block.
26608 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
26609 Calculate the offset.
26610
8899bc3e 266112005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
26612
26613 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
26614 Removed.
26615 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
26616
ae8c0277 266172005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
26618
26619 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
26620 ENV->NAME is NULL after allocating ENV->VALUE.
26621
07084456 266222005-12-25 Marco Gerards <marco@gnu.org>
26623
26624 * kern/env.c (grub_env_set): Rewritten the error handling code.
26625
4750f5f1 266262005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
26627
26628 * geninit.sh: Made more robust, and more portable.
26629
50214199 266302005-12-25 Marco Gerards <marco@gnu.org>
26631
26632 Add support for Apple HFS+ filesystems.
f19dbdb7 26633
50214199 26634 * fs/hfsplus.c: New file.
26635
26636 * DISTLIST: Added `fs/hfsplus.c'.
26637
26638 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
26639 (hfsplus_mod_SOURCES): New variable.
26640 (hfsplus_mod_CFLAGS): Likewise.
26641 (hfsplus_mod_LDFLAGS): Likewise.
26642 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
26643 (grub_setup_SOURCES): Likewise.
26644 (grub_mkdevicemap_SOURCES): Likewise.
26645 (grub_emu_SOURCES): Likewise.
26646 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26647
26648 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
26649
26650 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
26651
befaed6c 266522005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
26653
26654 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
26655 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
26656 include/grub/parser.h, include/grub/script.h, kern/parser.c,
26657 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
26658 normal/lexer.c, normal/parser.y, normal/script.c, and
26659 partmap/gpt.c.
26660 Removed kern/sparc64/cache.c.
26661
26662 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
26663 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
26664 grub_emu_init.c.
26665
26666 * configure.ac (AC_INIT): Bumped to 1.92.
26667
6a124103 266682005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
26669
26670 * kern/err.c (grub_error_push): Added new function to support error
26671 stacks.
26672 (grub_error_pop): Likewise.
26673 (grub_error_stack_items): New local variable to support error stacks.
26674 (grub_error_stack_pos): Likewise.
26675 (grub_error_stack_assert): Likewise.
26676 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
26677 stack depth.
26678 (grub_print_error): Added support to print errors from error stack.
26679
26680 * include/grub/err.h (grub_error_push): Added function prototype.
26681 (grub_error_pop): Likewise.
26682
be973c1b 266832005-12-09 Hollis Blanchard <hollis@penguinppc.org>
26684
26685 * configure.ac: Accept `powerpc64' as host_cpu.
26686 (amd64): Rename to `biarch32'.
26687
26688 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
26689 non-cacheline-aligned addresses.
26690
26691 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
26692 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
26693 if `size' is non-zero.
26694
b04216ab 266952005-12-03 Marco Gerards <mgerards@xs4all.nl>
26696
26697 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
26698 and `cd' to make sure the filename is not prefixed with a
26699 directory name.
26700 (pkgdata_MODULES): Add `gpt.mod'.
26701 (gpt_mod_SOURCES): New variable.
26702 (gpt_mod_CFLAGS): Likewise.
26703 (gpt_mod_LDFLAGS): Likewise.
26704
26705 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
26706
26707 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
26708 New macro.
26709
26710 * partmap/gpt.c: New file.
26711
26712 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
26713 GPT partition map is detected.
26714
41730ed9 267152005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
26716
26717 * commands/i386/pc/play.c: New file.
26718 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
26719 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
26720 macros.
f19dbdb7 26721
95dc3643 267222005-11-27 Marco Gerards <mgerards@xs4all.nl>
26723
26724 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
26725 ((unused))' to silence gcc warning.
26726
1569ec51 267272005-11-26 Hollis Blanchard <hollis@penguinppc.org>
26728
26729 * configure.ac: Correct `AC_PROG_YACC' test.
26730
9abde152 267312005-11-22 Hollis Blanchard <hollis@penguinppc.org>
26732
26733 * util/powerpc/ieee1275/grub-install.in: Run the mount point
26734 check before installing files.
26735
44b83271 267362005-11-22 Mike Small <smallm@panix.com>
26737
26738 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
26739 number regex so multidigit numbers are recognized correctly.
26740
267412005-11-22 Mike Small <smallm@panix.com>
26742
26743 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
26744 debugging message before attempting to claim memory.
26745 (grub_rescue_cmd_initrd): Add a claim debugging message and try
26746 multiple addresses in case of failure.
26747
9c12956b 267482005-11-22 Hollis Blanchard <hollis@penguinppc.org>
26749
26750 * term/tparm.c (get_space): Remove empty `if' statement.
26751
26752 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
26753
26754 * kern/parser.c (check_varstate): Rename `state' to 's'.
26755
aeaf81d9 267562005-11-22 Hollis Blanchard <hollis@penguinppc.org>
26757
26758 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
26759 variable definitions to the beginning of each function. Sort stack
26760 variables by size.
26761 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
26762 `buf' argument to `char *'.
26763
79bbb63f 267642005-11-22 Hollis Blanchard <hollis@penguinppc.org>
26765
26766 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
26767 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 26768 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 26769 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
26770 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
26771 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
26772 configfile.mod, search.mod, gzio.mod and test.mod.
26773 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
26774 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
26775 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
26776 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
26777 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
26778 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
26779 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
26780 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
26781 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
26782 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
26783 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
26784 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
26785 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
26786 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
26787 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
26788 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
26789 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
26790 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
26791 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
26792 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
26793 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
26794 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
26795 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
26796
26797 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
26798 `grep --include'.
26799 (pkgdata_MODULES): Add test.mod.
26800
233b1628 268012005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
26802
26803 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
26804 appending to variables with "+=".
26805 (PModule): Use full pathname to generate *.lst filenames.
26806
26807 * Makefile.in: Fixed list rules moved from genmk.rb.
26808 (.DELETE_ON_ERROR): New special target.
26809 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
26810
26811 * conf/i386-pc.rmk: Include conf/common.mk.
26812 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 26813 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 26814 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
26815 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
26816 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
26817 configfile.mod, search.mod, gzio.mod and test.mod.
26818 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
26819 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
26820 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
26821 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
26822 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
26823 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
26824 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
26825 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
26826 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
26827 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
26828 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
26829 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
26830 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
26831 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
26832 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
26833 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
26834 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
26835 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
26836 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
26837 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
26838 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
26839 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
26840 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
26841 here...
26842 * conf/common.rmk: ... to here. New file.
26843
26844 * conf/common.mk: New file.
26845
16f820c8 268462005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
26847
26848 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
26849 (grub_script.tab.c): ... here.
26850
26851 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
26852 (grub_script.tab.c): ... here.
26853
26854 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
26855 (grub_script.tab.c): ... here.
26856
26857 * normal/command.c (grub_command_find): Fixed a memory leak of
26858 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
26859
63ba1554 268602005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
26861
26862 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
26863 "@" which marks the start of a comment on ARM.
26864 (VARIABLE): Likewise.
26865
7f67dc13 268662005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
26867
79bbb63f 26868 Add support for Linux/ADFS partition tables.
7f67dc13 26869
26870 * partmap/acorn.c: New file.
26871
26872 * include/grub/acorn_filecore.h: Likewise.
26873
26874 * DISTLIST: Added `partmap/acorn.c' and
26875 `include/grub/acorn_filecore.h'.
f19dbdb7 26876
7f67dc13 26877 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26878 `partmap/acorn.c'.
26879 (pkgdata_MODULES): Add `acorn.mod'.
26880 (acorn_mod_SOURCES): New variable.
26881 (acorn_mod_CFLAGS): Likewise.
26882
26883 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
26884 `partmap/acorn.c'.
26885 (pkgdata_MODULES): Add `acorn.mod'.
26886 (acorn_mod_SOURCES): New variable.
26887 (acorn_mod_CFLAGS): Likewise.
26888
26889 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
26890 (pkgdata_MODULES): Add `acorn.mod'.
26891 (acorn_mod_SOURCES): New variable.
26892 (acorn_mod_CFLAGS): Likewise.
26893 (acorn_mod_LDFLAGS): Likewise.
26894
26895 * include/types.h (grub_disk_addr_t): New typedef.
26896
6d099807 268972005-11-13 Marco Gerards <mgerards@xs4all.nl>
26898
26899 * geninit.sh: New file.
26900
26901 * geninitheader.sh: Likewise.
26902
26903 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
26904 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
26905 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
26906 * commands/configfile.c (grub_configfile_init)
26907 (grub_configfile_fini): Likewise.
26908 * commands/default.c (grub_default_init, grub_default_fini):
26909 Likewise.
26910 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
26911 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
26912 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
26913 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
26914 Likewise.
26915 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
26916 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
26917 Likewise.
26918 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 26919 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 26920 Likewise.
26921 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
26922 Likewise.
fe6b695a 26923 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 26924 Likewise.
26925 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
26926 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
26927 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
26928 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
26929 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
26930 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
26931 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
26932 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
26933 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
26934 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
26935 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
26936 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
26937 * partmap/amiga.c (grub_amiga_partition_map_init)
26938 (grub_amiga_partition_map_fini): Likewise.
26939 * partmap/apple.c (grub_apple_partition_map_init)
26940 (grub_apple_partition_map_fini): Likewise.
26941 * partmap/pc.c (grub_pc_partition_map_init)
26942 (grub_pc_partition_map_fini): Likewise.
26943 * partmap/sun.c (grub_sun_partition_map_init,
26944 grub_sun_partition_map_fini): Likewise.
26945 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
26946 Likewise.
26947
26948 * util/grub-emu.c: Include <grub_modules_init.h>.
26949 (main): Don't initialize and de-initialize any modules directly,
26950 use `grub_init_all' and `grub_fini_all' instead.
26951
26952 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
26953 `grub_vesafb_mod_init'.
26954 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
26955 all users.
26956 * term/i386/pc/vga.c (grub_vga_init): Renamed to
26957 `grub_vga_mod_init'. Updated all users.
26958 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 26959
6d099807 26960 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
26961 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
26962 rules.
26963
26964 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
26965 Generate a function to initialize the module in utilities.
26966 Updated all callers.
26967 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
26968 initialize the module in utilities. Updated all callers.
26969
9046bcf0 269702005-11-09 Hollis Blanchard <hollis@penguinppc.org>
26971
26972 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
26973 escape sequence and a literal ^L to clear the screen.
26974
26975 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
26976 when returning from Open Firmware.
26977
d13ea639 269782005-11-09 Hollis Blanchard <hollis@penguinppc.org>
26979
26980 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
26981 (grub_ofconsole_height): Likewise.
26982 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
26983 manually insert a '\n'.
26984 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
26985 `grub_ofconsole_height'. Return early if these are already set.
26986
a8fcf206 269872005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
26988
26989 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
26990 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
26991 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
26992 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
26993 and `normal/script.c'.
26994 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
26995 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
26996 (test_mod_SOURCES): New variable.
26997 (test_mod_CFLAGS): Likewise.
26998 (test_mod_LDFLAGS): Likewise.
26999 (pkgdata_MODULES): Add `test.mod'.
27000 (grub_script.tab.c): New rule.
27001 (grub_script.tab.h): Likewise.
27002
b6b32745 270032005-11-07 Marco Gerards <mgerards@xs4all.nl>
27004
27005 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27006 `commands/test.c', `normal/execute.c', `normal/lexer.c',
27007 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
27008 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
27009 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
27010 (test_mod_SOURCES): New variable.
27011 (test_mod_CFLAGS): Likewise.
27012 (pkgdata_MODULES): Add `test.mod'.
27013 (grub_script.tab.c): New rule.
27014 (grub_script.tab.h): Likewise.
27015
daac212a 270162005-11-06 Marco Gerards <mgerards@xs4all.nl>
27017
27018 Add initial scripting support.
27019
27020 * commands/test.c: New file.
27021 * include/grub/script.h: Likewise.
27022 * normal/execute.c: Likewise.
27023 * normal/function.c: Likewise.
27024 * normal/lexer.c: Likewise.
27025 * normal/parser.y: Likewise.
27026 * normal/script.c: Likewise.
27027
27028 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 27029
daac212a 27030 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
27031 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
27032 `normal/function.c' and `normal/script.c'.
27033 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
27034 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 27035 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
27036 variables.
daac212a 27037 (pkgdata_MODULES): Add `test.mod'.
27038 (grub_script.tab.c): New rule.
27039 (grub_script.tab.h): Likewise.
27040
27041 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
27042
27043 * include/grub/normal.h (grub_test_init): New prototype.
27044 (grub_test_fini): Likewise.
f19dbdb7 27045
daac212a 27046 * normal/command.c: Include <grub/script.h>.
27047 (grub_command_execute): Rewritten.
f19dbdb7 27048
daac212a 27049 * util/grub-emu.c (main): Call `grub_test_init' and
27050 `grub_test_fini'.
27051
77500b2b 270522005-11-03 Hollis Blanchard <hollis@penguinppc.org>
27053
27054 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
27055 to 0.
27056 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
27057 there are no pending characters.
27058
e45deb9e 270592005-11-03 Hollis Blanchard <hollis@penguinppc.org>
27060
27061 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
27062 `grub_strndup' to drop device arguments. Replace unnecessary
27063 `grub_strndup' with `grub_strdup'.
27064
4ce32619 270652005-11-03 Hollis Blanchard <hollis@penguinppc.org>
27066
27067 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
27068 `debug' environment variable has been set.
27069
270702005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 27071
4ce32619 27072 * Makefile.in (install-local): Use $(DATA).
27073 (uninstall): Likewise.
27074 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
27075 (sbin_UTILITIES): ... to here.
27076 (sbin_SCRIPTS): New variable.
27077 (grub_install_SOURCES): New variable.
27078 * util/powerpc/ieee1275/grub-install.in: New file.
27079 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
27080 variable.
27081 (add_segments): Call `grub_util_get_path'.
27082
25fe6f03 270832005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
27084
27085 From Timothy Baldwin:
27086 * commands/ls.c (grub_ls_list_files): Close FILE with
27087 grub_file_close.
27088 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
27089
04ccf3ec 270902005-10-24 Marco Gerards <mgerards@xs4all.nl>
27091
27092 * include/grub/parser.h: New file.
27093
27094 * kern/parser.c: Likewise.
27095
27096 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
27097 (grub_setup_SOURCES): Likewise.
27098 (grub_probefs_SOURCES): Likewise.
27099 (grub_emu_SOURCES): Likewise.
27100 (kernel_img_HEADERS): Add `parser.h'.
27101
27102 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
27103 (grub_emu_SOURCES): Add `kern/parser.c'.
27104 (grubof_SOURCES): Likewise.
27105
27106 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
27107 (grubof_SOURCES): Add `kern/parser.c'.
27108
27109 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
27110
27111 * kern/misc.c (grub_split_cmdline): Removed function.
27112
27113 * kern/rescue.c: Include <grub/parser.h>.
27114 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
27115 of `grub_split_cmdline'.
27116
27117 * normal/command.c: Include <grub/parser.h>.
27118 (grub_command_execute): Use `grub_parser_split_cmdline' instead
27119 of `grub_split_cmdline'.
27120
27121 * normal/completion.c: Include <grub/parser.h>.
27122 (cmdline_state): New variable.
27123 (iterate_dir): End the filename with a quote depending on the
27124 command line state.
27125 (get_state): new function.
27126 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
27127 split the arguments and determine the current argument. When the
27128 argument string is not quoted, escape all spaces.
27129
6d8f4b0e 271302005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
27131
27132 * normal/sparc64/setjmp.S: New file.
27133
15cf03ed 271342005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
27135
27136 * include/grub/sparc64/libgcc.h: New file.
27137 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
27138 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
27139 normal/sparc64/setjmp.c.
27140
03e8661a 271412005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
27142
27143 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
27144 * kern/sparc64/cache.S: New file.
27145 * kern/sparc64/cache.c: Removed.
27146 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
27147 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
27148 -mtune=ultrasparc.
27149 (COMMON_LDFLAGS): Add -melf64_sparc.
27150 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
27151 (grubof_SOURCES): Use cache.S instead of cache.c.
27152 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
27153 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
27154 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
27155 commented though.
27156 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
27157 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
27158 (linux_mod_CFLAGS): Commented out.
27159 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
27160 out because module isn't built.
27161 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
27162 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
27163 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
27164 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
27165 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
27166 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
27167 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
27168 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
27169 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
27170 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
27171 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
27172 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
27173 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
27174 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
27175
34eeec8a 271762005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
27177
27178 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
27179 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
27180 longer, because HFS should not be used on PC.
27181
708367a3 271822005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27183
27184 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
27185 consistently within the loop.
27186
6fa1251a 271872005-10-15 Marco Gerards <mgerards@xs4all.nl>
27188
27189 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
27190 directory can not be read.
27191
4801580b 271922005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
27193
27194 * configure.ac (AC_INIT): Increase the version number to 1.91.
27195
27196 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
27197 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
27198 term/i386/pc/serial.c.
27199
219ad426 272002005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
27201
27202 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
27203 file size must be permitted.
27204
27205 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
27206 between %ah and %al.
27207
688e5699 272082005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
27209
27210 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
27211 grub_uint64_t.
27212 Call the hook with a NUL-terminated filename.
27213 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
27214 grub_cpu_to_be32.
27215
27216 * kern/term.c (cursor_state): New variable.
27217 (grub_term_set_current): Reset the cursor state on a new
27218 terminal.
27219 (grub_setcursor): Rewritten to use CURSOR_STATE.
27220 (grub_getcursor): New function.
27221
27222 * include/grub/term.h (grub_getcursor): New prototype.
27223
27224 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
27225 integers on ARM. Reported by Timothy Baldwin
27226 <T.E.Baldwin99@members.leeds.ac.uk>.
27227
bb34586c 272282005-10-11 Marco Gerards <mgerards@xs4all.nl>
27229
27230 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
27231 allocated.
27232 (grub_sfs_dir): Likewise.
27233
9a909877 272342005-10-09 Marco Gerards <mgerards@xs4all.nl>
27235
27236 Add support for the SFS filesystem.
27237
27238 * fs/sfs.c: New file.
27239
27240 * DISTLIST: Added `fs/sfs.c'.
27241
27242 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
27243 (grub_probefs_SOURCES): Likewise.
27244 (grub_emu_SOURCES): Likewise.
27245 (pkgdata_MODULES): Add `sfs.mod'.
27246 (sfs_mod_SOURCES): New variable.
27247 (sfs_mod_CFLAGS): Likewise.
27248 (sfs_mod_LDFLAGS): Likewise.
27249
27250 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
27251 (pkgdata_MODULES): Add `sfs.mod'.
27252 (sfs_mod_SOURCES): New variable.
27253 (sfs_mod_CFLAGS): Likewise.
27254
27255 * util/grub-emu.c (main): Call `grub_sfs_init' and
27256 `grub_sfs_fini'.
27257
27258 * include/grub/fs.h (grub_sfs_init): New prototype.
27259 (grub_sfs_fini): Likewise.
27260
57bdbde3 272612005-10-07 Marco Gerards <mgerards@xs4all.nl>
27262
27263 Add support for the AFFS filesystem.
27264
27265 * fs/affs.c: New file.
27266
27267 * DISTLIST: Added `fs/affs.c'.
27268
27269 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
27270 (grub_probefs_SOURCES): Likewise.
27271 (grub_emu_SOURCES): Likewise.
27272 (pkgdata_MODULES): Add `affs.mod'.
27273 (affs_mod_SOURCES): New variable.
27274 (affs_mod_CFLAGS): Likewise.
27275 (affs_mod_LDFLAGS): Likewise.
27276
27277 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
27278 (pkgdata_MODULES): Add `affs.mod'.
27279 (affs_mod_SOURCES): New variable.
27280 (affs_mod_CFLAGS): Likewise.
27281
27282 * util/grub-emu.c (main): Call `grub_affs_init' and
27283 `grub_affs_fini'.
27284
27285 * include/grub/fs.h (grub_affs_init): New prototype.
27286 (grub_affs_fini): Likewise.
27287
047b67e0 272882005-10-01 Marco Gerards <mgerards@xs4all.nl>
27289
27290 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
27291
59b8208a 272922005-10-01 Marco Gerards <mgerards@xs4all.nl>
27293
27294 * configure.ac: Accept `x86_64' as host_cpu. In that case add
27295 `-m32' to CFLAGS.
27296
27297 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
27298 linking.
f19dbdb7 27299
59b8208a 27300 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
27301 (COMMON_LDFLAGS): New variable.
27302 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
27303 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
27304 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
27305 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
27306 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
27307 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
27308 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
27309 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
27310 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
27311 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
27312 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
27313 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
27314 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
27315 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
27316 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
27317 variables.
27318 (normal_mod_ASFLAGS): Add `-m32'.
27319
27320 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
27321 (grub_host_size_t, grub_host_ssize_t): New types.
27322 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 27323 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 27324 `GRUB_HOST_SIZEOF_VOID_P'.
27325
27326 * include/grub/kernel.h (struct grub_module_header): Type of
27327 member offset changed to `grub_host_off_t'. Type of member size
27328 changed to `grub_host_size_t'.
27329 (struct grub_module_info): Type of member offset changed to
27330 `grub_host_off_t'. Type of member size changed to
27331 `grub_host_size_t'.
27332
b4093103 273332005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
27334
27335 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 27336
b4093103 27337 * kern/i386/pc/startup.S (multiboot_header): New label.
27338 (multiboot_entry): Likewise.
27339 (multiboot_trampoline): Likewise.
27340
27341 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27342 Increased to 0x4A0.
27343
27344 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
27345 put parentheses after a question mark.
27346 [!GRUB_UTIL] (my_mod): New variable.
27347
27348 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
27349
b2499b29 273502005-09-28 Marco Gerards <mgerards@xs4all.nl>
27351
27352 Adds support for the XFS filesystem. Btrees are not supported
27353 yet.
27354
27355 * fs/xfs.c: New file.
27356
27357 * DISTLIST: Added `fs/xfs.c'.
27358
27359 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
27360 (grub_probefs_SOURCES): Likewise.
27361 (grub_emu_SOURCES): Likewise.
27362 (pkgdata_MODULES): Add `xfs.mod'.
27363 (xfs_mod_SOURCES): New variable.
27364 (xfs_mod_CFLAGS): Likewise.
27365
27366 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
27367 (pkgdata_MODULES): Add `xfs.mod'.
27368 (xfs_mod_SOURCES): New variable.
27369 (xfs_mod_CFLAGS): Likewise.
27370
27371 * util/grub-emu.c (main): Call `grub_xfs_init' and
27372 `grub_xfs_fini'.
27373
27374 * include/grub/fs.h (grub_xfs_init): New prototype.
27375 (grub_xfs_fini): Likewise.
27376
f19dbdb7 27377
83d37a62 273782005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
27379
27380 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
27381 color modes, allow greater than 16 colors to be configured as
27382 a default palette.
27383
47d2d65e 273842005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27385
27386 * normal/completion.c (complete_arguments): Add the qualifier
27387 const into OPTIONS.
27388
27389 From Omniflux <omniflux+lists@omniflux.com>:
27390 * include/grub/terminfo.h: New file.
27391 * include/grub/tparm.h: Likewise.
27392 * include/grub/i386/pc/serial.h: Likewise.
27393 * term/terminfo.c: Likewise.
27394 * term/tparm.c: Likewise.
27395 * term/i386/pc/serial.c: Likewise.
27396 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
27397 serial.mod.
27398 (terminfo_mod_SOURCES): New variable.
27399 (terminfo_mod_CFLAGS): Likewise.
27400 (serial_mod_SOURCES): Likewise.
27401 (serial_mod_CFLAGS): Likewise.
27402
48b671ff 274032005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
27404
27405 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
27406 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
27407 and kern/powerpc/ieee1275/cmain.c, respectively.
27408
27409 * boot/powerpc/ieee1275/crt0.S: Moved to ...
27410 * kern/powerpc/ieee1275/crt0.S: ... here.
27411
27412 * boot/powerpc/ieee1275/cmain.c: Moved to ...
27413 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 27414
48b671ff 27415 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
27416 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
27417 instead of boot/powerpc/ieee1275/crt0.S and
27418 boot/powerpc/ieee1275/cmain.c, respectively.
27419
27420 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
27421 sectors. It was not used anyway.
27422
09fc77a7 274232005-08-30 Hollis Blanchard <hollis@penguinppc.org>
27424
27425 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
27426 `unused parameter' warning.
27427
003789c7 274282005-08-30 Hollis Blanchard <hollis@penguinppc.org>
27429
27430 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
27431 function.
27432 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
27433 getcharwidth.
27434
67f44c86 274352005-08-28 Marco Gerards <metgerards@student.han.nl>
27436
27437 * include/grub/normal.h (enum grub_completion_type): Added
27438 `GRUB_COMPLETION_TYPE_ARGUMENT'.
27439
27440 * normal/cmdline.c (print_completion): Handle
27441 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
27442 * normal/menu_entry.c (store_completion): Likewise.
27443
27444 * normal/completion.c (complete_arguments): New function.
27445 (grub_normal_do_completion): Call `complete_arguments' when the
27446 current words start with a dash.
27447
0b5abe02 274482005-08-27 Marco Gerards <metgerards@student.han.nl>
27449
27450 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
27451 `gzio.mod' instead of `io.mod').
27452
d9864ee1 274532005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
27454
27455 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
27456 (DISTDIRS): Added io and video.
27457 Rewrite the search routine to make an output consistently.
27458
27459 * DISTLIST: Added conf/sparc64-ieee1275.mk,
27460 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
27461 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
27462 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
27463 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
27464 util/powerpc/ieee1275/misc.c.
f19dbdb7 27465
d9864ee1 27466 * include/grub/gzio.h: New file.
27467 * io/gzio.c: Likewise.
f19dbdb7 27468
d9864ee1 27469 * kern/file.c (grub_file_close): Call grub_device_close only if
27470 FILE->DEVICE is not NULL.
27471
27472 * include/grub/mm.h [!NULL] (NULL): New macro.
27473
27474 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
27475
27476 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
27477 (pkgdata_MODULES): Added gzio.mod.
27478 (gzio_mod_SOURCES): New variable.
27479 (gzio_mod_CFLAGS): Likewise.
27480
27481 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
27482 (pkgdata_MODULES): Added gzio.mod.
27483 (gzio_mod_SOURCES): New variable.
27484 (gzio_mod_CFLAGS): Likewise.
27485
27486 * commands/cat.c: Include grub/gzio.h.
27487 (grub_cmd_cat): Use grub_gzfile_open instead of
27488 grub_file_open.
f19dbdb7 27489
d9864ee1 27490 * commands/cmp.c: Include grub/gzio.h.
27491 (grub_cmd_cmp): Use grub_gzfile_open instead of
27492 grub_file_open.
27493
27494 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
27495 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
27496 grub_file_open.
27497 (grub_rescue_cmd_module): Likewise.
27498
fa46f4b5 274992005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
27500
27501 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
27502 kern/sparc64/ieee1275/init.c because it contains _start.
27503 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
27504
e9211b5d 275052005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
27506
27507 * configure.ac: Add support for sparc64 host with ieee1275
27508 firmware.
27509 * configure: Generated from configure.ac.
27510 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
27511 instead of int.
27512 (grub_ofdisk_read): Likewise.
27513 (grub_ofdisk_open): Use %p to print pointer values, and cast the
27514 pointers as (void *) to remove a warning.
27515 (grub_ofdisk_close): Likewise.
27516 (grub_ofdisk_read): Likewise.
27517 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
27518 returns, so make it return void to remove a warning.
27519 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
27520 Corresponding prototype change.
27521 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
27522 values, and cast the pointers as (void *) to remove a warning.
27523 (grub_mm_dump): Likewise.
27524 * conf/sparc64-ieee1275.mk: New file.
27525 * conf/sparc64-ieee1275.rmk: Likewise.
27526 * include/grub/sparc64/setjmp.h: Likewise.
27527 * include/grub/sparc64/types.h: Likewise.
27528 * include/grub/sparc64/ieee1275/console.h: Likewise.
27529 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27530 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27531 * include/grub/sparc64/ieee1275/time.h: Likewise.
27532 * kern/sparc64/cache.c: Likewise.
27533 * kern/sparc64/dl.c: Likewise.
27534 * kern/sparc64/ieee1275/init.c: Likewise.
27535 * kern/sparc64/ieee1275/openfw.c: Likewise.
27536
385c6a92 275372005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
27538
27539 * util/console.c (grub_ncurses_putchar): If C is greater than
27540 0x7f, set C to a question mark.
27541 (grub_ncurses_getcharwidth): New function.
27542 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
27543 getcharwidth.
27544
27545 * normal/menu.c (print_entry): Made aware of Unicode. First,
27546 convert TITLE to UCS-4, and predict the cursor position by
27547 grub_getcharwidth.
27548
27549 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
27550 const to SRC.
27551 * kern/misc.c (grub_utf16_to_utf8): Likewise.
27552
16ccb8b1 275532005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
27554
27555 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
27556 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
27557 grub_strcat.
27558
27559 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
27560 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
27561 grub_strcpy and grub_strlen. Take it into account that a space
27562 character is inserted as a delimiter.
27563
6a85ce79 275642005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
27565
27566 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 27567 invalid magic in the error.
6a85ce79 27568
27569 * commands/search.c: New file.
f19dbdb7 27570
6a85ce79 27571 * util/grub-emu.c (main): Call grub_search_init and
27572 grub_search_fini.
27573
27574 * kern/rescue.c (grub_rescue_print_disks): Removed.
27575 (grub_rescue_print_devices): New function.
27576 (grub_rescue_cmd_ls): Use grub_device_iterate with
27577 grub_rescue_print_devices instead of grub_disk_dev_iterate with
27578 grub_rescue_print_disks.
27579
27580 * kern/partition.c (grub_partition_iterate): Return the result of
27581 PARTMAP->ITERATE instead of GRUB_ERRNO.
27582
27583 * kern/device.c: Include grub/partition.h.
27584 (grub_device_iterate): New function.
27585
27586 * include/grub/partition.h (grub_partition_iterate): Return int
27587 instead of grub_err_t.
27588
27589 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
27590 prototype.
27591 [GRUB_UTIL] (grub_search_fini): Likewise.
27592
27593 * include/grub/device.h (grub_device_iterate): New prototype.
27594
27595 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
27596 commands/search.c.
27597 (pkgdata_MODULES): Added search.mod.
27598 (search_mod_SOURCES): New variable.
27599 (search_mod_CFLAGS): Likewise.
27600
27601 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
27602 (pkgdata_MODULES): Added search.mod.
27603 (search_mod_SOURCES): New variable.
27604 (search_mod_CFLAGS): Likewise.
27605
27606 * commands/ls.c (grub_ls_list_disks): Renamed to ...
27607 (grub_ls_list_devices): ... this, and use grub_device_iterate.
27608 All callers changed.
27609
27610 * DISTLIST: Added commands/search.c.
27611
ef095434 276122005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
27613
27614 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
27615 conversion.
27616 (grub_getcharwidth): New function.
27617
27618 * kern/misc.c (grub_utf8_to_ucs4): New function.
27619
27620 * include/grub/term.h (struct grub_term): Added a new member
27621 "getcharwidth".
27622 (grub_getcharwidth): New prototype.
27623
27624 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
27625
27626 * term/i386/pc/console.c (map_char): New function. Segregated from
27627 grub_console_putchar.
27628 (grub_console_putchar): Use map_char.
27629 (grub_console_getcharwidth): New function.
27630 (grub_console_term): Specified grub_console_getcharwidth as
27631 getcharwidth.
27632
27633 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
27634 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
27635
27636 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
27637 GRUB_ERRNO.
27638 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
27639 on grub_strtoul completely.
27640 (write_char): Declare local variables in the beginning of the
27641 function.
27642 (grub_vesafb_getcharwidth): New function.
27643 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
27644 getcharwidth.
27645
1f0a95e4 276462005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
27647
27648 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
27649 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
27650 commands/i386/pc/vbetest.c.
27651
27652 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
27653 call grub_vbe_get_controller_info again, because the returned
27654 information is volatile.
27655 (grub_vbe_set_video_mode): Mostly rewritten.
27656 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
27657 grub_vbe_status_t correctly.
27658 (grub_vbe_get_video_mode_info): Likewise.
27659 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
27660 several if statements.
27661
27662 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
27663 * commands/i386/pc/vbeinfo.c: ... this.
27664
27665 * commands/i386/pc/vbe_test.c: Renamed to ...
27666 * commands/i386/pc/vbetest.c: ... this.
27667
27668 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
27669 ...
27670 (grub_cmd_vbeinfo): ... this. Save video modes before
27671 iterating. Skip a video mode, if it is not available, not enough
27672 information is given or it is monochrome. Show the memory
27673 model. Leave the interpretation of MODEVAR to grub_strtoul
27674 completely.
27675 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
27676 (GRUB_MOD_FINI): Likewise.
27677
27678 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
27679 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
27680 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
27681 duplicated grub_env_get. Leave the interpretation of MODEVAR to
27682 grub_strtoul completely.
27683 (real2pm): Removed.
27684 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
27685 (GRUB_MOD_FINI): Likewise.
27686
27687 * normal/misc.c: Include grub/mm.h.
27688
27689 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
27690 vbe_list_modes with vbetest.mod and vbeinfo.mod.
27691 (vbe_list_modes_mod_SOURCES): Removed.
27692 (vbe_list_modes_mod_CFLAGS): Likewise.
27693 (vbe_test_mod_SOURCES): Likewise.
27694 (vbe_test_mod_CFLAGS): Likewise.
27695 (vbeinfo_mod_SOURCES): New variable.
27696 (vbeinfo_mod_CFLAGS): Likewise.
27697 (vbetest_mod_SOURCES): Likewise.
27698 (vbetest_mod_CFLAGS): Likewise.
27699
992ffbbe 277002005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
27701
27702 * normal/misc.c: New file.
27703
27704 * DISTLIST: Added normal/misc.c.
f19dbdb7 27705
992ffbbe 27706 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
27707 DISK to HOOK. Call HOOK with DISK.
27708 * partmap/apple.c (apple_partition_map_iterate): Likewise.
27709 * partmap/pc.c (pc_partition_map_iterate): Likewise.
27710 * partmap/sun.c (sun_partition_map_iterate): Likewise.
27711
27712 * normal/menu_entry.c (struct screen): Added a new member
27713 "completion_shown".
27714 (completion_buffer): New global variable.
27715 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
27716 (store_completion): New function.
27717 (complete): Likewise.
27718 (clear_completions): Likewise.
27719 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
27720 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
27721 a tab, call complete.
27722
27723 * normal/completion.c (disk_dev): Removed.
27724 (print_simple_completion): Likewise.
27725 (print_partition_completion): Likewise.
27726 (print_func): New global variable.
27727 (add_completion): Do not take the arguments WHAT or PRINT any
27728 longer. Added a new argument TYPE. Instead of printing directly,
27729 call PRINT_FUNC if not NULL.
27730 All callers changed.
27731 (complete_device): Use a local variable DEV instead of
27732 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
27733 (grub_normal_do_completion): Take a new argument HOOK. Do not
27734 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
27735 empty string, return NULL instead.
27736 All callers changed.
27737
27738 * normal/cmdline.c (print_completion): New function.
27739
27740 * kern/partition.c (grub_partition_iterate): Add an argument DISK
27741 to HOOK.
27742 All callers changed.
27743
27744 * kern/disk.c (grub_print_partinfo): Removed.
27745
27746 * include/grub/partition.h (struct grub_partition_map): Add a new
27747 argument DISK into HOOK of ITERATE.
27748 (grub_partition_iterate): Add a new argument DISK to HOOK.
27749
27750 * include/grub/normal.h (enum grub_completion_type): New enum.
27751 (grub_completion_type_t): New type.
27752 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
27753 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
27754 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
27755 (GRUB_COMPLETION_TYPE_FILE): Likewise.
27756 (grub_normal_do_completion): Added a new argument HOOK.
27757 (grub_normal_print_device_info): New prototype.
27758
27759 * include/grub/disk.h (grub_print_partinfo): Removed.
27760
27761 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
27762 (normal_mod_SOURCES): Likewise.
27763 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27764 (normal_mod_SOURCES): Likewise.
27765
27766 * commands/ls.c (grub_ls_list_disks): Use
27767 grub_normal_print_device_info instead of grub_print_partinfo. Free
27768 PNAME.
27769 (grub_ls_list_files): Use grub_normal_print_device_info instead of
27770 duplicating the code.
27771
0bd41162 277722005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
27773
27774 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 27775 follow GCS more precisely.
27776 * commands/i386/pc/vbe_test.c: Likewise.
27777 * include/grub/i386/pc/vbe.h: Likewise.
27778 * term/i386/pc/vesafb.c: Likewise.
27779 * video/i386/pc/vbe.c: Likewise.
0bd41162 27780
6323696a 277812005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
27782
27783 * DISTLIST: Added term/i386/pc/vesafb.c
27784 DISTLIST: Added video/i386/pc/vbe.c
27785 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
27786 DISTLIST: Added commands/i386/pc/vbe_test.c.
27787 * commands/i386/pc/vbe_list_modes.c: New file.
27788 * commands/i386/pc/vbe_test.c: Likewise.
27789 * term/i386/pc/vesafb.c: Likewise.
27790 * video/i386/pc/vbe.c: Likewise.
27791 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
27792 (grub_vbe_probe) Added prototype.
27793 (grub_vbe_set_video_mode) Likewise.
27794 (grub_vbe_get_video_mode) Likewise.
27795 (grub_vbe_get_video_mode_info) Likewise.
27796 (grub_vbe_set_pixel_rgb) Likewise.
27797 (grub_vbe_set_pixel_index) Likewise.
27798 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
27799 (pkgdata_MODULES): Added vesafb.mod.
27800 (pkgdata_MODULES): Added vbe_list_modes.mod.
27801 (pkgdata_MODULES): Added vbe_test.mod.
27802 (vbe_mod_SOURCES): Added.
27803 (vbe_mod_CFLAGS): Likewise.
27804 (vesafb_mod_SOURCES): Likewise.
27805 (vesafb_mod_CFLAGS): Likewise.
27806 (vbe_list_modes_mod_SOURCES): Likewise.
27807 (vbe_list_modes_mod_CFLAGS): Likewise.
27808 (vbe_test_mod_SOURCES): Likewise.
27809 (vbe_test_mod_CFLAGS): Likewise.
27810
0a74e62f 278112005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
27812
0a74e62f 27813 * normal/command.c (grub_command_execute): If INTERACTIVE is
27814 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
27815 CMDLINE. Disable the pager if INTERACTIVE is true.
27816 All callers are changed.
27817
27818 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
27819 before reading a config file.
27820 * normal/main.c (read_config_file): Even if a command is not
27821 found, register it if it is within an entry.
27822
27823 * util/grub-emu.c: Include sys/types.h and unistd.h.
27824 (options): Added --hold.
27825 (struct arguments): Added a new member "hold".
27826 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
27827 missing.
27828 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
27829 cleared by a debugger, if it is not zero.
27830
27831 * include/grub/normal.h (grub_command_execute): Add an argument
27832 INTERACTIVE.
27833
e51f85ae 278342005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
27835
27836 * DISTLIST: Added include/grub/i386/pc/vbe.h.
27837
e9c6f39b 278382005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
27839
27840 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
27841 program with another one, because the old one didn't detect a bug
27842 in gcc-3.4. Always use regparm 2, because the new test is still
27843 not enough for gcc-4.0. Someone must investigate a simple test
27844 case which detects a bug in gcc-4.0.
27845
8de3495c 278462005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
27847
27848 * DISTLIST: Added normal/completion.c.
27849
27850 * normal/completion.c: New file.
f19dbdb7 27851
8de3495c 27852 * term/i386/pc/console.c (grub_console_getwh): New function.
27853 (grub_console_term): Assign grub_console_getwh to getwh.
27854
27855 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
27856 function is defined in normal/completion.c as
27857 grub_normal_do_completion.
27858 (grub_cmdline_get): Use grub_normal_do_completion instead of
27859 grub_tab_complete.
27860
27861 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
27862 returns non-zero, otherwise return 0.
27863 (grub_partition_iterate): First, probe the partition map. Then,
27864 call ITERATE only for this partition map.
27865
27866 * kern/misc.c (grub_strncmp): Rewritten.
27867
27868 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
27869 returns non-zero. Otherwise return 0.
27870
27871 * include/grub/partition.h (grub_partition_map_iterate): Return
27872 int instead of void.
27873
27874 * include/grub/normal.h (grub_normal_do_completion): New prototype.
27875
27876 * include/grub/misc.h (grub_strncmp): Change the type of N to
27877 grub_size_t.
27878
27879 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
27880 of void.
27881
27882 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 27883 unsigned explicitly before comparing it with I.
8de3495c 27884
27885 * kern/main.c (grub_env_write_root): Add the attribute unused into
27886 VAR.
27887
27888 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
27889 normal/completion.c.
27890 (normal_mod_SOURCES): Likewise.
27891 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27892 (normal_mod_SOURCES): Likewise.
27893
27894 * normal/command.c (grub_iterate_commands): If ITERATE returns
27895 non-zero, return one immediately.
27896
e85e144b 278972005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
27898
27899 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
27900 * kern/i386/pc/startup.S: Updated Global Descriptor table's
27901 descriptions.
27902 (grub_vbe_get_controller_info): New function.
27903 (grub_vbe_get_mode_info): Likewise.
27904 (grub_vbe_set_mode): Likewise.
27905 (grub_vbe_get_mode): Likewise.
27906 (grub_vbe_set_memory_window): Likewise.
27907 (grub_vbe_get_memory_window): Likewise.
27908 (grub_vbe_set_scanline_length): Likewise.
27909 (grub_vbe_get_scanline_length): Likewise.
27910 (grub_vbe_set_display_start): Likewise.
27911 (grub_vbe_get_display_start): Likewise.
27912 (grub_vbe_set_palette_data): Likewise.
27913 * include/grub/i386/pc/vbe.h: New file.
27914
c46153d2 279152005-08-08 Hollis Blanchard <hollis@penguinppc.org>
27916
27917 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
27918 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
27919 * DISTLIST: Likewise.
27920 * kern/ieee1275/of.c: Moved to ...
27921 * kern/ieee1275/ieee1275.c: ... here.
27922
0cb90c45 279232005-08-08 Hollis Blanchard <hollis@penguinppc.org>
27924
27925 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
27926 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
27927 Pass 0 as `end' parameter to grub_strtoul().
27928
a19fb360 279292005-08-08 Hollis Blanchard <hollis@penguinppc.org>
27930
27931 * include/grub/powerpc/ieee1275/console.h: Do not include
27932 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
27933 ifdef.
27934 (grub_console_cur_color): Remove i386-specific prototype.
27935 (grub_console_real_putchar): Likewise.
27936 (grub_console_checkkey): Likewise.
27937 (grub_console_getkey): Likewise.
27938 (grub_console_getxy): Likewise.
27939 (grub_console_gotoxy): Likewise.
27940 (grub_console_cls): Likewise.
27941 (grub_console_setcursor): Likewise.
27942 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
27943 Include <grub/machine/console.h>.
27944 * term/ieee1275/ofconsole.c: Likewise.
27945
4ac9bd04 279462005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
27947
27948 * Makefile.in (LIBLZO): New variable.
27949
27950 * configure.ac: Check for LZO version 2.
27951
27952 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
27953 lzo/lzo1x.h instead of lzo1x.h.
27954
27955 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
27956 of -llzo.
27957
27958 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
27959 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
27960
27961 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
27962 copying the data from PARTITION to P.
27963
f4917dfd 279642005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
27965
27966 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
27967 negative, unload the module.
27968
27969 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
27970 map is "pc_partition_map" but not "pc".
27971 (usage): Fix the description. The options are --boot-image and
27972 --core-image but not --boot-file or --core-file.
27973 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
27974 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
27975 DEFAULT_DIRECTORY.
27976
27977 * util/i386/pc/grub-install.in: Do not specify --boot-file or
27978 --core-file. Specify INSTALL_DEVICE as an argument.
27979
27980 * util/console.c: Include config.h.
27981 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
27982 [HAVE_NCURSES_H]: Include ncurses.h.
27983 [HAVE_CURSES_H]: Include curses.h.
27984 [!A_NORMAL] (A_NORMAL): Defined as zero.
27985 [!A_STANDOUT] (A_STANDOUT): Likewise.
27986
27987 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
27988 -lncurses.
27989 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
27990
27991 * configure.ac: Check for curses libraries and headers.
27992
27993 * Makefile.in (LIBCURSES): New variable.
27994
27995 * genmk.rb (Script::rule): Set the executable bits.
27996
27997 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
27998 name of the PC partition map is "pc_partition_map" but not "pc".
27999
0e143073 280002005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
28001
28002 * util/i386/pc/grub-install.in (grub_probefs): New variable.
28003 (modules): Likewise.
28004 (usage): Added descriptions for --modules and --grub-probefs.
28005 Handle --modules and --grub-probefs. Save the arguments in MODULES
28006 and GRUB_PROBEFS, respectively.
28007 Auto-detect a filesystem module against GRUBDIR. If the result is
28008 empty and modules are not specified explicitly, abort the
28009 installation. Add the result to MODULES.
28010
28011 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
28012 disk/powerpc/ieee1275/ofdisk.c,
28013 include/grub/powerpc/ieee1275/init.h and
28014 term/powerpc/ieee1275/ofconsole.c.
28015 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
28016 term/ieee1275/ofconsole.c.
28017
28018 * include/grub/powerpc/ieee1275/console.h: Resurrected.
28019
28020 * COPYING: Upgraded to the latest version. Only the address of the
28021 FSF office has changed.
f19dbdb7 28022
efd6e6d5 280232005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
28024
28025 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
28026 kern/ieee1275.c with kern/ieee1275/of.c.
28027
28028 * kern/ieee1275.c: Moved to ...
28029 * kern/ieee1275/of.c: ... here.
28030
8ceafda2 280312005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
28032
28033 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 28034 readability.
8ceafda2 28035
28036 * config.guess: Updated to the latest version from gnulib.
28037 * config.sub: Likewise.
28038 * install.sh: Likewise.
28039 * mkinstalldirs: Likewise.
28040
28041 * include/grub/console.h: Removed. This file is arch-specific. Do
28042 not put this in include/grub.
28043
28044 * include/grub/i386/pc/console.h: Resurrected.
28045
28046 * util/console.c: Include grub/machine/console.h instead of
28047 grub/console.h.
28048 * util/grub-emu.c: Likewise.
28049
267f6cd9 280502005-08-04 Marco Gerards <metgerards@student.han.nl>
28051
28052 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
28053 hardcoded value.
f19dbdb7 28054
267f6cd9 28055 From Vincent Pelletier <subdino2004@yahoo.fr>
28056 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
28057 Redefined to use grub_getwh.
28058 (grub_term): New member named getwh.
28059 (grub_getwh): New prototype.
28060 * kern/term.c (grub_getwh): New function.
28061 * term/i386/pc/console.c (grub_console_getwh): New function.
28062 (grub_console_term): New member `getwh'.
28063 * term/i386/pc/vga.c (grub_vga_getwh): New function.
28064 (grub_vga_term): New member `getwh'.
0b5abe02 28065 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 28066 grub_ssize_t.
28067 (grub_ofconsole_getw): New function.
28068 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
28069 (grub_ofconsole_term): New field named getwh and new initial
28070 value.
28071
3be7266d 280722005-08-03 Hollis Blanchard <hollis@penguinppc.org>
28073
28074 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
28075 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
28076 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
28077 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
28078 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
28079 of <grub/machine/ieee1275.h>.
28080 * commands/ieee1275/reboot.c: Likewise.
28081 * boot/powerpc/ieee1275/ieee1275.c: Move ...
28082 * kern/ieee1275.c: ... to here. All users updated. Change all
28083 parameter structs to use new type `grub_ieee1275_cell_t'.
28084 * term/powerpc/ieee1275/ofconsole.c: Move ...
28085 * term/ieee1275/ofconsole.c: ... to here. All users updated.
28086 * disk/powerpc/ieee1275/ofdisk.c: Move ...
28087 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
28088 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
28089 to return int.
28090 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
28091 Remove unused prototypes. All users updated.
28092 * include/grub/powerpc/ieee1275/console.h: Removed.
28093 * include/grub/powerpc/ieee1275/ieee1275.h: Define
28094 `grub_ieee1275_cell_t'.
28095 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
28096 Cast comparisons with -1 to the correct type.
28097 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
28098 type to match `grub_ieee1275_entry_fn'.
28099
8b5f3938 281002005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
28101
28102 * DISTLIST: Added util/i386/pc/grub-probefs.c.
28103
28104 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
28105 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
28106 partmap/sun.c.
28107 (grub_probefs_SOURCES): New variable.
28108
28109 * util/i386/pc/grub-probefs.c: New file.
28110
28111 * util/i386/pc/grub-setup.c (main): Call
28112 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
28113 grub_hfs_init and grub_jfs_init to initialize the system. Call
28114 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
28115 grub_pc_partition_map_fini to finish the system.
28116
ea409713 281172005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
28118
28119 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
28120 function.
28121 (grub_multiboot_load_elf32): Likewise.
28122 (grub_multiboot_is_elf64): Likewise.
28123 (grub_multiboot_load_elf64): Likewise.
28124 (grub_multiboot_load_elf): Likewise.
28125 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
28126 an ELF32 or ELF64 file.
28127 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
28128
28129 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
28130 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
28131 NULL before calling FS->LABEL.
28132 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
28133 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
28134 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
28135 before calling FS->LABEL.
28136
141a288b 281372005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
28138
28139 * util/i386/pc/grub-install.in (datadir): New variable.
28140 (libdir): Removed.
28141 (pkgdatadir): New variable.
28142 (pkglibdir): Removed.
28143
0d5f8a54 281442005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
28145
28146 * DISTLIST: Added util/i386/pc/grub-install.in.
28147
28148 * util/i386/pc/grub-install.in: New file.
28149
28150 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
28151 (grub_install_SOURCES): Likewise.
28152
28153 * genmk.rb: Added support for scripts.
28154 (Script): New class.
28155 (scripts): New variable.
28156
28157 * Makefile.in (install-local): Install sbin_SCRIPTS by
28158 INSTALL_SCRIPT.
28159 (uninstall): Remove sbin_SCRIPTS.
28160
28161 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
28162 device, try to get a GRUB device by
28163 grub_util_biosdisk_get_grub_dev.
28164 Free DEST_DEV.
28165
28166 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
28167 description for --device-map.
28168
5f968e1e 281692005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
28170
28171 Change the semantics of variable hooks. They now return strings
28172 instead of error values.
f19dbdb7 28173
5f968e1e 28174 * util/i386/pc/grub-setup.c: Include grub/env.h.
28175 (setup): Use grub_device_set_root instead of grub_env_set.
28176
28177 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
28178 grub_env_get instead of grub_device_set_root and
28179 grub_device_get_root, respectively.
28180
28181 * kern/main.c (grub_env_write_root): New function.
28182 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
28183 grub_env_set instead of grub_device_set_root.
28184
28185 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
28186 many variables.
28187 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
28188 rather than calling ENV->WRITE_HOOK afterwards.
28189 (grub_env_get): Return the result of ENV->READ_HOOK rather than
28190 passing a pointer of a pointer.
28191 (grub_register_variable_hook): Change the types of "read_hook" and
28192 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
28193 respectively.
28194 Allocate the default empty string on the heap, because this string
28195 may be freed later.
28196
28197 * kern/device.c: Include grub/env.h.
28198 (grub_device_set_root): Removed.
28199 (grub_device_get_root): Likewise.
28200 (grub_device_open): Use grub_env_get instead of
28201 grub_device_get_root.
28202
28203 * include/grub/env.h (grub_env_read_hook_t): New type.
28204 (grub_env_write_hook_t): Likewise.
28205 (grub_env_var): Change the types of "read_hook" and "write_hook"
28206 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
28207 (grub_register_variable_hook): Likewise.
28208
28209 * include/grub/device.h (grub_device_set_root): Removed.
28210 (grub_device_set_root): Likewise.
28211
28212 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
28213 make sure that DIRNAME terminates with '/', so that
28214 grub_fat_find_dir will fail if PATH is not a directory.
28215
28216 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
28217 from DIRNAME.
28218 Use the qualifier auto for print_files and print_files_long.
28219 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
28220 as a regular file.
28221 Put a newline only if there is no error.
28222 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
28223 used.
28224
896f0afd 282252005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
28226
28227 * kern/partition.c (grub_partition_probe): Initialize PART to
28228 NULL. Otherwise, when no partition map is registered, this returns
28229 a garbage.
28230
b28b81b2 282312005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
28232
28233 * partmap/apple.c (apple_partition_map_iterate): Check if POS
28234 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
28235 valid.
28236
5f3607e0 282372005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
28238
28239 * commands/ls.c (grub_ls_list_disks): Print the filesystem
28240 information on each device, if it does not have partitions. Print
28241 "Device" instead of "Disk", because this function is not specific
28242 to disk devices.
28243
28244 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
28245 static to ensure that it is put on the memory rather than a
28246 register.
28247
502c87e8 282482005-07-17 Yoshinori Okuji <okuji@enbug.org>
28249
28250 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
28251 (grub_cat_init): Likewise.
28252 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
28253 (options): Likewise.
28254 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
28255 (grub_configfile_init): Likewise.
28256 * font/manager.c (GRUB_MOD_INIT): Likewise.
28257 * commands/help.c (GRUB_MOD_INIT): Likewise.
28258 (grub_help_init): Likewise.
28259 * normal/command.c (grub_command_init): Likewise.
28260 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
28261 * disk/loopback.c (grub_loop_init): Likewise.
28262 (GRUB_MOD_INIT): Likewise.
28263 * commands/ls.c (grub_ls_init): Likewise.
28264 (GRUB_MOD_INIT): Likewise.
28265 (options): Likewise.
28266 * commands/boot.c (grub_boot_init): Likewise.
28267 (GRUB_MOD_INIT): Likewise.
28268 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
28269 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
28270 (GRUB_MOD_INIT): Likewise.
28271 * commands/cmp.c (grub_cmp_init): Likewise.
28272 (GRUB_MOD_INIT): Likewise.
28273
28274 * normal/arg.c: Use <> instead of "" to include header files.
28275 (SHORT_ARG_HELP): New macro.
28276 (SHORT_ARG_USAGE): Likewise.
28277 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
28278 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
28279 descriptions.
28280 (find_short): Check if C is 'h' or 'u' explicitly.
28281 (grub_arg_show_help): Use space characters instead of tabs. Treat
28282 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
28283 are shown with --help and --usage only if they are not used for
28284 the command itself.
28285 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
28286 'h' and 'u'.
28287
28288 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
28289 const into "longarg". Change the type of "shortarg" to int.
28290
f806d18e 282912005-07-17 Yoshinori Okuji <okuji@enbug.org>
28292
28293 * boot/i386/pc/boot.S (boot_drive_check): New label.
28294
28295 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
28296 macro.
28297
28298 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
28299 which do not pass a boot drive correctly. Copied from GRUB Legacy.
28300
e293232b 283012005-07-17 Yoshinori Okuji <okuji@enbug.org>
28302
28303 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
28304 When turning off Gate A20, skip the check and return immediately,
28305 because this is not fatal usually.
28306
ebedfd00 283072005-07-17 Yoshinori Okuji <okuji@enbug.org>
28308
28309 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
28310 be 0x7C00 instead of 0x8000.
28311
28312 * boot/i386/pc/pxeboot.S: Rewritten.
28313
28314 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
28315 EXT_C.
28316 (gate_a20_check_state): Read a byte from 0x108000. Invert the
28317 result.
28318
654fc59f 283192005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
28320
28321 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
28322 robustness. This routine now supports a BIOS call and System
28323 Control Port A to modify the gate A20.
28324
28325 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28326 Increased to 0x440.
28327
09f9923f 283282005-07-12 Hollis Blanchard <hollis@penguinppc.org>
28329
28330 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
28331 device path and resulting ihandle.
28332 (grub_ofdisk_close): dprintf the ihandle being closed.
28333 (grub_ofdisk_read): dprintf function parameters.
28334 * kern/mm.c (grub_mm_init_region): Likewise.
28335 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
28336 (grub_linux_boot): dprintf the Linux entry point, initrd address and
28337 size, and boot arguments.
28338 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
28339 before loading into memory.
28340 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
28341 before loading into memory.
28342
7ef504d8 283432005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
28344
28345 * kern/mm.c: Added much documentation.
28346 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
28347 8, set to 5 instead of 8.
28348
e0f050c2 283492005-07-10 Yoshinori Okuji <okuji@enbug.org>
28350
28351 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
28352
28353 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
28354 (grub_mkdevicemap_SOURCES): New variable.
28355
28356 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
28357 lib/device.c of GRUB Legacy.
28358
7224189a 283592005-07-10 Yoshinori Okuji <okuji@enbug.org>
28360
28361 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
28362 instead of PATH is NULL.
28363
68c864eb 283642005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
28365
28366 * commands/cmp.c (BUFFER_SIZE): New macro.
28367 (grub_cmd_cmp): Close the right file at the right time. Compare
28368 only data just read. Don't report files of different size as
28369 identical. Dynamically allocate buffers. Move variable
28370 declarations at the beginning of function.
28371
e6f3e614 283722005-07-09 Yoshinori Okuji <okuji@enbug.org>
28373
28374 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
28375 reverse.
28376
f8f1559a 283772004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
28378
28379 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
28380 when backspace is pressed at beginning of line.
28381
39c9d41d 283822005-07-03 Yoshinori Okuji <okuji@enbug.org>
28383
28384 * DISTLIST: Added genfslist.sh.
28385
28386 * normal/main.c (fs_module_list): New variable.
28387 (autoload_fs_module): New function.
28388 (read_fs_list): Likewise.
28389 (grub_normal_execute): Call read_fs_list.
28390
28391 * kern/fs.c (grub_fs_autoload_hook): New variable.
28392 (grub_fs_probe): Added support for auto-loading.
28393
28394 * include/grub/normal.h (struct grub_fs_module_list): New struct.
28395 (grub_fs_module_list_t): New type.
28396
28397 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
28398 (grub_fs_autoload_hook): New prototype.
28399
28400 * genfslist.sh: New file.
f19dbdb7 28401
39c9d41d 28402 * genmk.rb: Added a rule to generate a filesystem list.
28403
121c1d83 284042005-06-30 Marco Gerards <metgerards@student.han.nl>
28405
28406 * configure.ac: Fix the test for cross-compiling.
28407
28408 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
28409 define GRUB_UTIL anymore.
28410
28411 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
28412 so this function works on other systems than just big endian.
28413 (load_modules): Likewise.
28414 (add_segments): Likewise.
28415
e75d76e1 284162005-06-23 Hollis Blanchard <hollis@penguinppc.org>
28417
28418 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
28419 contains `l' modifier, get a long from va_arg().
28420
50b5a0a7 284212005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
28422
28423 * kern/mm.c (grub_free): If the next free block which is being
28424 merged is the first free block, set the first block to the block
28425 being freed.
28426 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
28427
89371b20 284282005-05-08 Hollis Blanchard <hollis@penguinppc.org>
28429
28430 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
28431 `grub_ieee1275_chosen'.
28432
168d6e58 284332005-05-08 Hollis Blanchard <hollis@penguinppc.org>
28434
28435 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
28436 (grub_ieee1275_chosen): New variable.
28437 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
28438 `chosen'.
28439 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
28440 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
28441 Rename first argument to `phandle' for consistency.
28442 (grub_ieee1275_get_property_length): Likewise.
28443 (grub_ieee1275_next_property): Likewise. Change type of first argument
28444 to grub_ieee1275_phandle_t.
28445 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
28446 Move export next to declaration.
28447 (grub_ieee1275_chosen): New variable.
28448 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
28449 Correct cosmetic typo.
28450 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
28451 `grub_ieee1275_chosen'.
28452 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
28453 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
28454 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
28455 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
28456 `grub_ieee1275_chosen'.
28457
ca5baa3f 284582005-05-10 Hollis Blanchard <hollis@penguinppc.org>
28459
28460 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
28461 /chosen/bootargs.
28462 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
28463 /chosen/bootargs as "variable=value" pairs.
28464
708b345f 284652005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
28466
28467 * include/grub/misc.h (grub_dprintf): New macro.
28468 (grub_real_dprintf): New prototype.
28469 (grub_strword): Likewise.
28470 (grub_iswordseparator): Likewise.
28471 * kern/misc.c (grub_real_dprintf): New function.
28472 (grub_strword): Likewise.
28473 (grub_iswordseparator): Likewise.
28474
f4c5e67c 284752005-04-30 Hollis Blanchard <hollis@penguinppc.org>
28476
28477 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
28478 (roundup): Remove macro.
28479 (grub_ieee1275_flags): Make static.
28480 (grub_ieee1275_realmode): Remove.
28481 (grub_ieee1275_test_flag): New function.
28482 (grub_ieee1275_set_flag): Likewise.
28483 (find_options): Rename to `grub_ieee1275_find_options'; update
28484 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
28485 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
28486 (cmain): New prototype.
28487 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
28488 `grub_ieee1275_flags' directly.
28489 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
28490 machine/biosdisk.h.
28491 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
28492 Don't include grub/machine/init.h.
28493 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
28494 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
28495 Remove prototype.
28496 (grub_ieee1275_realmode): Likewise.
28497 (grub_ieee1275_flag): New enum.
28498 (grub_ieee1275_test_flag): New prototype.
28499 (grub_ieee1275_set_flag): New prototype.
28500 * include/grub/powerpc/ieee1275/init.h: Remove file.
28501 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
28502 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
28503 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
28504 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
28505 comment.
28506 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
28507 `grub_ieee1275_test_flag'.
28508 (grub_ieee1275_encode_devname): Likewise.
28509
ed16607e 285102005-04-21 Hollis Blanchard <hollis@penguinppc.org>
28511
28512 * include/grub/powerpc/ieee1275/ieee1275.h
28513 (grub_ieee1275_encode_devname): New prototype.
28514 (grub_ieee1275_get_filename): Likewise.
28515 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
28516 function.
28517 (grub_set_prefix): Likewise.
28518 (grub_machine_init): Call grub_set_prefix.
28519 * kern/powerpc/ieee1275/openfw.c: Fix typos.
28520 (grub_parse_type): New enum.
28521 (grub_ieee1275_get_devargs): New function.
28522 (grub_ieee1275_get_devname): Likewise.
28523 (grub_ieee1275_parse_args): Likewise.
28524 (grub_ieee1275_get_filename): Likewise.
28525 (grub_ieee1275_encode_devname): Likewise.
28526
be369920 285272005-03-30 Marco Gerards <metgerards@student.han.nl>
28528
28529 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
28530 `grub_loader_unset'.
28531
a5ce3a4a 285322005-03-26 Hollis Blanchard <hollis@penguinppc.org>
28533
28534 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
28535 instead of grub_ieee1275_interpret.
28536 (grub_halt_init): New function.
28537 (grub_halt_fini): Likewise.
28538 (GRUB_MOD_INIT): Correct message grammar.
28539 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
28540 instead of grub_ieee1275_interpret.
28541 (grub_reboot_init): New function.
28542 (grub_reboot_fini): Likewise.
28543 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
28544 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
28545 util/i386/pc/misc.c with commands/ieee1275/halt.c,
28546 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
28547 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
28548 function.
28549 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
28550 Add prototype.
28551 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
28552 prototype.
28553 (grub_halt): Likewise.
28554 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
28555 (cmain): Remove __attribute__((unused)).
28556 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
28557 (grub_heap_len): Likewise.
28558 (grub_machine_fini): New function.
28559 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
28560 (grub_halt): Likewise.
28561 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
28562 function.
28563 * util/powerpc/ieee1275/misc.c: New file.
28564
0058f771 285652005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
28566
28567 * DISTLIST: New file.
28568 * gendistlist.sh: Likewise.
f19dbdb7 28569
0058f771 28570 * Makefile.in (COMMON_DISTFILES): Removed.
28571 (BOOT_DISTFILES): Likewise.
28572 (CONF_DISTFILES): Likewise.
28573 (DISK_DISTFILES): Likewise.
28574 (FS_DISTFILES): Likewise.
28575 (INCLUDE_DISTFILES): Likewise.
28576 (KERN_DISTFILES): Likewise.
28577 (LOADER_DISTFILES): Likewise.
28578 (TERM_DISTFILES): Likewise.
28579 (UTIL_DISTFILES): Likewise.
28580 (DISTFILES): Likewise.
28581 (uninstall): Uninstall files in $(pkgdata_DATA).
28582 (DISTLIST): New target.
28583 (distdir): Use the contents of the file DISTLIST to get a list of
28584 distributed files.
28585
46b3b8a5 285862005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
28587
28588 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
28589 descriptor. This is ported from GRUB Legacy.
28590
28591 * gencmdlist.sh: Added an extra semicolon to make it work with
28592 old sed versions. Reported by Robert Bihlmeyer
28593 <robbe@orcus.priv.at>.
28594
5822ff87 285952005-03-08 Yoshinori Okuji <okuji@enbug.org>
28596
28597 Automatic loading of commands is supported.
f19dbdb7 28598
5822ff87 28599 * normal/main.c (read_command_list): New function.
28600 (grub_normal_execute): Call read_command_list.
28601
28602 * normal/command.c (grub_register_command): Return zero or CMD.
28603 Allocate CMD->NAME from the heap.
28604 Initialize CMD->MODULE_NAME to zero.
28605 Find the same name as well. If the same command is found and it is
28606 a dummy command, overwrite members. If it is not a dummy command,
28607 return zero.
28608 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
28609 (grub_command_find): If a dummy command is found, load a module
28610 and retry to find a command only once.
28611
28612 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
28613 make sure that each command is loaded.
28614
28615 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
28616 macro.
28617 (struct grub_command): Remove const from the member `name'.
28618 Add a new member `module_name'.
28619 (grub_register_command): Return grub_command_t.
28620
28621 * commands/help.c (grub_cmd_help): Call grub_command_find to make
28622 sure that each command is loaded.
28623
28624 * genmk.rb (PModule::rule): Specify a module name without the
28625 suffix ".mod" to gencmdlist.sh.
28626
7b1f4b57 286272005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
28628
28629 * gencmdlist.sh: New file.
f19dbdb7 28630
7b1f4b57 28631 * genmk.rb (PModule::rule): Generate a rule for a command list.
28632 Clean command.lst.
28633 Generate command.lst from $(COMMANDFILES).
28634
28635 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
28636 (DATA): Added $(pkgdata_DATA).
28637 (install-local): Install files in $(pkgdata_DATA).
28638
062aaf39 286392005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
28640
28641 * term/i386/pc/vga.c (debug_command): Removed.
28642 (GRUB_MOD_INIT): Do not register the command "debug".
28643
28644 From Hollis Blanchard:
28645 * commands/configfile.c: New file.
28646 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
28647 commands/configfile.c.
28648 (pkgdata_MODULES): Added configfile.mod.
28649 (configfile_mod_SOURCES): New variable.
28650 (configfile_mod_CFLAGS): Likewise.
28651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
28652 commands/configfile.c.
28653 (pkgdata_MODULES): Added configfile.mod.
28654 (configfile_mod_SOURCES): New variable.
28655 (configfile_mod_CFLAGS): Likewise.
28656 * util/grub-emu.c (main): Call grub_configfile_init and
28657 grub_configfile_fini.
28658 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
28659 prototype.
28660 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 28661
cee01aa6 286622005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
28663
28664 * normal/arg.c (grub_arg_show_help): Do not show the bug report
28665 address.
28666
28667 * commands/help.c (grub_cmd_help): Do not print newlines after
28668 the last command in print_command_help.
28669
93f3a1d8 286702005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
28671
28672 * commands/default.h: New file.
28673 * commands/timeout.h: Likewise.
28674 * normal/context.c: Likewise.
f19dbdb7 28675
93f3a1d8 28676 * util/misc.c: Do not include sys/times.h.
28677 Include sys/time.h and grub/machine/time.h.
28678 (grub_get_rtc): Rewritten with gettimeofday.
28679
28680 * util/grub-emu.c (main): Call grub_default_init and
28681 grub_timeout_init before grub_normal_init, and call
28682 grub_timeout_fini and grub_default_fini after grub_main.
28683
28684 * util/console.c (grub_ncurses_checkkey): Return the read
28685 character or -1.
28686
28687 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
28688 timeouts.
28689
28690 * normal/main.c (read_config_file): Push MENU. If this fails,
28691 print an error and wait for a user input.
28692 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
28693 If a menu is empty or an error occurs, pop MENU.
28694 (grub_normal_execute): Pop and free MENU after grub_menu_run
28695 returns.
28696
28697 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
28698
28699 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
28700 include time.h.
28701 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
28702 without GRUB_UTIL.
28703 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
28704 time.h.
28705 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
28706 without GRUB_UTIL.
28707
28708 * include/grub/normal.h (struct grub_menu_list): New struct.
28709 (grub_menu_list_t): New type.
28710 (struct grub_context): New struct.
28711 (grub_context_t): New type.
28712 (grub_register_command): Got rid of EXPORT_FUNC.
28713 (grub_unregister_command): Likewise.
28714 (grub_context_get): New prototype.
28715 (grub_context_get_current_menu): Likewise.
28716 (grub_context_push_menu): Likewise.
28717 (grub_context_pop_menu): Likewise.
28718 [GRUB_UTIL] (grub_default_init): Likewise.
28719 [GRUB_UTIL] (grub_default_fini): Likewise.
28720 [GRUB_UTIL] (grub_timeout_init): Likewise.
28721 [GRUB_UTIL] (grub_timeout_fini): Likewise.
28722
28723 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
28724 commands/timeout.c and normal/context.c.
28725 (pkgdata_MODULES): Added default.mod and timeout.mod.
28726 (normal_mod_SOURCES): Added normal/context.c.
28727 (default_mod_SOURCES): New variable.
28728 (default_mod_CFLAGS): Likewise.
28729 (timeout_mod_SOURCES): Likewise.
28730 (timeout_mod_CFLAGS): Likewise.
28731 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
28732 conf/i386-pc.rmk.
28733 (pkgdata_MODULES): Added default.mod and timeout.mod.
28734 (normal_mod_SOURCES): Added normal/context.c.
28735 (default_mod_SOURCES): New variable.
28736 (default_mod_CFLAGS): Likewise.
28737 (timeout_mod_SOURCES): Likewise.
28738 (timeout_mod_CFLAGS): Likewise.
28739
28740 * Makefile.in (all-local): Added $(MKFILES).
28741
4ed2e1dd 287422005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
28743
28744 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
28745 (grub_emu_SOURCES): Likewise.
28746 (pkgdata_MODULES): Add `sun.mod'.
28747 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
28748 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
28749 `partmap/sun.c'.
28750 (pkgdata_MODULES): Add `sun.mod'.
28751 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
28752 * include/grub/partition.h (grub_sun_partition_map_init): New
28753 prototype.
28754 (grub_sun_partition_map_fini): Likewise.
28755 * partmap/sun.c: New file.
28756 * util/grub-emu.c (main): Initialize and de-initialize the sun
28757 partitionmap support.
28758
4d4e372e 287592005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
28760
28761 This implements an Emacs-like menu entry editor.
f19dbdb7 28762
4d4e372e 28763 * normal/menu_entry.c: New file.
f19dbdb7 28764
4d4e372e 28765 * util/console.c (grub_ncurses_putchar): Translate some Unicode
28766 characters to ASCII.
28767 (saved_char): New variable.
28768 (grub_ncurses_checkkey): Rewritten completely.
28769 (grub_ncurses_getkey): Likewise.
28770 (grub_ncurses_init): Call raw instead of cbreak.
28771
28772 * normal/menu.c (print_entry): Do not put a space.
28773 (init_page): Renamed to ...
28774 (grub_menu_init_page): ... this. All callers changed.
28775 (edit_menu_entry): Removed.
28776 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
28777
28778 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
28779
28780 * kern/misc.c (grub_vprintf): Call grub_refresh.
28781
28782 * normal/menu.c (DISP_LEFT): Renamed to ...
28783 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
28784 * normal/menu.c (DISP_UP): Renamed to ...
28785 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
28786 * normal/menu.c (DISP_RIGHT): Renamed to ...
28787 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
28788 * normal/menu.c (DISP_DOWN): Renamed to ...
28789 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
28790 * normal/menu.c (DISP_HLINE): Renamed to ...
28791 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
28792 * normal/menu.c (DISP_VLINE): Renamed to ...
28793 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
28794 * normal/menu.c (DISP_UL): Renamed to ...
28795 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
28796 * normal/menu.c (DISP_UR): Renamed to ...
28797 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
28798 * normal/menu.c (DISP_LL): Renamed to ...
28799 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
28800 * normal/menu.c (DISP_LR): Renamed to ...
28801 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
28802 * normal/menu.c (TERM_WIDTH): Renamed to ...
28803 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
28804 * normal/menu.c (TERM_HEIGHT): Renamed to ...
28805 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
28806 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
28807 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
28808 * normal/menu.c (TERM_MARGIN): Renamed to ...
28809 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
28810 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
28811 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
28812 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
28813 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
28814 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
28815 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
28816 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
28817 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
28818 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
28819 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
28820 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
28821 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
28822 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
28823 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
28824 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
28825 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
28826 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
28827 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
28828 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
28829 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
28830 All callers changed.
28831
28832 * include/grub/normal.h: New prototype.
28833
28834 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
28835 normal/menu_entry.c.
28836 (normal_mod_SOURCES): Likewise.
28837 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28838 (normal_mod_SOURCES): Likewise.
28839
e6b92c8a 288402005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
28841
28842 * include/grub/normal.h (grub_halt_init): New prototype.
28843 (grub_halt_fini): Likewise.
28844 (grub_reboot_init): Likewise.
28845 (grub_reboot_fini): Likewise.
28846
28847 * util/grub-emu.c: Include signal.h.
28848 (main_env): New global variable.
28849 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
28850 catch C-c.
28851 (grub_machine_fini): New function.
28852 (main): Call grub_halt_init and grub_reboot_init before
28853 grub_main, and grub_reboot_fini and grub_halt_fini after it.
28854 Call setjmp with MAIN_ENV to go back afterwards.
28855 Call grub_machine_fini right before return.
28856
28857 * include/grub/util/misc.h: Include setjmp.h.
28858 (main_env): New prototype.
28859
28860 * include/grub/kernel.h (grub_machine_fini): New prototype.
28861 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
28862 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
28863
28864 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
28865 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
28866 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 28867
e6b92c8a 28868 * util/i386/pc/misc.c: New file.
f19dbdb7 28869
e6b92c8a 28870 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
28871 util/i386/pc/misc.c, commands/i386/pc/halt.c and
28872 commands/i386/pc/reboot.c.
28873
c642636f 288742005-02-14 Guillem Jover <guillem@hadrons.org>
28875
28876 * include/grub/dl.h (grub_dl_check_header): New prototype.
28877 (grub_arch_dl_check_header): Change return type to grub_err_t,
28878 remove size parameter and export function. Update all callers.
28879 * kern/dl.c (grub_dl_check_header): New function.
28880 (grub_dl_load_core): Use `grub_dl_check_header' instead of
28881 `grub_arch_dl_check_header'. Check ELF type. Check if sections
28882 are inside the core.
28883 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
28884 independent ELF header checks.
28885 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
28886 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
28887 `grub_dl_check_header' instead of explicit checks. Check for the
28888 ELF type.
28889 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
28890 `grub_dl_check_header' instead of explicit checks. Remove arch
28891 specific ELF header checks.
28892
e6b92c8a 28893 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
28894 argument SIZE.
28895
5eabe94b 288962005-02-13 Hollis Blanchard <hollis@penguinppc.org>
28897
28898 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
28899 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
28900
1b14a681 289012005-02-12 Hollis Blanchard <hollis@penguinppc.org>
28902
28903 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 28904 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 28905 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 28906 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 28907 * partmap/amiga.c (amiga_partition_map_iterate): Return
28908 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
28909 * partmap/apple.c (apple_partition_map_iterate): Likewise.
28910
aca108aa 289112005-02-01 Guillem Jover <guillem@hadrons.org>
28912
28913 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
28914 help info.
28915
c9f9c556 289162005-01-31 Marco Gerards <metgerards@student.han.nl>
28917
28918 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
28919 Removed prototype.
28920 (grub_rescue_cmd_linux): New prototype.
28921 (grub_rescue_cmd_initrd): Likewise.
28922 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
28923 `bi_rec'.
28924 (grub_linux_release_mem): Release the memory for the initrd.
28925 (grub_load_linux): Renamed from this...
28926 (grub_rescue_cmd_linux): ...To this. Changed all callers.
28927 Changed `entry' not to be static. Loop over memory regions to
28928 find another one when the default fails.
28929 (grub_rescue_cmd_initrd): New function.
28930 (grub_linux_init): Remove function.
28931 (grub_linux_fini): Likewise.
28932 (GRUB_MOD_INIT): Register `initrd'.
28933 (GRUB_MOD_FINI): Unregister `initrd'.
28934 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
28935 Function removed.
28936 (grub_linux_normal_fini): Likewise.
28937 (GRUB_MOD_INIT): Register `initrd'.
28938 (GRUB_MOD_FINI): Unregister `initrd'.
28939
990cf3aa 289402005-01-31 Marco Gerards <metgerards@student.han.nl>
28941
28942 * commands/help.c: New file.
28943 * normal/arg.c (show_help): Renamed to...
28944 (grub_arg_show_help): ... this.
28945 * commands/i386/pc/halt.c: New file.
28946 * commands/i386/pc/reboot.c: Likewise.
28947 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
28948 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
28949 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
28950 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
28951 variables.
28952 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
28953 `commands/help.c'.
28954 (pkgdata_MODULES): Add `help.mod'.
28955 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
28956 * grub/i386/pc/init.h (grub_reboot): New prototype.
28957 (grub_halt): Likewise.
28958 * include/grub/normal.h (grub_arg_show_help): New prototype.
28959 (grub_help_init): Likewise.
28960 (grub_help_fini): Likewise.
28961 * util/grub-emu.c (main): Initialize and deinitialize the help
28962 command.
28963
28964 * normal/cmdline.c (grub_cmdline_get): Doc fix.
28965
28966 * normal/command.c (grub_command_init): Fixed the description of
28967 the `set' and `unset' commands.
28968
289692005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 28970
28971 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
28972 function.
28973 * commands/ieee1275/halt.c: New file.
28974 * commands/ieee1275/reboot.c: Likewise.
28975 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
28976 `__attribute__ ((unused))'. Some GCS related fixed.
28977 (grub_suspend_init) [GRUB_UTIL]: Function removed.
28978 (grub_suspend_fini): Likewise.
28979 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
28980 and `halt.mod'.
28981 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
28982 (halt_mod_CFLAGS): New variables.
28983 * include/grub/powerpc/ieee1275/ieee1275.h
28984 (grub_ieee1275_interpret): New prototype.
28985
1ab09cc7 289862005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
28987
28988 * include/grub/misc.h (memmove): New prototype.
28989 (memcpy): Likewise.
28990
8b8cbdb2 289912005-01-22 Hollis Blanchard <hollis@penguinppc.org>
28992
28993 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
28994 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
28995
e3741a27 289962005-01-22 Marco Gerards <metgerards@student.han.nl>
28997
28998 * kern/misc.c (grub_strndup): Function rewritten.
28999
776bd780 290002005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
29001
29002 * normal/menu.c (TERM_WIDTH): Macro redefined.
29003 (TERM_TOP_BORDER_Y): Likewise.
29004 (draw_border): Replaced while-loop by a for-loop. Make the number
29005 of lines consistent with the number of lines displayed in
29006 print_entries. Added a margin below the rectangle.
29007 (print_entry): Make the entry fit in the rectangle.
29008 (print_entries): Display the scroll arrows next to the right
29009 border.
29010
78026bce 290112005-01-21 Marco Gerards <metgerards@student.han.nl>
29012
29013 * fs/minix.c (grub_minix_find_file): Reserve more space for
29014 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
29015 `grub_strncpy' to copy `path' into it.
29016
67bbaf0f 290172005-01-21 Marco Gerards <metgerards@student.han.nl>
29018
29019 Add the loopback device, a device via which files can be accessed
29020 as devices.
f19dbdb7 29021
67bbaf0f 29022 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
29023 (pkgdata_MODULES): Add loopback.mod.
29024 (loopback_mod_SOURCES): New variable.
29025 (loopback_mod_CFLAGS): Likewise.
29026 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29027 `disk/loopback.c'.
29028 (pkgdata_MODULES): Add loopback.mod.
29029 (loopback_mod_SOURCES): New variable.
29030 (loopback_mod_CFLAGS): Likewise.
29031 * disk/loopback.c: new file.
29032 * include/grub/normal.h (grub_loop_init): New prototype.
29033 (grub_loop_fini): New prototype.
29034 * util/grub-emu.c (main): Initialize and de-initialize loopback
29035 support.
29036 * include/grub/disk.h (grub_disk_dev_id): Add
29037 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
29038
6f1c18bd 290392005-01-20 Hollis Blanchard <hollis@penguinppc.org>
29040
29041 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
29042 function.
29043 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
29044 (suspend_mod_SOURCES): New variable.
29045 (suspend_mod_CFLAGS): Likewise.
29046 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
29047 New prototype.
29048 * commands/ieee1275/suspend.c: New file.
29049
b38551da 290502005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29051
29052 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 29053 ((unused))' to `__attribute__ ((used))'.
b38551da 29054 (GRUB_MOD_FINI): Likewise.
29055 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
29056 * genmk.rb (PModule): Assign space to common symbols when linking
29057 modules.
29058
777aff39 290592005-01-20 Marco Gerards <metgerards@student.han.nl>
29060
29061 * include/grub/mm.h (grub_mm_init_region): Change the type of the
29062 `unsigned' arguments to `grub_size_t'.
29063 (grub_malloc): Likewise.
29064 (grub_realloc): Likewise.
29065 (grub_memalign): Likewise.
29066 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
29067 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
29068 * util/misc.c (grub_malloc): Likewise.
29069 (grub_realloc): Likewise.
29070 * kern/mm.c (get_header_from_pointer): Change the casts to
29071 `unsigned' into a cast to `grub_size_t'.
29072
29073 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
29074 point to `currnode' when `currnode' is changed.
29075
29076 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
29077 Schottelius <nico-linux@schottelius.org>.
29078
d0ff18e1 290792005-01-09 Hollis Blanchard <hollis@penguinppc.org>
29080
29081 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
29082 (note_path): Remove variable.
29083 (GRUB_IEEE1275_NOTE_NAME): New macro.
29084 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
29085 (grub_ieee1275_note_hdr): New structure.
29086 (grub_ieee1275_note_desc): Likewise.
29087 (grub_ieee1275_note): Likewise.
29088 (load_note): Remove `dir' argument. All callers updated. Remove
29089 `note_img' and `path'. Do not load a file from `note_path'.
29090 Initialize a struct grub_ieee1275_note and write that to `out'.
29091 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
29092
4ca7004c 290932005-01-05 Marco Gerards <metgerards@student.han.nl>
29094
29095 * util/misc.c (grub_util_read_image): Revert last change. It
29096 called `grub_util_read_at', which seeks from the beginning of the
29097 file.
29098
0b412211 290992005-01-04 Hollis Blanchard <hollis@penguinppc.org>
29100
29101 * TODO: Add note about endianness in grub-mkimage.
29102 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
29103 section.
29104 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
29105 (grub_mkimage_SOURCES): New target.
29106 * include/grub/kernel.h (grub_start_addr): Remove variable.
29107 (grub_end_addr): Likewise.
29108 (grub_total_module_size): Likewise.
29109 (grub_kernel_image_size): Likewise.
29110 (GRUB_MODULE_MAGIC): New constant.
29111 (grub_module_info): New structure.
29112 (grub_arch_modules_addr): New prototype.
29113 (grub_get_end_addr): Remove prototype.
29114 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
29115 * include/grub/powerpc/ieee1275/kernel.h: New file.
29116 * include/grub/util/misc.h (grub_util_get_fp_size): New
29117 prototype.
29118 (grub_util_read_at): Likewise.
29119 (grub_util_write_image_at): Likewise.
29120 * kern/main.c (grub_get_end_addr): Remove function.
29121 (grub_load_modules): Call grub_arch_modules_addr instead of using
29122 grub_end_addr. Look for a grub_module_info struct in memory. Use
29123 the grub_module_info fields instead of calling grub_get_end_addr
29124 as loop conditions. Move grub_add_unused_region code here.
29125 (grub_add_unused_region): Remove function.
29126 * kern/i386/pc/init.c: Include grub/cache.h.
29127 (grub_machine_init): Remove call to grub_get_end_addr. Remove
29128 one call to add_mem_region.
29129 (grub_arch_modules_addr): New function.
29130 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
29131 (grub_total_module_size): Likewise.
29132 Include grub/machine/kernel.h.
29133 (grub_arch_modules_addr): New function.
29134 * util/grub-emu.c (grub_end_addr): Remove variable.
29135 (grub_total_module_size): Likewise.
29136 (grub_arch_modules_addr): New function.
29137 * util/misc.c: Include unistd.h.
29138 (grub_util_get_fp_size): New function.
29139 (grub_util_read_at): Likewise.
29140 (grub_util_write_image_at): Likewise.
29141 (grub_util_read_image): Call grub_util_read_at.
29142 (grub_util_write_image): Call grub_util_write_image_at.
29143 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
29144 additional memory in kernel_img for a struct grub_module_info.
29145 Fill in that grub_module_info.
29146 * util/powerpc/ieee1275/grub-mkimage.c: New file.
29147
458786f8 291482005-01-03 Hollis Blanchard <hollis@penguinppc.org>
29149
29150 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
29151 New function.
29152 * include/grub/powerpc/ieee1275/ieee1275.h
29153 (grub_ieee1275_milliseconds): New prototype.
29154 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
29155 Change to 1000.
29156 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
29157 grub_ieee1275_milliseconds.
29158
ac507d1b 291592005-01-03 Hollis Blanchard <hollis@penguinppc.org>
29160
29161 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
29162 variable.
29163 (find_options): New function.
29164 (cmain): Call find_options.
29165 * include/grub/powerpc/ieee1275/ieee1275.h
29166 (grub_ieee1275_realmode): New extern variable.
29167 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
29168 grub_map if grub_ieee1275_realmode is false.
29169
6b8fd1c4 291702004-12-29 Marco Gerards <metgerards@student.han.nl>
29171
29172 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
29173 lines are inserted and make it work like readline. Reported by
29174 Vincent Pelletier <subdino2004@yahoo.fr>.
29175
8514a1e0 291762004-12-28 Marco Gerards <metgerards@student.han.nl>
29177
29178 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
29179
29180 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
29181 `kern/powerpc/cache.S'.
29182
924b6140 291832004-12-27 Marco Gerards <metgerards@student.han.nl>
29184
29185 * genmk.rb: Handle the `Program' class in the main loop. Written
29186 by Johan Rydberg <jrydberg@gnu.org>.
29187 (Program): New class.
29188 (programs): New variable.
29189 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
29190 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
29191 instead of "grub/kernel.h". Include <grub/machine/init.h>.
29192 (help_arch): Function removed.
29193 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
29194 `powerpc/libgcc.h' and `loader.h'.
29195 (pkgdata_PROGRAMS): New variable.
29196 (sbin_UTILITIES): Variable removed.
29197 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
29198 (grubof_SOURCES): Variable re-defined so it only includes the
29199 core functionality.
29200 (grubof_CFLAGS): Remove `-DGRUBOF'.
29201 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
29202 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
29203 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
29204 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
29205 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
29206 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
29207 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
29208 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
29209 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
29210 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
29211 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
29212 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
29213 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
29214 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
29215 (pc_mod_CFLAGS): New variables.
29216 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
29217 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
29218 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
29219 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
29220 Moved from here...
29221 * include/grub/i386/pc/init.h (grub_os_area_addr)
29222 (rub_os_area_size): ... to here.
29223 * include/grub/powerpc/ieee1275/ieee1275.h
29224 (grub_ieee1275_entry_fn): Export symbol.
29225 * include/grub/powerpc/ieee1275/init.h: New file.
29226 * include/grub/powerpc/libgcc.h: Likewise.
29227 * include/grub/cache.h: Likewise.
29228 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
29229 <hollis@penguinppc.org>.
29230 * kern/dl.c: Include <grub/cache.h>.
29231 (grub_dl_flush_cache): New function.
29232 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
29233 for this module.
29234 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
29235 (grub_console_init): Removed prototypes.
29236 (grub_machine_init): Don't initialize the modules anymore.
29237 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
29238 static.
29239 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
29240 Macro undef removed.
29241 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
29242 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
29243 relocation `R_PPC_REL32'. Return an error when the relocation is
29244 unknown.
29245 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
29246 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
29247 * util/misc.c (grub_arch_sync_caches): Likewise.
29248
e4b47e0c 292492004-12-19 Marco Gerards <metgerards@student.han.nl>
29250
29251 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
29252 `symlist.c', add `grubof_symlist.c'.
29253 (symlist.c): Variable removed.
29254 (grubof_HEADERS): Variable added.
29255 (grubof_symlist.c): New target.
29256 (kernel_syms.lst): Use `grubof_HEADERS' instead of
29257 `kernel_img_HEADERS'.
29258 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
29259 * kern/powerpc/dl.c: New file.
29260 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
29261 Function removed.
29262 (grub_arch_dl_relocate_symbols): Likewise.
29263 (grub_register_exported_symbols): Likewise.
29264
4ceb3636 292652004-12-13 Marco Gerards <metgerards@student.han.nl>
29266
29267 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
29268 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
29269 to fail instead. Reported by Vincent Pelletier
29270 <subdino2004@yahoo.fr>.
29271
29272 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
29273 it is not allocated. Reported by Vincent Pelletier
29274 <subdino2004@yahoo.fr>.
29275
29276 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
29277 output so the output looks better.
f19dbdb7 29278
3f1578fe 292792004-12-04 Marco Gerards <metgerards@student.han.nl>
29280
29281 Modulize the partition map support and add support for the amiga
29282 partition map.
f19dbdb7 29283
3f1578fe 29284 * commands/ls.c: Include <grub/partition.h> instead of
29285 <grub/machine/partition.h>.
29286 * kern/disk.c: Likewise.
29287 * kern/rescue.c: Likewise.
29288 * loader/i386/pc/chainloader.c: Likewise.
29289 * normal/cmdline.c: Likewise.
29290 * kern/powerpc/ieee1275/init.c: Likewise.
29291 (grub_machine_init): Call `grub_pc_partition_map_init',
29292 `grub_amiga_partition_map_init' and
29293 `grub_apple_partition_map_init'.
29294 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
29295 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
29296 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
29297 `partition.h' and `pc_partition.h'.
29298 (grub_setup_SOURCES): Remove
29299 `disk/i386/pc/partition.c'. Add `kern/partition.c',
29300 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
29301 (grub_emu_SOURCES): Likewise.
29302 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
29303 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
29304 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
29305 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
29306 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
29307 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
29308 (grubof_SOURCES): Likewise.
29309 * disk/i386/pc/partition.c: File removed.
29310 * disk/powerpc/ieee1275/partition.c: Likewise.
29311 * include/grub/powerpc/ieee1275/partition.h: Likewise.
29312 * include/grub/i386/pc/partition.h: Likewise.
29313 * kern/partition.c: New file.
29314 * partmap/amiga.c: Likewise.
29315 * partmap/apple.c: Likewise.
29316 * partmap/pc.c: Likewise.
29317 * include/grub/partition.h: Likewise..
29318 * include/grub/pc_partition.h: Likewise.
29319 * util/grub-emu.c: Include <grub/partition.h> instead of
29320 <grub/machine/partition.h>.
29321 (main): Call `grub_pc_partition_map_init',
29322 `grub_amiga_partition_map_init' and
29323 `grub_apple_partition_map_init' and deinitialize afterwards.
29324 * util/i386/pc/biosdisk.c: Include `#include
29325 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
29326 `<grub/machine/partition.h>'.
29327 * util/i386/pc/grub-setup.c: Likewise.
29328 * util/i386/pc/biosdisk.c: Likewise.
29329 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
29330 partition information in case of a PC partition.
29331 * util/i386/pc/grub-setup.c: Include `#include
29332 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
29333 `<grub/machine/partition.h>'.
29334 (setup): Only access the PC specific partition information in case
29335 of a PC partition.
29336
0ef4ced9 293372004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 29338
0ef4ced9 29339 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
29340 (grub_longjmp): Likewise.
29341 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
29342 20.
29343 * normal/powerpc/setjmp.S: New file.
29344 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
29345 `normal/powerpc/setjmp.S'.
29346 (grubof_CFLAGS): Add `-DGRUBOF'.
29347 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
29348 [GRUB_UTIL && !GRUBOF].
f19dbdb7 29349
19950e29 293502004-11-16 Marco Gerards <metgerards@student.han.nl>
29351
29352 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
29353 property named `name'. Correctly handle the error returned by
29354 `grub_ieee1275_finddevice' if a device can not be opened.
29355
a2fea427 293562004-11-02 Hollis Blanchard <hollis@penguinppc.org>
29357
29358 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
29359 `actual' for negativity.
29360 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
29361 kern/fshelp.c.
29362
41ea0ea3 293632004-11-01 Marco Gerards <metgerards@student.han.nl>
29364
29365 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
29366 (PAGE_OFFSET): New macro.
29367 (CRTC_ADDR_PORT): Likewise.
29368 (CRTC_DATA_PORT): Likewise.
29369 (START_ADDR_HIGH_REGISTER): Likewise.
29370 (START_ADDR_LOW_REGISTER): Likewise.
29371 (GRAPHICS_ADDR_PORT): Likewise.
29372 (GRAPHICS_DATA_PORT): Likewise.
29373 (READ_MAP_REGISTER): Likewise.
29374 (INPUT_STATUS1_REGISTER): Likewise.
29375 (INPUT_STATUS1_VERTR_BIT): Likewise.
29376 (page): New variable.
29377 (wait_vretrace): New function.
29378 (set_read_map): Likewise.
29379 (set_start_address): Likewise.
29380 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
29381 the right page.
29382 (check_vga_mem): Take the page into account.
29383 (write_char): Likewise.
29384 (write_cursor): Likewise.
29385 (scroll_up): Likewise. Copy the page to the page that is not
29386 shown and switch between both pages.
29387 (grub_vga_putchar): Fix off by one error.
29388 (grub_vga_cls): Wait for the vertical retrace. Take the page into
29389 account.
29390
ad0bd20b 293912004-11-01 Marco Gerards <metgerards@student.han.nl>
29392
29393 Add support for iso9660 (including rockridge).
f19dbdb7 29394
ad0bd20b 29395 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
29396 (iso9660_mod_SOURCES): New variable.
29397 (iso9660_mod_CFLAGS): Likewise.
29398 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
29399 * include/grub/fs.h (grub_iso9660_init): New prototype.
29400 * util/grub-emu.c (main): Call `grub_iso9660_init'.
29401 * fs/iso9660.c: New file.
29402
29403 * include/grub/misc.h (grub_strncat): New prototype.
29404 * kern/misc.c (grub_strncat): New function.
f19dbdb7 29405
ad0bd20b 29406 * fs/hfs.c (grub_hfs_mount): Translate the error
29407 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
29408 * fs/jfs.c (grub_jfs_mount): Likewise.
29409 * fs/ufs.c (grub_ufs_mount): Likewise.
29410
a5477a59 294112004-10-28 Hollis Blanchard <hollis@penguinppc.org>
29412
29413 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
29414 which initialized BAT registers.
29415 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
29416 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
29417 Move from here...
29418 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
29419 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
29420 ... to here.
29421 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
29422 (grub_mapclaim): Likewise.
29423 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
29424 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
29425 hand.
29426
9304c1f8 294272004-10-19 Hollis Blanchard <hollis@penguinppc.org>
29428
29429 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
29430 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
29431 -ffreestanding and -msoft-float.
29432
86f4ae25 294332004-10-15 Hollis Blanchard <hollis@penguinppc.org>
29434
29435 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
29436 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
29437 set in grub_ieee1275_flags.
29438
38912228 294392004-10-14 Hollis Blanchard <hollis@penguinppc.org>
29440
29441 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
29442 prototype.
29443 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
29444 grub_console_init first.
29445 Change the memory range used for grub_ieee1275_claim and
29446 grub_mm_init_region.
29447 Print an error message if the claim fails.
29448 Include <grub/misc.h>.
29449
d1923dc8 294502004-10-13 Hollis Blanchard <hollis@penguinppc.org>
29451
29452 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
29453 Call grub_children_iterate for device nodes of type `scsi',
29454 `ide', or `ata'.
29455 (grub_ofdisk_open): Remove manual device alias resolution.
29456 Fix memory leak when device cannot be opened.
f19dbdb7 29457 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 29458 (grub_children_iterate): New prototype.
29459 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
29460 New function.
29461 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
29462 Return -1 if args.size was -1.
29463
4512e4f3 294642004-10-11 Hollis Blanchard <hollis@penguinppc.org>
29465
29466 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
29467 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
29468 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
29469 Open Firmware's memory for it; claim memory from _start to _end.
29470 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
29471 (_end): New extern.
29472 (_start): Zero BSS from __bss_start to _end.
29473 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
29474 New extern.
29475 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
29476
4d61feb0 294772004-10-11 Hollis Blanchard <hollis@penguinppc.org>
29478
ad0bd20b 29479 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
29480 -1 if args.base was -1.
4d61feb0 29481
026fa2f9 294822004-10-08 Hollis Blanchard <hollis@penguinppc.org>
29483
29484 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
29485 escape sequence instead of a literal ^L. Also call
29486 grub_ofconsole_gotoxy.
29487
9f2220ef 294882004-10-03 Hollis Blanchard <hollis@penguinppc.org>
29489
29490 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
29491 void * arguments to grub_addr_t. All callers updated. Also make
29492 the `result' argument optional.
29493 (grub_ieee1275_release): change void * arguments to grub_addr_t.
29494 All callers updated.
29495
8a572cd7 294962004-09-22 Hollis Blanchard <hollis@penguinppc.org>
29497
29498 * commands/ls.c (grub_ls_list_files): Use the string following the
29499 initial ')', if present, as the filesystem path.
29500 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
29501
29502 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
29503
18aa81f2 295042004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
29505
29506 Make the source code of the menu interface more readable.
f19dbdb7 29507
18aa81f2 29508 * normal/menu.c: Include grub/mm.h.
29509 (TERM_WIDTH): New macro.
29510 (TERM_HEIGHT): Likewise.
29511 (TERM_INFO_HEIGHT): Likewise.
29512 (TERM_MARGIN): Likewise.
29513 (TERM_SCROLL_WIDTH): Likewise.
29514 (TERM_TOP_BORDER_Y): Likewise.
29515 (TERM_LEFT_BORDER_X): Likewise.
29516 (TERM_BORDER_WIDTH): Likewise.
29517 (TERM_MESSAGE_HEIGHT): Likewise.
29518 (TERM_BORDER_HEIGHT): Likewise.
29519 (TERM_NUM_ENTRIES): Likewise.
29520 (TERM_FIRST_ENTRY_Y): Likewise.
29521 (TERM_ENTRY_WIDTH): Likewise.
29522 (TERM_CURSOR_X): Likewise.
29523 (draw_border): Use macros instead of magic numbers.
29524 (print_entry): Likewise.
29525 (print_entries): Likewise.
29526 (run_menu): Likewise. Also, handle the key 'e'.
29527 (run_menu_entry): Ignore empty command lines.
29528 (print_message): Added a new argument EDIT. If EDIT is true,
29529 print a different message.
29530 (init_page): Likewise.
29531 (edit_menu_entry): New function. Not implemented yet.
29532
b47efe30 295332004-09-17 Marco Gerards <metgerards@student.han.nl>
29534
29535 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
29536 can be loaded from normal mode.
f19dbdb7 29537
b47efe30 29538 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
29539 `multiboot.mod'.
29540 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
29541 (multiboot_mod_CFLAGS): New variables.
29542 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 29543 * loader/i386/pc/multiboot_normal.c: Likewise.
29544
b47efe30 29545 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
29546 attribute `unused'.
f19dbdb7 29547
b47efe30 29548 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
29549 `fdiro' to read the mode information from instead of `diro'.
29550
29551 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
29552 looking up a symlink.
29553
29554 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
29555 macro.
29556 * normal/command.c (grub_command_execute): Don't parse the
29557 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
29558 flags of the command.
29559
29560 * normal/menu.c (grub_menu_run): Fix typo.
29561
da75ac71 295622004-09-14 Hollis Blanchard <hollis@penguinppc.org>
29563
29564 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
29565
29566 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
29567 `y + 1' instead of `y - 1'.
29568
29569 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 29570
062b24c2 295712004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
29572
29573 From Hollis Blanchard <hollis@penguinppc.org>:
29574 * kern/misc.c (memmove): New alias for grub_memmove.
29575 (memcmp): New alias for grub_memcmp.
29576 (memset): New alias for grub_memset.
f19dbdb7 29577 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 29578 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 29579 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 29580 (grub_ieee1275_get_property): Likewise.
f19dbdb7 29581
8ddad845 295822004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
29583
29584 Added normal mode command `chainloader' as module chain.mod, which
29585 depends on normal.mod and _chain.mod.
f19dbdb7 29586
8ddad845 29587 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
29588 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
29589 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
29590 Deleted prototype.
29591 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
29592 but arguments parsing moved to ...
29593 (grub_chainloader_cmd): ... here. New function.
29594 * include/grub/i386/pc/chainloader.h: New file.
29595 * loader/i386/pc/chainloader_normal.c: Likewise.
29596
2c1f4ce3 295972004-09-11 Marco Gerards <metgerards@student.han.nl>
29598
29599 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
29600 (grub_mkimage_LDFLAGS): Likewise.
29601 (grub_emu_SOURCES): Likewise.
29602 (kernel_img_HEADERS): Added fshelp.h.
29603 * fs/ext2.c: Include <grub/fshelp.h>.
29604 (FILETYPE_REG): New macro.
29605 (FILETYPE_INO_REG): Likewise.
29606 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
29607 Changed all users.
29608 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
29609 all users.
29610 (grub_fshelp_node): New struct.
29611 (grub_ext2_data): Added member `diropen'. Changed member `inode'
29612 to a pointer.
29613 (grub_ext2_get_file_block): Removed function.
29614 (grub_ext2_read_block): New function.
29615 (grub_ext2_read_file): Replaced parameter `data' by `node'.
29616 This function was written.
29617 (grub_ext2_mount): Read the root inode. Create a diropen struct.
29618 (grub_ext2_find_file): Removed function.
29619 (grub_ext2_read_symlink): New function.
29620 (grub_ext2_iterate_dir): Likewise.
29621 (grub_ext2_open): Rewritten.
29622 (grub_ext2_dir): Rewritten.
29623 * include/grub/fshelp.h: New file.
29624 * fs/fshelp.c: Likewise.
29625
3c52136a 296262004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
29627
29628 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
29629 (print_message): Add a missing newline.
29630 (run_menu): Added timeout support.
29631 (run_menu_entry): New local function.
29632 (grub_menu_run): Added support for booting.
29633
29634 * kern/loader.c (grub_loader_is_loaded): New function.
29635
29636 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
29637 (grub_get_rtc): Exported.
29638
29639 * include/grub/i386/pc/time.h: Include grub/symbol.h.
29640 (grub_get_rtc): Exported.
29641
29642 * include/grub/normal.h (struct grub_command_list): Remove
29643 constant from the member `command'.
29644
29645 * include/grub/loader.h (grub_loader_is_loaded): Declared.
29646
29647 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
29648
29649 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
29650
aa033560 296512004-08-28 Marco Gerards <metgerards@student.han.nl>
29652
29653 Add support for the JFS filesystem.
29654
29655 * fs/jfs.c: New file.
29656 * include/grub/fs.h (grub_jfs_init): New prototype.
29657 (grub_jfs_fini): New prototype.
29658 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
29659 (grub_emu_SOURCES): Likewise.
29660 (pkgdata_MODULES): Add jfs.mod.
29661 (jfs_mod_SOURCES): New variable.
29662 (jfs_mod_CFLAGS): Likewise.
29663 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
29664 (grubof_SOURCES): Likewise.
29665 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
29666
29667 * fs/fat.c (grub_fat_find_dir): Convert the filename little
29668 endian to the host endian.
29669 (grub_fat_utf16_to_utf8): Move function from there...
29670 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 29671 the endianness of the source string anymore.
aa033560 29672 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
29673
94bc45af 296742004-08-24 Marco Gerards <metgerards@student.han.nl>
29675
29676 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
29677 (grub_boot_fini) [GRUB_UTIL]: Likewise.
29678 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
29679 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 29680
94bc45af 29681 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
29682 (grub_hfs_iterate_dir): Make the function static. Add prototypes
29683 for `node_found' and `it_dir'.
29684 (grub_hfs_dir): Add prototype for `dir_hook'.
29685
29686 * fs/minix.c (grub_minix_get_file_block): Add prototype for
29687 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
29688 and `indir32' to silence a gcc warning.
29689
29690 * include/grub/fs.h (grub_hfs_init): New prototype.
29691 (grub_hfs_fini): Likewise.
f19dbdb7 29692
29693
97543f08 296942004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
29695
29696 Each disk device has its own id now. This is useful to make use
29697 of multiple disk devices.
f19dbdb7 29698
97543f08 29699 * include/grub/disk.h (grub_disk_dev_id): New enum.
29700 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
29701 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
29702
29703 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
29704 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
29705
29706 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
29707 GRUB_DISK_DEVICE_OFDISK_ID as an id.
29708
29709 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
29710 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
29711
29712 * include/grub/disk.h (struct grub_disk_dev): Added a new member
29713 "id" which is used by the cache manager.
29714
29715 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
29716 of just "GRUB".
29717
64372eb4 297182004-08-18 Marco Gerards <metgerards@student.han.nl>
29719
29720 * fs/hfs.c: New file.
29721 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
29722 (grub_emu_SOURCES): Likewise.
29723 (pkgdata_MODULES): Add hfs.mod.
29724 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
29725 (grubof_SOURCES): Likewise.
29726 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
29727
29728 * include/grub/misc.h (grub_strncasecmp): Add prototype.
29729 * kern/misc.c (grub_strncasecmp): Add function.
29730
cc61b58f 297312004-08-14 Marco Gerards <metgerards@student.han.nl>
29732
29733 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
29734 with parentheses.
29735
29736 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
29737 (grub_ext2_dir): In case the directory entry type is unknown, read
29738 it from the inode.
29739
0ef123f6 297402004-08-02 Peter Bruin <pjbruin@dds.nl>
29741
29742 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
29743 grub_load_linux instead of grub_rescue_cmd_linux as second
29744 argument of grub_rescue_register_command.
29745
29746 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
29747
a447c5df 297482004-07-27 Marco Gerards <metgerards@student.han.nl>
29749
29750 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
29751 function.
29752 * commands/boot.c: Remove the check for `GRUB_UTIL'.
29753 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
29754 `loader/powerpc/ieee1275/linux.c',
29755 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
29756 * include/grub/powerpc/ieee1275/ieee1275.h
29757 (grub_ieee1275_release): New prototype.
29758 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
29759 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
29760 normal, boot, linux and linux_normal.
29761 * loader/powerpc/ieee1275/linux.c: New file.
29762 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
29763
5a9e3546 297642004-07-12 Marco Gerards <metgerards@student.han.nl>
29765
29766 * normal/arg.c (grub_arg_parse): Correct error handling after
29767 reallocating the argumentlist (check if `argl' is not null instead
29768 of checking if `args' is not null).
29769 * kern/mm.c (grub_realloc): Return the same pointer when using the
29770 same region, instead of returning the header address.
29771
e15199cb 297722004-07-11 Marco Gerards <metgerards@student.han.nl>
29773
29774 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
29775 one block instead of two when looking for the initial partition.
29776 (grub_partition_probe): Initialize the local variable `p' with 0.
29777 Use base 10 for the grub_strtoul call.
29778 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
29779 need for one local variable.
29780 (grub_strtoul): Don't add the new value to `num', instead of that
29781 just assign it.
29782
020616c2 297832004-07-11 Marco Gerards <metgerards@student.han.nl>
29784
29785 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
29786 (pxeboot_img_SOURCES): New variable.
29787 (pxeboot_img_ASFLAGS): Likewise.
29788 (pxeboot_img_LDFLAGS): Likewise.
29789 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
29790 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
29791 <lode_leroy@hotmail.com>.
29792
6c51eb64 297932004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
29794
29795 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
29796 there was no input.
29797
cfb12aff 297982004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
29799
29800 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
29801 the history buffer logic.
29802
6eabba74 298032004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
29804
29805 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
29806 (FILETYPE_INO_SYMLINK): New macros.
29807 (grub_ext2_find_file): Check if the node is a directory using the
29808 inode stat information instead of using the filetype in the
29809 dirent. Exclude the first character of an absolute symlink.
29810 (grub_ext2_dir): Mask out the filetype part of the mode member of
29811 the inode.
29812
66e19ef8 298132004-05-24 Marco Gerards <metgerards@student.han.nl>
29814
29815 Add support for UFS version 1 and 2. Add support for the minix
29816 filesystem version 1 and 2, both the variants with 14 and 30 long
29817 filenames.
f19dbdb7 29818
66e19ef8 29819 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
29820 fs/minix.c.
29821 (grub_emu_SOURCES): Likewise.
29822 (pkgdata_MODULES): Add ufs.mod and minix.mod.
29823 (ufs_mod_SOURCES): New variable.
29824 (ufs_mod_CFLAGS): Likewise.
29825 (minix_mod_SOURCES): Likewise.
29826 (minix_mod_CFLAGS): Likewise.
29827 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
29828 fs/minix.c.
29829 (grubof_SOURCES): Likewise.
29830 * fs/ufs.c: New file.
29831 * fs/minix.c: New file.
29832 * include/grub/fs.h (grub_ufs_init): New prototype.
29833 (grub_ufs_fini): Likewise.
29834 (grub_minix_init): Likewise.
29835 (grub_minix_fini): Likewise.
29836 * util/grub-emu.c (main): Initialize and deinitialize UFS and
29837 minix fs.
29838
cc2e748a 298392004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
29840
29841 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
29842 commands/ls.c, commands/terminal.c, commands/boot.c,
29843 commands/cmp.c and commands/cat.c.
29844 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
29845
29846 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
29847 "env.h"
29848
4b13b216 298492004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
29850
29851 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
29852 and grub_, respectively. Because the conversion is trivial and
29853 mechanical, I omit the details here. Please refer to the CVS
29854 if you need more information.
29855
6a142551 298562004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
29857
29858 * include/pupa: Renamed to ...
29859 * include/grub: ... this.
29860 * util/i386/pc/pupa-mkimage.c: Renamed to ...
29861 * util/i386/pc/grub-mkimage.c: ... this.
29862 * util/i386/pc/pupa-setup.c: Renamed to ...
29863 * util/i386/pc/grub-setup.c: ... this.
29864 * util/pupa-emu.c: Renamed to ...
29865 * util/grub-emu.c: ... this.
29866
e56cdf21 298672004-03-29 Marco Gerards <metgerards@student.han.nl>
29868
29869 Add support for the newworld apple macintosh (PPC). This has been
29870 tested on the powerbook 2000 only. It only adds support for
29871 generic ieee1275 functions, console and disk support. This should
29872 be easy to port to other architectures with support for Open
29873 Firmware.
f19dbdb7 29874
e56cdf21 29875 * configure.ac: Accept the powerpc as host_cpu. In the case of
29876 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
29877 specific tests are only executed while building for the i386.
29878 Inverse test for crosscompile.
29879 * genmk.rb (Utility): Allow assembler files.
29880 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
29881 * conf/powerpc-ieee1275.rmk: New file.
29882 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
29883 * disk/powerpc/ieee1275/partition.c: Likewise.
29884 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
29885 * include/pupa/powerpc/ieee1275/console.h: Likewise.
29886 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
29887 * include/pupa/powerpc/ieee1275/time.h: Likewise.
29888 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
29889 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
29890 * include/pupa/powerpc/ieee1275/loader.h
29891 * include/pupa/powerpc/setjmp.h: Likewise.
29892 * include/pupa/powerpc/types.h: Likewise.
29893 * kern/powerpc/ieee1275/init.c: Likewise.
29894 * kern/powerpc/ieee1275/openfw.c: Likewise.
29895 * term/powerpc/ieee1275/ofconsole.c: Likewise.
29896
29897 These files were written by Johan Rydberg
29898 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 29899
e56cdf21 29900 * boot/powerpc/ieee1275/cmain.c: New file.
29901 * boot/powerpc/ieee1275/crt0.S: Likewise.
29902 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
29903 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
29904
8c8cc205 299052004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
29906
29907 * Makefile.in: Update copyright.
29908 * genmodsrc.sh: Likewise.
29909 * gensymlist.sh: Likewise.
29910 * term/i386/pc/vga.c: Indent correctly.
29911
29912 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
29913 bugreporting address.
29914 * util/i386/pc/pupa-setup.c (usage): Likewise,
29915 (main): Call pupa_ext2_init and pupa_ext2_fini.
29916
f19dbdb7 29917 * fs/fat.c (log2): Renamed to ...
8c8cc205 29918 (fat_log2): ... this.
29919 All callers changed.
29920 * kern/misc.c (memcpy): Alias to pupa_memmove.
29921 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
29922 lvalue cast.
29923 * util/console.c (pupa_ncurses_fini): Return 0.
29924
29925 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
29926 Move fail label here.
29927 [__GNU__]: Don't warn when using stat.
29928 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
29929 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
29930 long int. Use strtol instead of strtoul.
f19dbdb7 29931
db1771cf 299322004-03-14 Marco Gerards <metgerards@student.han.nl>
29933
29934 * commands/boot.c: New file.
29935 * commands/cat.c: Likewise.
29936 * commands/cmp.c: Likewise.
29937 * commands/ls.c: Likewise.
29938 * commands/terminal.c: Likewise.
29939 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
29940 (pupa_register_command): Changed interface to match the new
29941 argument parser.
29942 (pupa_command_execute): Changed (almost rewritten) so it uses
29943 pupa_split_command. Added support for setting variables using the
29944 syntax `foo=bar'.
29945 (rescue_command): Changed to work with the new argument parser.
29946 (terminal_command): Moved from here to commands/terminal.c.
29947 (set_command): New function.
29948 (unset_command): New function.
29949 (insmod_command): New function.
29950 (rmmod_command): New function.
29951 (lsmod_command): New function.
29952 (pupa_command_init): Don't initialize the command terminal
29953 anymore. Initialize the commands set, unset, insmod, rmmod and
29954 lsmod.
29955 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
29956 (kernel_img_HEADERS): Add arg.h and env.h.
29957 (pupa_mkimage_LDFLAGS): Add kern/env.c.
29958 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
29959 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
29960 normal/arg.c.
29961 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
29962 terminal.mod.
29963 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
29964 (boot_mod_SOURCES): New variable.
29965 (terminal_mod_SOURCES): Likewise.
29966 (ls_mod_SOURCES): Likewise.
29967 (cmp_mod_SOURCES): Likewise.
29968 (cat_mod_SOURCES): Likewise.
29969
29970 * normal/arg.c: New file.
29971 * kern/env.c: Likewise.
29972 * include/pupa/arg.h: Likewise.
29973 * include/pupa/env.h: Likewise.
29974 * font/manager.c (font_command): Changed to match argument parsing
29975 interface changes.
29976 (PUPA_MOD_INIT): Likewise.
29977 * hello/hello.c (pupa_cmd_hello): Likewise.
29978 (PUPA_MOD_INIT): Likewise.
29979 * include/pupa/disk.h: Include <pupa/device.h>.
29980 (pupa_print_partinfo): New prototype.
29981 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
29982 (pupa_dl_get_prefix): Likewise.
29983 * include/pupa/misc.h: Include <pupa/err.h>.
29984 (pupa_isgraph): New prototype.
29985 (pupa_isdigit): Likewise.
29986 (pupa_split_cmdline): Likewise.
29987 * include/pupa/normal.h: Include <pupa/arg.h>.
29988 (pupa_command): Changed the prototype of the member `func' to
29989 match the argument parsing interface. Added member `options'.
29990 (pupa_register_command): Updated to match function.
29991 (pupa_arg_parse): New prototype.
29992 (pupa_hello_init) [PUPA_UTIL]: New prototype.
29993 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
29994 (pupa_ls_init) [PUPA_UTIL]: Likewise.
29995 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
29996 (pupa_cat_init) [PUPA_UTIL]: Likewise.
29997 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
29998 (pupa_boot_init) [PUPA_UTIL]: Likewise.
29999 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
30000 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
30001 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
30002 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
30003 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
30004 * kern/disk.c: Include <pupa/file.h>.
30005 (pupa_print_partinfo): New function.
30006 * kern/dl.c: Include <pupa/env.h>.
30007 (pupa_dl_dir): Variable removed.
30008 (pupa_dl_load): Use the environment variable `prefix' instead of
30009 the variable pupa_dl_dir.
30010 (pupa_dl_set_prefix): Function removed.
30011 (pupa_dl_get_prefix): Likewise.
30012 * kern/i386/pc/init.c: Include <pupa/env.h>.
30013 (pupa_machine_init): Use the environment variable `prefix' instead of
30014 using pupa_dl_set_prefix to set the prefix.
30015 * kern/main.c: Include <pupa/env.h>.
30016 (pupa_set_root_dev): Use the environment variable `prefix' instead of
30017 using pupa_dl_get_prefix to get the prefix.
30018 * kern/misc.c: Include <pupa/env.h>.
30019 (pupa_isdigit): New function.
30020 (pupa_isgraph): Likewise.
30021 (pupa_ftoa): Likewise.
30022 (pupa_vsprintf): Added support for printing values of the type
30023 `double'. Make it possible to format variable output when using
30024 formatting like `%1.2%f'.
30025 (pupa_split_cmdline): New function.
30026 * kern/rescue.c: Include <pupa/env.h>.
30027 (next_word): Removed function.
30028 (pupa_rescue_cmd_prefix): Likewise.
30029 (pupa_rescue_cmd_set): New function.
30030 (pupa_rescue_cmd_unset): New function.
30031 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
30032 split the command line instead of splitting it here. Added
30033 support for setting variables using the syntax `foo=bar'. Don't
30034 initialize the prefix command anymore. Initialized the set and
30035 unset commands.
30036 * normal/cmdline.c: Include <pupa/env.h>.
30037 (pupa_tab_complete): Added prototypes for print_simple_completion,
30038 print_partition_completion, add_completion, iterate_commands,
30039 iterate_dev, iterate_part and iterate_dir. Moved code to print
30040 partition information from here to kern/disk.c.
fe6b695a 30041 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 30042 * normal/main.c: Include <pupa/env.h>.
30043 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
30044 instead of using pupa_dl_get_prefix to get the prefix.
30045 * term/i386/pc/vga.c: Include <pupa/arg.h>.
30046 (check_vga_mem): Cast pointers to `void *' to silence a gcc
30047 warning.
30048 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
30049 (pupa_vga_setcolor): Declare unused variables with `__attribute__
30050 ((unused))' to silence a gcc warning.
30051 (pupa_vga_setcolor): Likewise.
30052 (debug_command): Changed to match argument parsing
30053 interface changes.
30054 * util/pupa-emu.c: Include <pupa/env.h>.
30055 (options): Added 0's for unused fields to silence a gcc warning.
30056 (argp): Likewise.
30057 (main): Use the environment variable `prefix' instead of using
30058 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
30059 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
30060 and terminal.
30061
30062 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
30063 * util/misc.c: Include <malloc.h>.
30064 (pupa_malloc): Rewritten so errors are correctly reported.
30065 (pupa_realloc): Likewise.
30066 (pupa_memalign): Likewise.
30067 (pupa_mm_init_region): Declare unused variables with
30068 `__attribute__ ((unused))' to silence a gcc warning.
30069 * normal/i386/setjmp.S: Remove tab at the end of the file to
30070 silence a gcc warning.
30071 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
30072 variables with `__attribute__ ((unused))' to silence a gcc
30073 warning.
30074 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
30075 local variable i unsigned to silence a gcc warning.
30076
30077 * kern/term.c: Include <pupa/misc.h>.
30078 (pupa_more_lines): New variable.
30079 (pupa_more): Likewise.
30080 (pupa_putcode): When the pager is active pause at the end of every
30081 screen.
30082 (pupa_set_more): New function.
30083 * include/pupa/term.h (pupa_set_more): New prototype.
30084
30085
3b1139cb 300862004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
30087
30088 Now this project is GRUB 2 rather than PUPA. The location of
30089 the CVS repository was moved to GRUB's.
f19dbdb7 30090
3b1139cb 30091 * configure.ac: Use bug-grub as the reporting address.
30092 Use GRUB instead of PUPA.
30093 Change the version number to 1.90.
30094
8367695c 300952004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
30096
30097 * genkernsyms.sh: Updated copyright information.
30098 * genmk.rb: Likewise.
30099 * genmodsrc.sh: Likewise.
30100 * gensymlist.sh: Likewise.
30101 * boot/i386/pc/boot.S: Likewise.
30102 * boot/i386/pc/diskboot.S: Likewise.
30103 * disk/i386/pc/biosdisk.c: Likewise.
30104 * disk/i386/pc/partition.c: Likewise.
30105 * font/manager.c: Likewise.
30106 * fs/ext2.c: Likewise.
30107 * fs/fat.c: Likewise.
30108 * include/pupa/boot.h: Likewise.
30109 * include/pupa/device.h: Likewise.
30110 * include/pupa/disk.h: Likewise.
30111 * include/pupa/dl.h: Likewise.
30112 * include/pupa/elf.h: Likewise.
30113 * include/pupa/err.h: Likewise.
30114 * include/pupa/file.h: Likewise.
30115 * include/pupa/font.h: Likewise.
30116 * include/pupa/fs.h: Likewise.
30117 * include/pupa/kernel.h: Likewise.
30118 * include/pupa/loader.h: Likewise.
30119 * include/pupa/misc.h: Likewise.
30120 * include/pupa/mm.h: Likewise.
30121 * include/pupa/net.h: Likewise.
30122 * include/pupa/normal.h: Likewise.
30123 * include/pupa/rescue.h: Likewise.
30124 * include/pupa/setjmp.h: Likewise.
30125 * include/pupa/symbol.h: Likewise.
30126 * include/pupa/term.h: Likewise.
30127 * include/pupa/types.h: Likewise.
30128 * include/pupa/i386/setjmp.h: Likewise.
30129 * include/pupa/i386/types.h: Likewise.
30130 * include/pupa/i386/pc/biosdisk.h: Likewise.
30131 * include/pupa/i386/pc/boot.h: Likewise.
30132 * include/pupa/i386/pc/console.h: Likewise.
30133 * include/pupa/i386/pc/init.h: Likewise.
30134 * include/pupa/i386/pc/kernel.h: Likewise.
30135 * include/pupa/i386/pc/linux.h: Likewise.
30136 * include/pupa/i386/pc/loader.h: Likewise.
30137 * include/pupa/i386/pc/memory.h: Likewise.
30138 * include/pupa/i386/pc/multiboot.h: Likewise.
30139 * include/pupa/i386/pc/partition.h: Likewise.
30140 * include/pupa/i386/pc/time.h: Likewise.
30141 * include/pupa/i386/pc/vga.h: Likewise.
30142 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
30143 * include/pupa/util/getroot.h: Likewise.
30144 * include/pupa/util/misc.h: Likewise.
30145 * include/pupa/util/resolve.h: Likewise.
30146 * kern/device.c: Likewise.
30147 * kern/disk.c: Likewise.
30148 * kern/dl.c: Likewise.
30149 * kern/err.c: Likewise.
30150 * kern/file.c: Likewise.
30151 * kern/fs.c: Likewise.
30152 * kern/loader.c: Likewise.
30153 * kern/main.c: Likewise.
30154 * kern/misc.c: Likewise.
30155 * kern/mm.c: Likewise.
30156 * kern/rescue.c: Likewise.
30157 * kern/term.c: Likewise.
30158 * kern/i386/dl.c: Likewise.
30159 * kern/i386/pc/init.c: Likewise.
30160 * kern/i386/pc/lzo1x.S: Likewise.
30161 * kern/i386/pc/startup.S: Likewise.
30162 * loader/i386/pc/chainloader.c: Likewise.
30163 * loader/i386/pc/linux.c: Likewise.
30164 * loader/i386/pc/multiboot.c: Likewise.
30165 * normal/cmdline.c: Likewise.
30166 * normal/command.c: Likewise.
30167 * normal/main.c: Likewise.
30168 * normal/menu.c: Likewise.
30169 * normal/i386/setjmp.S: Likewise.
30170 * term/i386/pc/console.c: Likewise.
30171 * term/i386/pc/vga.c: Likewise.
30172 * util/console.c: Likewise.
30173 * util/genmoddep.c: Likewise.
30174 * util/misc.c: Likewise.
30175 * util/pupa-emu.c: Likewise.
30176 * util/resolve.c: Likewise.
30177 * util/unifont2pff.rb: Likewise.
30178 * util/i386/pc/biosdisk.c: Likewise.
30179 * util/i386/pc/getroot.c: Likewise.
30180 * util/i386/pc/pupa-mkimage.c: Likewise.
30181 * util/i386/pc/pupa-setup.c: Likewise.
30182
e6eced71 301832004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
30184
30185 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
30186 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
30187 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
30188 reading and reset it after reading.
30189 (pupa_ext2_close): Return PUPA_ERR_NONE.
30190
30191 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
30192 Correct value.
30193 (struct linux_kernel_header): Add kernel_version and
30194 initrd_addr_max.
30195 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
30196 pupa_file_read succeeds.
30197 (pupa_rescue_cmd_initrd): Implement.
30198
5aded270 301992003-12-03 Marco Gerards <metgerards@student.han.nl>
30200
30201 * fs/ext2.c (pupa_ext2_label): New function.
30202 (pupa_ext2_fs): Added label.
30203 * fs/fat.c (pupa_fat_label): New function.
30204 (pupa_fat_fs): Added label.
30205 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
30206
30207 * kern/misc.c (pupa_strndup): New function.
30208 * include/pupa/misc.h (pupa_strndup): New prototype.
30209
30210 * include/pupa/normal.h: Include <pupa/err.h>.
30211 (pupa_set_history): New prototype.
30212 (pupa_iterate_commands): New prototype.
30213 * normal/cmdline.c: Include <pupa/machine/partition.h>,
30214 <pupa/disk.h>, <pupa/file.h>.
30215 (hist_size): New variable.
30216 (hist_lines): Likewise.
30217 (hist_end): Likewise.
30218 (hist_used): Likewise.
30219 (pupa_set_history): New function.
30220 (pupa_history_get): Likewise.
30221 (pupa_history_add): Likewise.
30222 (pupa_history_replace): Likewise.
30223 (pupa_tab_complete): Likewise.
30224 (pupa_cmdline_run): Added tab completion and history buffer. Tab
30225 completion shows partitionnames while completing partitions, this
30226 feature was suggested by Jeff Bailey.
30227 * normal/command.c (pupa_iterate_commands): New function.
30228 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
30229 (pupa_normal_init): Initialize history buffer.
30230 (PUPA_MOD_INIT): Likewise.
30231 (pupa_normal_fini): Free the history buffer.
30232 (PUPA_MOD_FINI): Likewise.
30233
30234 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
30235 key.
30236
30237 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
30238 * configure.ac [i386]: Check for regparam bug.
30239 (NESTED_FUNC_ATTR) [! i386]: Defined.
30240
1f7315a3 302412003-11-17 Marco Gerards <metgerards@student.han.nl>
30242
30243 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
30244 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
30245 (pupa_emu_SOURCES): New variable.
30246 (pupa_emu_LDFLAGS): Likewise.
30247 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
30248 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
30249 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
30250 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
30251 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
30252 (pupa_jmp_buf): New typedef.
30253 (pupa_setjmp) [PUPA_UTIL]: New macro.
30254 (pupa_longjmp) [PUPA_UTIL]: Likewise.
30255 * include/pupa/term.h (struct pupa_term): New member `refresh'.
30256 (pupa_refresh): New prototype.
30257 * include/pupa/util/getroot.h: New file.
30258 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
30259 it.
30260 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
30261 (pupa_rescue_cmd_cat): Likewise.
30262 (pupa_rescue_cmd_ls): Likewise.
30263 (pupa_rescue_cmd_testload): Likewise.
30264 (pupa_rescue_cmd_lsmod): Likewise.
30265 * normal/cmdline.c (pupa_cmdline_get): Likewise.
30266 * normal/menu.c (run_menu): Likewise.
30267 * kern/term.c (pupa_cls): Likewise.
30268 (pupa_refresh): New function.
30269 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
30270 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
30271 * util/console.c: New file.
f19dbdb7 30272
1f7315a3 30273 * util/i386/pc/getroot.c: New file.
30274 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
30275 (pupa_putchar): New function.
30276 (pupa_refresh): Likewise.
30277 (xgetcwd): Function moved to ...
30278 (strip_extra_slashes): Likewise.
30279 (get_prefix): Likewise.
f19dbdb7 30280 * util/i386/pc/getroot.c: ... here.
1f7315a3 30281 (find_root_device): Function moved and renamed to...
30282 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
30283 Changed all callers.
30284 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
30285 and renamed to...
30286 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
30287 Changed all callers.
30288 * util/misc.c (pupa_memalign): New function.
30289 (pupa_mm_init_region): Likewise.
30290 (pupa_register_exported_symbols): Likewise.
30291 (pupa_putchar): Function removed.
30292 * util/pupa-emu.c: New file.
30293
9a5c1ade 302942003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
30295
30296 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
30297 (_multiboot_mod_SOURCES): New variable.
30298 (_multiboot_mod_CFLAGS): Likewise.
30299 * loader/i386/pc/multiboot.c: New file.
30300 * include/pupa/i386/pc/multiboot.h: Likewise.
30301 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
30302 (pupa_multiboot_real_boot): New function.
30303 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
30304 (pupa_multiboot_real_boot): New prototype.
30305 (pupa_rescue_cmd_multiboot): Likewise
30306 (pupa_rescue_cmd_module): Likewise.
30307
30308 * kern/loader.c (pupa_loader_set): Continue when
30309 pupa_loader_unload_func() fails.
30310 (pupa_loader_unset): New function.
30311 * include/pupa/loader.h (pupa_loader_unset): New prototype.
30312
30313 * kern/misc.c (pupa_stpcpy): New function.
30314 * include/pupa/misc.h (pupa_stpcpy): New prototype.
30315
8e72a9c0 303162003-11-12 Marco Gerards <metgerards@student.han.nl>
30317
30318 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
30319 for available extensions.
30320
30321 * include/pupa/i386/pc/time.h: New file.
30322 * kern/disk.c: Include <pupa/machine/time.h>.
30323 (PUPA_CACHE_TIMEOUT): New macro.
30324 (pupa_last_time): New variable.
30325 (pupa_disk_open): Flush the cache when there was a timeout.
30326 (pupa_disk_close): Reset the timer.
30327 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
30328 pupa_currticks.
30329 * util/misc.c: Include <sys/times.h>
30330 (pupa_get_rtc): New function.
30331
c4adbd32 303322003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
30333
30334 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
30335 as blocks.
30336 (pupa_ext2_get_file_block): Use blocks member.
30337
30338 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
30339 first block. Return -1 instead of pupa_errno on error.
30340
bfd30f06 303412003-10-27 Marco Gerards <metgerards@student.han.nl>
30342
30343 * README: In the pupa-mkimage example use _chain instead of chain
30344 and ext2 instead of fat.
30345 * TODO: Replace ext2fs with jfs as an example. Add an item for
30346 adding journal playback for ext2fs.
30347 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
30348 (pkgdata_MODULES): Added ext2.mod.
30349 (ext2_mod_SOURCES): New variable.
30350 (ext2_mod_CFLAGS): Likewise.
30351 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
30352 * include/pupa/misc.h (pupa_strncpy): New prototype.
30353 (pupa_strcat): Likewise.
30354 (pupa_strncmp): Likewise.
30355 * kern/misc.c (pupa_strcat): Enable function.
30356 (pupa_strncpy): New function.
30357 (pupa_strncmp): Likewise.
30358 * fs/ext2.c: New file.
f19dbdb7 30359
bfd30f06 30360 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
30361 when the read failed before retrying.
30362 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
30363 (_FILE_OFFSET_BITS): Likewise.
30364 * configure.ac: Added AC_SYS_LARGEFILE.
30365
98d15063 303662003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
30367
30368 * genmk.rb (PModule#rule): Make sure to get only symbol names
30369 from the output of nm.
59cad637 30370 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 30371
18d9c7cd 303722003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
30373
30374 I forgot to check in these changes for a long time. This adds
30375 incomplete support for VGA console, and this is still very
30376 buggy. Also, a lot of consideration is required for I18N,
30377 UNICODE, and VGA font issues. Therefore, assume that this is
30378 such that "better than nothing".
f19dbdb7 30379
18d9c7cd 30380 * font/manager.c: New file.
30381 * include/pupa/font.h: Likewise.
30382 * include/pupa/i386/pc/vga.h: Likewise.
30383 * term/i386/pc/vga.c: Likewise.
30384 * util/unifont2pff.rb: Likewise.
30385
30386 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
30387 (pkgdata_MODULES): Added vga.mod and font.mod.
30388 (vga_mod_SOURCES): New variables.
30389 (vga_mod_CFLAGS): Likewise.
30390 (font_mod_SOURCES): Likewise.
30391 (font_mod_CFLAGS): Likewise.
30392
30393 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
30394
30395 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 30396 (struct pupa_term): Added init and fini.
18d9c7cd 30397 Changed the argument of putchar to pupa_uint32_t.
30398
30399 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
30400 (pupa_console_real_putchar): New prototype.
30401 (pupa_console_putchar): Removed.
30402 (pupa_console_checkkey): Exported.
30403 (pupa_console_getkey): Likewise.
30404
30405 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
30406 characters.
30407
30408 * kern/term.c (pupa_term_set_current): Rewritten.
30409 (pupa_putchar): Likewise.
30410 (pupa_putcode): New function.
30411
30412 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
30413 (pupa_console_real_putchar): ... this.
30414 (pupa_vga_set_mode): New function.
30415 (pupa_vga_get_font): Likewise.
30416
30417 * normal/command.c: Include pupa/term.h.
30418 (terminal_command): New function.
30419 (pupa_command_init): Register the command "terminal".
30420
30421 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
30422 (DISP_UP): Likewise.
30423 (DISP_RIGHT): Likewise.
30424 (DISP_DOWN): Likewise.
30425 (DISP_HLINE): Likewise.
30426 (DISP_VLINE): Likewise.
30427 (DISP_UL): Likewise.
30428 (DISP_UR): Likewise.
30429 (DISP_LL): Likewise.
30430 (DISP_LR): Likewise.
30431
30432 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 30433
977329f5 304342003-02-08 NIIBE Yutaka <gniibe@m17n.org>
30435
30436 * util/resolve.c (pupa_util_resolve_dependencies): BUG
30437 FIX. Reverse the path_list.
30438
30439 * include/pupa/normal.h: Export pupa_register_command and
30440 pupa_unregister_command.
30441
30442 * hello/hello.c (pupa_cmd_hello): New module.
30443 * conf/i386-pc.rmk: Added hello.mod.
30444
1f5ab428 304452003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
30446
30447 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 30448
1f5ab428 30449 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
30450 (compress_kernel): New variable.
30451 (generate_image): Heavily modified to support compressing a
30452 large part of the core image.
30453
30454 * util/misc.c (pupa_util_read_image): Fix a file descriptor
30455 leak.
30456 (pupa_util_load_image): New function.
30457
30458 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
30459 (pupa_compressed_size): New variable.
30460 (codestart): Enable Gate A20 here.
30461 Decompress the compressed part of the core image.
30462 Rearrange the code to put functions and variables which are
30463 required for initialization in the non-compressed part.
30464 Include lzo1x.S.
30465
30466 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
30467 here.
30468
30469 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
30470
f19dbdb7 30471 * include/pupa/i386/pc/kernel.h
1f5ab428 30472 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
30473 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
30474 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
30475 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
30476 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
30477
30478 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
30479
30480 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
30481 (Utility#rule): Likewise.
30482
30483 * configure.ac: Check if LZO is available.
30484
ce5bf700 304852003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
30486
30487 * include/pupa/normal.h: New file.
30488 * include/pupa/setjmp.h: Likewise.
30489 * include/pupa/i386/setjmp.h: Likewise.
30490 * normal/cmdline.c: Likewise.
30491 * normal/command.c: Likewise.
30492 * normal/main.c: Likewise.
30493 * normal/menu.c: Likewise.
30494 * normal/i386/setjmp.S: Likewise.
f19dbdb7 30495
ce5bf700 30496 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
30497 (pupa_rescue_cmd_initrd): Likewise.
30498
30499 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
30500 Likewise.
30501
30502 * kern/i386/pc/startup.S (translation_table): New variable.
30503 (translate_keycode): New function.
30504 (pupa_console_getkey): Call translate_keycode.
30505
30506 * kern/rescue.c (attempt_normal_mode): New function.
30507 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
30508 it failed, print a message.
30509
30510 * kern/mm.c (pupa_real_malloc): Print more information when a
30511 free magic is broken.
30512 (pupa_free): If the first free header is not free actually, set
30513 it to P.
30514
30515 * kern/main.c (pupa_load_normal_mode): Just load the module
30516 "normal".
30517 (pupa_main): Don't print the message
30518 "Entering into rescue mode..." here.
30519
30520 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
30521 Declared.
30522 (pupa_rescue_cmd_initrd): Likewise.
30523 (pupa_rescue_cmd_initrd): Likewise.
30524
30525 * include/pupa/symbol.h (FUNCTION): Specify the type.
30526 (VARIABLE): Likewise.
30527
30528 * include/pupa/err.h (pupa_err_t): Added
30529 PUPA_ERR_UNKNOWN_COMMAND.
30530
30531 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
30532 (pupa_dl_get_prefix): Likewise.
30533
30534 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
30535 Added _chain.mod and _linux.mod instead of chain.mod and
30536 linux.mod.
30537 (chain_mod_SOURCES): Renamed to ...
30538 (_chain_mod_SOURCES): ... this.
30539 (chain_mod_CFLAGS): Renamed to ...
30540 (_chain_mod_CFLAGS): ... this.
30541 (linux_mod_SOURCES): Renamed to ...
30542 (_linux_mod_SOURCES): ... this.
30543 (linux_mod_CFLAGS): Renamed to ...
30544 (_linux_mod_CFLAGS): ... this.
30545 (normal_mod_SOURCES): New variable.
30546 (normal_mod_CFLAGS): Likewise.
30547 (normal_mod_ASFLAGS): Likewise.
30548
305492003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
30550
30551 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
30552 possible.
30553
fe6b695a 30554 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 30555 recursively.
30556 (pupa_dl_unref): Unrefer depending modules recursively.
30557 Don't call pupa_dl_unload implicitly, because PUPA can crash if
30558 a module is unloaded before one depending on that module is
30559 unloaded.
30560 (pupa_dl_unload): Unload depending modules explicitly,
30561 if possible.
30562
c04da074 305632003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
30564
30565 * include/pupa/i386/pc/linux.h: New file.
30566 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 30567
c04da074 30568 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
30569 Removed.
30570 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
30571 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
30572 of PUPA_CHAINLOADER_BOOT_SECTOR.
30573
30574 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
30575 (pupa_linux_prot_size): New variable.
30576 (pupa_linux_tmp_addr): Likewise.
30577 (pupa_linux_real_addr): Likewise.
30578 (pupa_linux_boot_zimage): New function.
30579 (pupa_linux_boot_bzimage): Likewise.
30580
30581 * kern/i386/pc/init.c (struct mem_region): New structure.
30582 (MAX_REGIONS): New macro.
30583 (mem_regions): New variable.
30584 (num_regions): Likewise.
30585 (pupa_os_area_addr): Likewise.
30586 (pupa_os_area_size): Likewise.
30587 (pupa_lower_mem): Likewise.
30588 (pupa_upper_mem): Likewise.
30589 (add_mem_region): New function.
30590 (compact_mem_regions): Likewise.
30591 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
30592 the size of the conventional memory and that of so-called upper
30593 memory (before the first memory hole).
30594 Instead of adding each found region to free memory, use
30595 add_mem_region and add them after removing overlaps.
30596 Also, add only 1/4 of the upper memory to free memory. The rest
30597 is used for loading OS images. Maybe this is ad hoc, but this
30598 makes it much easier to relocate OS images when booting.
30599
30600 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
30601 (pupa_enter_rescue_mode): Don't register initrd and module.
30602
30603 * kern/mm.c: Include pupa/dl.h.
30604
30605 * kern/main.c: Include pupa/file.h and pupa/device.h.
30606
30607 * kern/loader.c (pupa_loader_load_module_func): Removed.
30608 (pupa_loader_load_module): Likewise.
30609
30610 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
30611 ``.o''.
30612
30613 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
30614 (pupa_linux_tmp_addr): Likewise.
30615 (pupa_linux_real_addr): Likewise.
30616 (pupa_linux_boot_zimage): Likewise.
30617 (pupa_linux_boot_bzimage): Likewise.
30618
30619 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
30620 (pupa_upper_mem): Likewise.
30621 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
30622 module is too dangerous.
30623
30624 * include/pupa/loader.h (pupa_os_area_addr): Declared.
30625 (pupa_os_area_size): Likewise.
30626 (pupa_loader_set): Remove the first argument. Loader doesn't
30627 manage modules or initrd any longer.
30628 (pupa_loader_load_module): Removed.
30629
30630 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
30631 (linux_mod_SOURCES): New variable.
30632 (linux_mod_CFLAGS): Likewise.
30633
a13f9237 306342003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
30635
30636 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
30637 the length of a blocklist correctly.
30638
30639 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
30640 Use ioctl only if the OS file is a block device.
30641 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
30642 not very useful for normal files.
30643
30644 * kern/main.c (pupa_set_root_dev): New function.
30645 (pupa_load_normal_mode): Likewise.
30646 (pupa_main): Call those above.
30647
30648 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
30649 pupa_uint16_t.
30650
30651 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
30652
a5ffe966 306532003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
30654
30655 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
30656 (setup): Configure the installed partition information and the
30657 dl prefix.
30658
30659 * loader/i386/pc/chainloader.c (my_mod): New variable.
30660 (pupa_chainloader_unload): New function.
30661 (pupa_rescue_cmd_chainloader): Refer itself.
30662 (PUPA_MOD_INIT): Save its own module in MY_MOD.
30663
30664 * kern/i386/pc/startup.S (install_partition): Removed.
30665 (version_string): Likewise.
30666 (config_file): Likewise.
30667 (pupa_install_dos_part): New variable.
30668 (pupa_install_bsd_part): Likewise.
30669 (pupa_prefix): Likewise.
30670 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
30671
30672 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
30673 and pupa/misc.h.
30674 (make_install_device): New function.
30675 (pupa_machine_init): Set the dl prefix.
30676
30677 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
30678 (buf): Renamed to ...
30679 (linebuf): ... this.
30680 (pupa_rescue_cmd_prefix): New function.
30681 (pupa_rescue_cmd_insmod): Likewise.
30682 (pupa_rescue_cmd_rmmod): Likewise.
30683 (pupa_rescue_cmd_lsmod): Likewise.
30684 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
30685 rmmod and lsmod.
30686
30687 * kern/mm.c (pupa_memalign): If failed even after invalidating
30688 disk caches, unload unneeded modules and retry.
30689
30690 * kern/misc.c (pupa_memmove): New function.
30691 (pupa_memcpy): Removed.
30692 (pupa_strcpy): New function.
30693 (pupa_itoa): Made static.
30694
30695 * kern/dl.c (pupa_dl_iterate): New function.
30696 (pupa_dl_ref): Likewise.
30697 (pupa_dl_unref): Likewise.
30698 (pupa_dl_unload): Return if succeeded or not.
30699 (pupa_dl_unload_unneeded): New function.
30700 (pupa_dl_unload_all): Likewise.
30701 (pupa_dl_init): Renamed to ...
30702 (pupa_dl_set_prefix): ... this.
30703 (pupa_dl_get_prefix): New function.
30704
30705 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
30706 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
30707 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
30708 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
30709 (pupa_install_dos_part): Declared.
30710 (pupa_install_bsd_part): Likewise.
30711 (pupa_prefix): Likewise.
30712 (pupa_boot_drive): Likewise.
30713
30714 * include/pupa/types.h: Fix a typo.
30715
30716 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
30717 pupa_memmove.
30718 (pupa_memmove): Declared.
30719 (pupa_strcpy): Likewise.
30720
30721 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
30722 pupa_mod_init takes one argument, its own module.
30723 (pupa_dl_unload_unneeded): Declared.
30724 (pupa_dl_unload_all): Likewise.
30725 (pupa_dl_ref): Likewise.
30726 (pupa_dl_unref): Likewise.
30727 (pupa_dl_iterate): Likewise.
30728 (pupa_dl_init): Renamed to ...
30729 (pupa_dl_set_prefix): ... this.
30730 (pupa_dl_get_prefix): Declared.
30731
30732 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 30733 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 30734 unloaded.
30735 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
30736 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
30737
30738 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
30739 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
30740
012d7999 307412003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
30742
30743 * util/i386/pc/pupa-setup.c (setup): Define the internal
30744 function find_first_partition_start at the top level, because GCC
30745 3.0.x cannot compile internal functions in deeper scopes
30746 correctly.
30747 (find_root_device): Use lstat instead of stat.
30748 Don't follow symbolic links.
30749 Fix the path-constructing code.
30750
30751 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
30752 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
30753 by a BLKGETSIZE ioctl first, because block devices don't fill
30754 the member st_mode of the structure stat on Linux.
30755 [__linux__] (linux_find_partition): Use a temporary buffer
30756 REAL_DEV for the working space. Copy it to DEV before returning.
30757 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
30758 buffer cache consistent.
30759 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
30760 strncmp. The previous value was merely wrong.
30761 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
30762
30763 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
30764 FAT size is 12. The previous value was merely wrong.
30765
30766 * kern/main.c (pupa_main): Don't split the starting message from
30767 newlines.
30768
30769 * kern/term.c (pupa_putchar): Put CR after LF instead of before
30770 LF, because BIOS goes crazy about character attributes in this
30771 case.
30772
1cc73a62 307732003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
30774
30775 * include/i386/pc/util/biosdisk.h: New file.
30776 * util/i386/pc/biosdisk.c: Likewise.
30777 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 30778
1cc73a62 30779 * Makefile.in (INCLUDE_DISTFILES): Added
30780 include/pupa/i386/pc/util/biosdisk.h.
30781 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
30782 directory util/i386/pc.
30783 (install-local): Added a rule for sbin_UTILITIES.
30784 (uninstall): Likewise.
30785
30786 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
30787
30788 * util/misc.c (xrealloc): New function.
30789 (pupa_malloc): Likewise.
30790 (pupa_free): Likewise.
30791 (pupa_realloc): Likewise.
30792 (pupa_stop): Likewise.
30793 (pupa_putchar): Likewise.
30794
30795 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
30796
30797 * include/pupa/util/misc.h (xrealloc): Declared.
30798
30799 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
30800 macro.
30801 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
30802 (PUPA_BOOT_MACHINE_BPB_END): ... this.
30803
30804 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
30805 [PUPA_UTIL] (pupa_fat_fini): Likewise.
30806
30807 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
30808 way should be implemented.
30809 [PUPA_UTIL] (pupa_fat_fini): Likewise.
30810
30811 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
30812 the size of NAME for safety.
30813 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
30814 0x88.
30815
30816 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
30817 (pupa_setup_SOURCES): Likewise.
30818
30819 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
30820
08b70fe8 308212002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
30822
30823 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
30824 bunch of pushl's from pusha, because this destroys the return
30825 value.
30826
62ddcc8f 308272002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
30828
30829 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
30830 This means that any missing prototypes could be fatal. Also, you
30831 must take care when writing assembly code. See the comments at
30832 the beginning of startup.S, for more details.
f19dbdb7 30833
62ddcc8f 30834 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
30835 compilation mechanism.
30836 (pupa_chainloader_real_boot): Likewise.
30837 (pupa_biosdisk_rw_int13_extensions): Likewise.
30838 (pupa_biosdisk_rw_standard): Likewise.
30839 (pupa_biosdisk_check_int13_extensions): Likewise.
30840 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
30841 (pupa_biosdisk_get_diskinfo_standard): Likewise.
30842 (pupa_get_memsize): Likewise.
30843 (pupa_get_mmap_entry): Likewise.
30844 (pupa_console_putchar): Likewise.
30845 (pupa_console_setcursor): Likewise.
30846 (pupa_getrtsecs): Use pushl instead of push.
30847
30848 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
30849 memory instead of the stack for a mmap entry, because some
30850 BIOSes may ignore the maximum size and overflow.
30851
30852 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
30853
30854 * genmk.rb (PModule#rule): Compile automatically generated
30855 sources with module-specific CFLAGS as well as other sources.
30856
9962ed99 308572002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
30858
30859 * configure.ac: Check ld.
30860 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
30861 respectively, before checking endianness and sizes.
30862
30863 * Makefile.in (LD): New variable.
f19dbdb7 30864
abdfc3c5 308652002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
30866
30867 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
30868
6a161fa9 308692002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
30870
30871 * Changelog: New file.
30872