]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* docs/grub.texi (Multi-boot manual config): Fix typo for
[grub2.git] / ChangeLog
1 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
2
3 * docs/grub.texi (Multi-boot manual config): Fix typo for
4 "recommended".
5
6 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7
8 * util/grub-mkimage.c (main): Postpone freeing arguments.output
9 until after its use in generate_image.
10
11 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
12
13 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
14 initrd size to addr_min, since the initrd will be allocated after
15 this address.
16
17 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
18
19 * conf/Makefile.common: Fix autogen rules to pass definition
20 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
21
22 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
23
24 * include/grub/elf.h: Update ARM definitions based on binutils.
25
26 2013-01-20 Aleš Nesrsta <starous@volny.cz>
27
28 Split long USB transfers into short ones.
29
30 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
31
32 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
33 is interrupted by ESC.
34
35 2013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
36
37 * util/grub-script-check.c (main): Uniform the error message.
38
39 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
40
41 Remove nested functions from ELF iterators.
42
43 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
44
45 Remove nested functions from device iterators.
46
47 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
48 (grub_arc_iterate_devs): Add hook_data argument.
49 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
50 (struct grub_ata_dev.iterate): Add hook_data argument.
51 * include/grub/device.h (grub_device_iterate_hook_t): New type.
52 (grub_device_iterate): Add hook_data argument.
53 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
54 (struct grub_disk_dev.iterate): Add hook_data argument.
55 (grub_disk_dev_iterate): Likewise.
56 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
57 Likewise.
58 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
59 Likewise.
60 * include/grub/partition.h (grub_partition_iterate_hook_t): New
61 type.
62 (struct grub_partition_map.iterate): Add hook_data argument.
63 (grub_partition_iterate): Likewise.
64 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
65 (struct grub_scsi_dev.iterate): Add hook_data argument.
66
67 Update all callers.
68
69 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
70
71 Fix typos for "developer" and "development".
72
73 2013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
74
75 Add license header to spkmodem-recv.c.
76
77 2013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
78
79 Rewrite spkmodem to use PIT for timing. Double the speed.
80
81 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
82
83 Add new command pcidump.
84
85 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
86
87 New terminal outputs using serial: morse and spkmodem.
88
89 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
90
91 Improve bidi handling in entry editor.
92
93 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
94
95 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
96 argument to prevent name collision.
97
98 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
99
100 Remove nested functions from script reading and parsing.
101
102 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
103 getline_data argument, passed to getline.
104 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
105 getline_data argument, passed to grub_parser_split_cmdline.
106 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
107 lexerstate->getline_data to lexerstate->getline.
108 (grub_script_lexer_init): Add getline_data argument, saved in
109 lexerstate->getline_data.
110 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
111 argument, passed to grub_script_parse.
112 * grub-core/script/script.c (grub_script_parse): Add getline_data
113 argument, passed to grub_script_lexer_init.
114 * include/grub/parser.h (grub_parser_split_cmdline): Update
115 prototype. Update all callers to pass appropriate getline data.
116 (struct grub_parser.parse_line): Likewise.
117 (grub_rescue_parse_line): Likewise.
118 * include/grub/reader.h (grub_reader_getline_t): Add void *
119 argument.
120 * include/grub/script_sh.h (struct grub_lexer_param): Add
121 getline_data member.
122 (grub_script_parse): Update prototype. Update all callers to pass
123 appropriate getline data.
124 (grub_script_lexer_init): Likewise.
125 (grub_normal_parse_line): Likewise.
126
127 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
128 data argument.
129 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
130 static instead of nested. Rename to ...
131 (grub_parser_execute_getline): ... this.
132 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
133 data argument.
134 * grub-core/normal/main.c (read_config_file: getline): Make static
135 instead of nested. Rename to ...
136 (read_config_file_getline): ... this.
137 (grub_normal_read_line): Add unused data argument.
138 * grub-core/script/execute.c (grub_script_execute_sourcecode:
139 getline): Make static instead of nested. Rename to ...
140 (grub_script_execute_sourcecode_getline): ... this.
141 * util/grub-script-check.c (main: get_config_line): Make static
142 instead of nested.
143
144 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
145
146 Remove nested functions from memory map iterators.
147
148 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
149 argument, passed to hook.
150 * grub-core/kern/i386/coreboot/mmap.c
151 (grub_linuxbios_table_iterate): Likewise.
152 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
153 instead of nested.
154 (grub_machine_mmap_iterate): Add hook_data argument.
155 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
156 Add hook_data argument, passed to hook.
157 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
158 Likewise.
159 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
160 Likewise.
161 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
162 Likewise.
163 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
164 Likewise.
165 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
166 Likewise.
167 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
168 Likewise.
169 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
170 (grub_machine_mmap_iterate): Likewise.
171 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
172 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
173 prototype.
174 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
175 Remove NESTED_FUNC_ATTR from here and from all users.
176 (grub_mmap_iterate): Update prototype.
177 (grub_efi_mmap_iterate): Update prototype. Update all callers to
178 pass appropriate hook data.
179 (grub_machine_mmap_iterate): Likewise.
180
181 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
182 static instead of nested.
183 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
184 Rename to ...
185 (lsmmap_hook): ... this.
186 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
187 Likewise.
188 (grub_efiemu_mmap_fill: fill_hook): Likewise.
189 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
190 heap_init): Likewise.
191 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
192 Rename to ...
193 (mmap_iterate_hook): ... this.
194 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
195 Likewise.
196 * grub-core/lib/ieee1275/relocator.c
197 (grub_relocator_firmware_get_max_events: count): Likewise.
198 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
199 to ...
200 (grub_relocator_firmware_fill_events_iter): ... this.
201 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
202 hook): Likewise. Rename to ...
203 (grub_relocator_alloc_chunk_align_iter): ... this.
204 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
205 Rename to ...
206 (generate_e820_mmap_iter): ... this.
207 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
208 Rename to ...
209 (count_hook): ... this.
210 (grub_linux_boot: hook): Likewise. Rename to ...
211 (grub_linux_boot_mmap_find): ... this.
212 (grub_linux_boot: hook_fill): Likewise. Rename to ...
213 (grub_linux_boot_mmap_fill): ... this.
214 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
215 hook): Likewise. Rename to ...
216 (grub_fill_multiboot_mmap_iter): ... this.
217 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
218 hook): Likewise. Rename to ...
219 (count_hook): ... this.
220 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
221 hook): Likewise. Rename to ...
222 (grub_fill_multiboot_mmap_iter): ... this.
223 * grub-core/loader/powerpc/ieee1275/linux.c
224 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
225 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
226 Likewise. Rename to ...
227 (alloc_phys_choose): ... this.
228 (determine_phys_base: get_physbase): Likewise.
229 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
230 find_hook): Likewise.
231 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
232 (malloc_hook: count_hook): Likewise.
233 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
234 Likewise. Rename to ...
235 (lower_hook): ... this.
236 (grub_mmap_get_upper: hook): Likewise. Rename to ...
237 (upper_hook): ... this.
238 (grub_mmap_get_post64: hook): Likewise. Rename to ...
239 (post64_hook): ... this.
240 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
241 Likewise. Rename to ...
242 (lower_hook): ... this.
243 (grub_mmap_get_upper: hook): Likewise. Rename to ...
244 (upper_hook): ... this.
245 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
246 (grub_mmap_iterate: fill_hook): Likewise.
247 (fill_mask): Pass addr and mask within a single struct.
248 (grub_cmd_badram: hook): Make static instead of nested. Rename
249 to ...
250 (badram_iter): ... this.
251 (grub_cmd_cutmem: hook): Likewise. Rename to ...
252 (cutmem_iter): ... this.
253
254 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
255
256 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
257 delimit path in strings using quotes.
258 * util/getroot.c (grub_guess_root_devices): Likewise.
259 (grub_make_system_path_relative_to_its_root): Likewise.
260 * util/grub-probe.c (probe): Likewise.
261 * util/ieee1275/ofpath.c (find_obppath): Likewise.
262 (xrealpath): Likewise.
263
264 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
265
266 Fix compilation with older compilers.
267
268 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
269 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
270 declarations.
271 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
272 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
273 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
274 identifier with b.
275 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
276 * include/grub/crypto.h: Add type defines.
277 * util/import_gcrypth.sed: Remove duplicate type defines.
278
279 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
280
281 New command list_trusted.
282
283 * grub-core/commands/verify.c (grub_cmd_list): New function.
284
285 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
286
287 * util/grub-mkimage.c (generate_image): Fix "size of public key"
288 info message.
289
290 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
291
292 Remove nested functions from PCI iterators.
293
294 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
295 passed to hook. Update all callers to pass appropriate hook data.
296 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
297 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
298 Remove NESTED_FUNC_ATTR from here and from all users.
299 (grub_pci_iterate): Update prototype.
300 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
301 instead of nested. Rename to ...
302 (grub_cs5536_find_iter): ... this.
303 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
304 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
305 Likewise.
306 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
307 Likewise.
308 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
309 Likewise.
310 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
311 Likewise.
312 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
313 * grub-core/video/radeon_fuloong2e.c
314 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
315 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
316 find_card): Likewise.
317 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
318 Likewise.
319
320 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * grub-core/commands/verify.c: Mark messages for translating.
323
324 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
325
326 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
327 fatal.
328
329 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
332 fatal.
333
334 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * autogen.sh: Do not try to delete nonexistant files.
337 * util/import_gcrypth.sed: Add some missing header removals.
338
339 2013-01-12 Colin Watson <cjwatson@ubuntu.com>
340
341 Clean up dangling references to grub-setup.
342 Fixes Ubuntu bug #1082045.
343
344 * docs/grub.texi (Images): Refer generally to grub-install rather
345 than directly to grub-setup.
346 (Installing GRUB using grub-install): Remove direct reference to
347 grub-setup.
348 (Device map) Likewise.
349 (Invoking grub-install): Likewise.
350 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
351 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
352 * util/grub-install.in (usage): Likewise.
353
354 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
355 Apply to grub-bios-setup and grub-sparc64-setup rather than to
356 grub-setup.
357 * configure.ac: Remove grub_setup output variable.
358
359 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
360 to grub-bios-setup.
361 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
362 grub-setup to grub-sparc64-setup.
363
364 2013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
365
366 Import gcrypt public-key cryptography and implement signature checking.
367
368 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * grub-core/fs/ntfs.c: Ue more appropriate types.
371 * grub-core/fs/ntfscomp.c: Likewise.
372 * include/grub/ntfs.h: Likewise.
373
374 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
375
376 Support Apple FAT binaries on non-Apple platforms.
377
378 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
379 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
380 Likewise.
381 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
382 Apple FAT binaries.
383
384 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
385
386 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
387 sector devices.
388
389 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
390
391 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
392 explicitly zeroing elements.
393 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
394 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
395 of elements in a structure already allocated using grub_zalloc.
396 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
397
398 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
399
400 * docs/grub.texi (grub_cpu): New subsection.
401 (grub_platform): Likewise.
402
403 2013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
404
405 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
406
407 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
408
409 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
410 divisions.
411
412 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
413
414 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
415 * grub-core/fs/ntfscomp.c: Likewise.
416 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
417 (grub_ntfs_comp): Likewise.
418
419 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
420
421 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
422 Rename to ...
423 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
424 of groups_per_block. All users updated.
425
426 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
429 grub_error properly.
430 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
431 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
432
433 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
434
435 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
436 always in /boot/zfs.
437 Reported by: Yuta Satoh.
438
439 2013-01-03 Yuta Satoh <nigoro>
440
441 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
442 ${grub_probe}
443
444 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
445
446 * configure.ac: Extend -Wno-trampolines to host.
447
448 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
449
450 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
451 entry->len = 0.
452
453 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
454
455 * docs/grub.texi (Invoking grub-mkrelpath): New section.
456 (Invoking grub-script-check): Likewise.
457
458 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
459
460 * docs/grub.texi (Invoking grub-mount): New section.
461 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
462
463 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
464
465 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
466 test failures, so that a failing unit test correctly causes 'make
467 check' to fail.
468
469 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
470
471 Fix failing printf test.
472
473 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
474 '$' in the correct order when collecting type information.
475
476 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
477
478 * docs/grub.texi (configfile): Explain environment variable
479 handling.
480 (source): New section.
481 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
482
483 2012-12-31 Colin Watson <cjwatson@ubuntu.com>
484
485 Remove several trivially-unnecessary uses of nested functions.
486
487 * grub-core/commands/i386/pc/sendkey.c
488 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
489 instead of nested.
490 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
491 Rename to ...
492 (legacy_file_getline): ... this.
493 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
494 Likewise.
495 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
496 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
497 to ...
498 (probe_dummy_iter): ... this.
499 * grub-core/kern/i386/coreboot/mmap.c
500 (grub_linuxbios_table_iterate: check_signature): Likewise.
501 * grub-core/kern/parser.c (grub_parser_split_cmdline:
502 check_varstate): Likewise. Mark inline.
503 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
504 an additional parameter.
505 (find_long: fnd_long): Likewise. Pass two additional parameters.
506 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
507 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
508 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
509 Likewise. Rename to ...
510 (grub_cmos_find_port_iter): ... this.
511 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
512 Rename to ...
513 (find_rtc_iter): ... this.
514
515 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
516 function directly into the function body, since it is only called
517 once.
518
519 2012-12-30 Colin Watson <cjwatson@ubuntu.com>
520
521 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
522 __attribute__ ((unused)).
523 * grub-core/video/bochs.c (find_card): Likewise.
524 * grub-core/video/cirrus.c (find_card): Likewise.
525 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
526 * grub-core/video/sis315pro.c (find_card): Likewise.
527 * grub-core/video/sm712.c (find_card): Likewise.
528
529 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
530
531 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
532 Fixes Savannah bug #37821.
533
534 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
535
536 Apply program name transformations at build-time rather than at
537 run-time. Fixes Debian bug #696465.
538
539 * acinclude.m4 (grub_TRANSFORM): New macro.
540 * configure.ac: Create output variables with transformed names for
541 most programs.
542 * util/bash-completion.d/grub-completion.bash.in: Use
543 pre-transformed variables for program names.
544 * util/grub-install.in: Likewise.
545 * util/grub-kbdcomp.in: Likewise.
546 * util/grub-mkconfig.in: Likewise.
547 * util/grub-mkconfig_lib.in: Likewise.
548 * util/grub-mknetdir.in: Likewise.
549 * util/grub-mkrescue.in: Likewise.
550 * util/grub-mkstandalone.in: Likewise.
551 * util/grub-reboot.in: Likewise.
552 * util/grub-set-default.in: Likewise.
553 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
554 * tests/util/grub-shell-tester.in: Remove unused assignment.
555 * tests/util/grub-shell.in: Likewise.
556 * util/grub.d/00_header.in: Likewise.
557
558 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
559
560 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
561
562 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
563 HAVE_RAW_DECL_GETS.
564 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
565
566 2012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
567
568 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
569 Reported by: Eriks Latosheks <foresterlv>.
570
571 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * docs/grub.texi (Network): Update instructions on generating netboot
574 image.
575
576 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
577
578 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
579 around device name if necessarry.
580
581 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
582
583 * util/grub-install.in: Follow the symbolic link parameter added
584 to the file command.
585
586 2012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
587
588 * util/grub-install.in: Remove stale TODO.
589
590 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
591
592 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
593 dynamic allocation for the bootpath buffer.
594
595 2012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
596
597 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
598 window too small.
599
600 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
601
602 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
603 argument rather than font name. All users updated.
604 (grub_gfxterm_set_window): Likewise.
605
606 2012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
607
608 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
609 from working.
610
611 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * util/getroot.c (convert_system_partition_to_system_disk): Support
614 nbd disks.
615
616 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
619 infinite loop on corrupted FS.
620
621 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
622
623 Fix big-endian mtime.
624
625 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
626 together sec and usec.
627 (grub_ufs_dir): Use correct byteswapping for UFS time.
628
629 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
630
631 Support big-endian UFS1.
632
633 * Makefile.util.def (libgrubmods): Add ufs_be.c
634 * grub-core/Makefile.core.def (ufs1_be): New module.
635 * grub-core/fs/ufs_be.c: New file.
636 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
637 the file.
638
639 2012-11-28 Leif Lindholm <leif.lindholm@arm.com>
640
641 * include/grub/types.h: Fix functionality unaffecting typo in
642 GRUB_TARGET_WORDSIZE conditional macro.
643
644 2012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
645
646 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
647
648 2012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
649
650 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
651 that /netbsd appears first (when it exists).
652
653 2012-10-12 Christoph Junghans <ottxor@gentoo.org>
654
655 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
656 Fixes Savannah bug #37558.
657
658 2012-10-12 Colin Watson <cjwatson@ubuntu.com>
659
660 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
661 description of extract_entries_configfile.
662
663 2012-10-05 Colin Watson <cjwatson@ubuntu.com>
664
665 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
666 preferred_address.
667 (grub_cmd_linux): Likewise.
668 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
669 preferred_lifetime. Update all users.
670
671 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
672
673 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
674 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
675
676 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
677
678 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
679 errors from grub-probe to /dev/null, not stdout.
680
681 2012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
684 sector 1.
685
686 2012-09-24 Colin Watson <cjwatson@ubuntu.com>
687
688 * util/grub-install.in: Make the error message if $source_dir
689 doesn't exist more useful.
690
691 2012-09-22 Colin Watson <cjwatson@ubuntu.com>
692
693 Fix grub-emu build on FreeBSD.
694
695 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
696 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
697 headers on Linux.
698 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
699 implementation is currently Linux-specific.
700 * util/getroot.c (exec_pipe): Define only on Linux or when either
701 libzfs or libnvpair is unavailable.
702 (find_root_devices_from_poolname): Remove unused path variable.
703
704 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
705
706 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
707 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
708 should fit before end == 63.
709
710 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
711
712 * util/grub-setup.c (write_rootdev): Remove unused core_img
713 parameter. Update all callers.
714 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
715 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
716 GRUB_SETUP_BIOS.
717
718 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
719
720 * util/grub-mkconfig_lib.in (grub_tab): New variable.
721 (grub_add_tab): New function.
722 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
723 * util/grub.d/10_illumos.in: Likewise.
724 * util/grub.d/10_kfreebsd.in: Likewise.
725 * util/grub.d/10_linux.in: Likewise.
726 * util/grub.d/10_netbsd.in: Likewise.
727 * util/grub.d/10_windows.in: Likewise.
728 * util/grub.d/10_xnu.in: Likewise.
729 * util/grub.d/20_linux_xen.in: Likewise.
730 * util/grub.d/30_os-prober.in: Likewise.
731
732 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
733
734 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
735 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
736 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
737 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
738 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
739 ieee1275-nocursor.
740 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
741 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
742
743 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
746 le-conversion.
747 Reported by: BURETTE, Bernard.
748
749 2012-09-17 Colin Watson <cjwatson@ubuntu.com>
750
751 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
752 from comment.
753
754 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
755
756 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
757 IEEE1275 machines. Fixes powerpc-emu compilation.
758 * include/grub/terminfo.h: Likewise.
759
760 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
761
762 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
763 a const pointer.
764 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
765 const pointer.
766 (efiemu_set_variable): Make vendor_guid a const pointer.
767
768 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
769
770 Don't require grub-mkconfig_lib to generate manpages for programs.
771
772 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
773 dependencies, don't add grub-mkconfig_lib.
774 (program): Pass empty adddeps.
775 (script): Pass grub-mkconfig_lib as adddeps.
776
777 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
780 * util/getroot.c (grub_find_device): Likewise.
781 (get_mdadm_uuid): Likewise.
782 (grub_util_is_imsm): Likewise.
783 (grub_util_pull_device): Likewise.
784 * util/grub-probe.c (probe): Likewise.
785
786 2012-09-10 Benoit Gschwind <gschwind>
787
788 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
789 (devs): Add devpath_8.
790
791 2012-09-08 Peter Jones <pjones@redhat.com>
792
793 * grub-core/Makefile.core.def (efifwsetup): New module.
794 * grub-core/commands/efi/efifwsetup.c: New file.
795 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
796 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
797 New define.
798 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
799
800 2012-09-05 Jiri Slaby <jslaby@suse.cz>
801
802 * configure.ac: Add SuSe path.
803
804 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
805
806 * NEWS: Fix typo.
807
808 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
809
810 * util/import_gcry.py: Sort cipher_files, to make build system
811 generation more deterministic.
812
813 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
814
815 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
816 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
817 (grub_set_datetime): Likewise.
818
819 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
822 warnings.
823
824 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
825
826 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
827
828 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
829
830 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
831
832 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
833
834 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
835 required for checkouts from bzr, but it may be useful for users or
836 distributors wishing to update translations against a tarball
837 distribution, and it can be helpful for the tarball to be a superset
838 of what's in bzr.
839
840 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
841
842 * Makefile.am (EXTRA_DIST): Add
843 grub-core/tests/boot/linux.init-mips.S,
844 grub-core/tests/boot/linux.init-ppc.S, and
845 grub-core/tests/boot/linux-ppc.cfg.
846
847 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
848
849 * grub-core/mmap/mips/loongson: Remove empty directory.
850
851 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
852
853 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
854 gone.
855
856 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
857
858 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
859 grub-sparc64-setup.
860
861 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
862
863 * configure.ac: Strengthen the test for working -nostdinc -isystem.
864
865 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
866
867 * po/POTFILES.in: Regenerated.
868
869 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
870
871 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
872 (NetBSD): New subsection.
873
874 2012-07-22 Ales Nesrsta <starous@volny.cz>
875
876 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
877 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
878
879 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
880
881 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
882 * util/grub.d/10_hurd.in: Add missing quoting.
883 * util/grub.d/10_illumos.in: Likewise.
884 * util/grub.d/10_kfreebsd.in: Likewise.
885 * util/grub.d/10_linux.in: Likewise.
886 * util/grub.d/20_linux_xen.in: Likewise.
887
888 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
889
890 New command `lsefi'.
891
892 * grub-core/Makefile.core.def (lsefi): New module.
893 * grub-core/commands/efi/lsefi.c: New file.
894 * include/grub/efi/api.h: Add more GUIDs.
895
896 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
897
898 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
899 (grub_bsd_elf32_hook): Likewise.
900 (grub_bsd_elf64_size_hook): Likewise.
901 (grub_bsd_elf64_hook): Likewise.
902 (grub_bsd_load_elf): Likewise.
903
904 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
905
906 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
907 if hash function is unavailable.
908 (dec_stream_header): Likewise.
909
910 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
913 filter state.
914
915 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
916
917 Fix coreboot compilation.
918
919 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
920 (grub_vga_text_init_real): ... this.
921 (grub_vga_text_fini): Rename to ...
922 (grub_vga_text_fini_real): ... this.
923
924 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
927
928 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
929
930 * grub-core/lib/legacy_parse.c: Support clear and testload.
931
932 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
933
934 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
935
936 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
937
938 * grub-core/fs/ext2.c: Experimental support for 64-bit.
939
940 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
941
942 * grub-core/net/tftp.c (ack): Fix endianness problem.
943 (tftp_receive): Likewise.
944 Reported by: Michael Davidsaver.
945
946 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * gentpl.py: Make mans depend on grub-mkconfig_lib.
949
950 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
953 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
954 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
955
956 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
957
958 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
959 efi_mmap_size.
960 Reported by: Stuart Hayes.
961
962 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
963
964 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
965
966 * grub-core/Makefile.core.def (mda_text): New module.
967 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
968 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
969 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
970 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
971 here.
972 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
973 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
974 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
975 here.
976 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
977 to ..
978 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
979 ... here
980 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
981 here.
982 * grub-core/term/i386/vga_common.c: Removed.
983 * include/grub/i386/vga_common.h: Likewise.
984 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
985 (grub_vga_cr_bw_read): Likewise.
986 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
987 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
988 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
989 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
990 grub_vga_cr_read/grub_vga_cr_write.
991 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
992
993 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * configure.ac: Bump version to 2.00.
996 * grub-core/normal/main.c (features): Add feature_200_final.
997
998 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
999 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
1000
1001 * NEWS: Fix unclarity and language mistakes.
1002
1003 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
1006 additional size to 3 pages.
1007 Reported by: Stuart Hayes.
1008
1009 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1010
1011 * NEWS: Add 2.00 entry.
1012
1013 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1014
1015 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
1016 put explicit "/" for empty path.
1017 (wildcard_expand): Improve dprintf.
1018
1019 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
1022 it's equal to currnode. This can happen with "" symlink.
1023
1024 2012-06-27 Yves Blusseau <blusseau@zetam.org>
1025
1026 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
1027 echo shell command by printf command.
1028
1029 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
1032 the value returned by firmware is the maximal position, not diumension.
1033 (grub_terminfo_output_state): Use a more sane fallback.
1034
1035 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
1038
1039 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
1042 frequency to 150 MHz.
1043
1044 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 Apple fixes.
1047
1048 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
1049 __APPLE_
1050 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
1051 definition.
1052 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
1053
1054 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 Handle slash in HFS label.
1057
1058 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
1059 (grub_hfs_dir): Tanslate slash.
1060 (grub_hfs_label): Don't translate slash.
1061
1062 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
1065 network protocol listing since it introduces problematic dependency on
1066 net module.
1067
1068 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
1071
1072 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 Init video early on yeeloong to avoid being rebooted by watchdog.
1075
1076 * grub-core/Makefile.am (gensm712): New target.
1077 (sm712_start.S): Likewise.
1078 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
1079 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
1080 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
1081 description.
1082 * include/grub/vga.h: Move registry definitions to...
1083 * include/grub/vgaregs.h: ... here.
1084
1085 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
1088 signedness.
1089
1090 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
1093 platforms with firmware disk drivers in the core.
1094
1095 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
1098 informative verbose message.
1099 (read_lv): Handle 64-bit segment size.
1100
1101 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
1104
1105 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
1108 character but still remove trainling spaces.
1109 (grub_fat_label): Ignore archive flag.
1110
1111 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
1114 cast between linux_kernel_header and linux_kernel_params.
1115
1116 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
1119 type for size.
1120 (grub_raid6_recover_func_t): Likewise.
1121 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
1122 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
1123
1124 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
1127
1128 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
1129
1130 Fix overflow.
1131
1132 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
1133 [__NetBSD__]: Add explicit cast before bitshift.
1134
1135 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * configure.ac: Bump to 2.00~rc1.
1138
1139 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
1142 half of $a0.
1143
1144 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1145 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
1146
1147 * docs/grub.texi: Fix search syntax.
1148 (Multi-boot manual config): Put msdos rather than GPT example.
1149 Grammar corrections.
1150
1151 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
1154
1155 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1156
1157 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
1158
1159 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1160
1161 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
1162 message on double free. Put the value of magic in case of mismatch.
1163
1164 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 Speed-up video on yeeloong.
1167
1168 * grub-core/video/sm712.c (framebuffer): Remove render_target and
1169 add cached_ptr.
1170 (grub_video_sm712_video_fini): Unmap cached_ptr.
1171 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
1172 (grub_video_sm712_set_active_render_target): Removed.
1173 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
1174 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
1175 sync caches.
1176
1177 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 Avoid flushing the same line multiple times on loongson.
1180
1181 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
1182 Step in 32 bytes and not 1 byte.
1183 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
1184 Likewise.
1185
1186 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
1189 subvolumes.
1190
1191 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1192
1193 Implement flow control for http.
1194
1195 * grub-core/net/http.c (parse_line): Handle response 206.
1196 (http_receive): Stall if too many packets are in the queue.
1197 (http_establish): Fix range header.
1198 (http_seek): Fix double free.
1199 (http_close): Likewise.
1200 (http_packets_pulled): New function.
1201 (grub_http_protocol): Set http_seek
1202 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
1203 (ack_real): Set window depending on i_stall.
1204 (grub_net_send_tcp_packet): Likewise.
1205 (grub_net_tcp_stall): New function.
1206 (grub_net_tcp_unstall): Likewise.
1207 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
1208 (grub_net_tcp_unstall): Likewise.
1209
1210 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 * grub-core/net/tftp.c: Decrease stall to 50 packets.
1213
1214 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
1217
1218 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 * tests/util/grub-shell.in: Fix a typo.
1221
1222 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 Implement flow control for tftp.
1225
1226 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
1227 packets but stop only if stop condition is satisfied.
1228 (grub_net_fs_read_real): Call packets_pulled after real read. Use
1229 `stall' instead of `eof' as stop condition.
1230 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
1231 (http_err): Likewise.
1232 * grub-core/net/tftp.c (ack): Replace the first argument with data
1233 instead of socket.
1234 (tftp_receive): Stall if too many packets are in wait queue.
1235 (tftp_packets_pulled): New function.
1236 (grub_tftp_protocol): Set packets_pulled.
1237 * include/grub/net.h (grub_net_packets): New field count.
1238 (grub_net_put_packet): Increment count.
1239 (grub_net_remove_packet): Likewise.
1240 (grub_net_app_protocol): New field `packets_pulled'.
1241 (grub_net): New field `stall'.
1242
1243 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
1246 sync part to handle them.
1247
1248 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
1251 * grub-core/net/drivers/ieee1275/ofnet.c
1252 (grub_ieee1275_net_config_real): Likewise.
1253
1254 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
1257 the direct route for server/gateway.
1258
1259 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
1262 IP address to server name since we may not hame the DNS.
1263
1264 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
1267 freeing random buffer on failure.
1268 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
1269
1270 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
1273
1274 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1275
1276 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
1277 reserved bytes.
1278 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
1279 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
1280 Handle malloc error correctly.
1281
1282 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1283
1284 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
1285 blocks.
1286
1287 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1288
1289 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
1290 increment.
1291
1292 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
1295 none is explicitly specified.
1296
1297 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
1300 while reallocating.
1301
1302 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 Respect netmask from bootp/dhcp.
1305
1306 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
1307 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
1308 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
1309 into ...
1310 (grub_net_add_ipv4_local): ... this.
1311 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
1312 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
1313 (grub_net_add_ipv4_local): New proto.
1314
1315 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
1318 determining EFI memory map size.
1319
1320 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
1323
1324 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
1327 when looking for partition separator.
1328
1329 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
1332 Escape commas.
1333
1334 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 Restructure FAT driver to avoid hook in label reading as it hits a
1337 GCC bug.
1338
1339 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
1340 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
1341 (grub_fat_iterate_dir): Split into ...
1342 (grub_fat_iterate_init): ... this, ...
1343 (grub_fat_iterate_fini): ... this, ...
1344 (grub_fat_iterate_dir_next): ... and this. All users updated.
1345
1346 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1347
1348 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1349 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
1350 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1351 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
1352 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
1353 New fields last_key and last_key_time.
1354 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
1355 extended key-esc into extended key-extended key.
1356
1357 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 Avoid unnecessary memcpy of whole video buffer.
1360
1361 * grub-core/video/fb/video_fb.c (dirty): New struct.
1362 (framebuffer): Add members current_dirty and previous_dirty.
1363 (dirty): New function.
1364 (grub_video_fb_fill_rect): Update dirty.
1365 (common_blitter): Likewise.
1366 (grub_video_fb_scroll): Likewise.
1367 (doublebuf_blit_update_screen): Copy only dirty part.
1368 (doublebuf_pageflipping_update_screen): Likewise.
1369 (grub_video_fb_doublebuf_blit_init): Init dirty.
1370 (doublebuf_pageflipping_init): Likewise.
1371 (grub_video_fb_setup): Likewise.
1372
1373 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
1376 poll rate.
1377
1378 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 Fix wildcard regexp dot and other special characters handling.
1381 Reported by: Robert Mabee.
1382
1383 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
1384 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
1385 (split_path): Trigger expansion on '?'.
1386 (unescape): New function.
1387 (wildcard_expand): Unescape parts copied without globbing.
1388 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
1389 (grub_script_arglist_to_argv): Don't unescape expansions.
1390
1391 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 * include/grub/net.h (grub_net_card): New member txbufsize.
1394 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
1395 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
1396 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
1397 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
1398 txbufsize.
1399 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
1400 compatible property to check for macs. Set
1401 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
1402 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
1403 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
1404 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
1405 (send_card_buffer): Use txbuf.
1406 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
1407 nested function out of the parent while on it.
1408
1409 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1410
1411 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
1412 presence check.
1413 (grub_ieee1275_net_config_real): Fix config pointer.
1414
1415 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
1418 filename parsing to non-block devices.
1419
1420 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1421
1422 * grub-core/kern/device.c (grub_device_open): Remove dead code.
1423
1424 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
1427 All users updated.
1428
1429 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
1432 UUID search command even if hints probing failed.
1433
1434 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * po/POTFILES.in: Regenerated.
1437
1438 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 Speed-up video on fuloong.
1441
1442 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
1443 New function.
1444 (grub_pci_device_unmap_range): Handle non-cached address.
1445 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
1446 add direct_ptr.
1447 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
1448 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
1449 (grub_video_sis315pro_set_active_render_target): Removed.
1450 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
1451 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
1452 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
1453 sync caches.
1454 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
1455 New proto.
1456
1457 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 * docs/grub.texi (Multi-boot manual config): New section.
1460
1461 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1462
1463 Avoid slow read-back from VRAM.
1464
1465 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
1466 Move from here ...
1467 * grub-core/video/fb/video_fb.c
1468 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
1469 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
1470 (front_target): Remove front_target. Add pages.
1471 (grub_video_fb_init): Skip setting front_pages.
1472 (grub_video_fb_fini): Likewise.
1473 (doublebuf_blit_update_screen): Use pages.
1474 (grub_video_fb_doublebuf_blit_init): Likewise.
1475 (doublebuf_pageflipping_init): Allocate offscreen buffer.
1476 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
1477 (grub_video_fb_setup): Prefer doublebuffing.
1478
1479 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
1482 gzio.
1483
1484 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1485
1486 Add loongson tests.
1487
1488 * tests/util/grub-shell.in: Handle loongson.
1489 * tests/partmap_test.in: Add loongson to the list of platform using ATA
1490 drivers.
1491 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
1492 Reboot instead of shutdown if REBOOT is defined.
1493
1494 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
1497 sized ports since unlike on real hardware qemu supports only 32-bit
1498 regs.
1499
1500 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * Makefile.util.def (grub-mkrescue): Enable on loongson.
1503 * util/grub-mkrescue.in: Handle loongson.
1504
1505 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
1508 Set is_part appropriately.
1509 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
1510 names. Canonicalize partition without full disk.
1511
1512 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 Revert usb-quiesce since it's wrong.
1515
1516 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
1517 (grub_ofdisk_init): Don't do quiesce.
1518
1519 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
1522 PowerMac workaround to Xserves as well.
1523 Information supplied by: Benjamin Herrenschmidt.
1524
1525 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 Don't assume that beginning address is also the entry point on ppc.
1528
1529 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
1530 (grub_linux_boot): Use linux_entry.
1531 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
1532 (grub_linux_load64): Likewise.
1533
1534 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1535
1536 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
1537
1538 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
1541 needlessly lose the console.
1542
1543 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
1546 space.
1547
1548 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 Remove non-functional EFI grub_get_rtc. Put a better fatal message
1551 than current grub_get_rtc() not implemented when booted with
1552 coreboot without TSC.
1553
1554 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
1555 Add machine/time.h to kernel headers on loongson.
1556 * grub-core/Makefile.core.def (kernel): Remove
1557 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
1558 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
1559 (grub_get_rtc): Likewise.
1560 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
1561 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
1562 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
1563 * grub-core/kern/i386/tsc.c (grub_tsc_init)
1564 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
1565 rather than installing known non-working time source.
1566 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
1567 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
1568 * include/grub/time.h: Don't include machine/time.h.
1569 * include/grub/efi/time.h: Removed.
1570 * include/grub/i386/efi/time.h: Likewise.
1571 * include/grub/i386/ieee1275/time.h: Likewise.
1572 * include/grub/powerpc/ieee1275/time.h: Likewise.
1573 * include/grub/sparc64/ieee1275/time.h: Likewise.
1574 * include/grub/x86_64/efi/time.h: Likewise.
1575
1576 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 Remove dot on i and j when combining with above diacritics.
1579
1580 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
1581 value.
1582 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
1583 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
1584 with dotless variants when any combining above is present.
1585
1586 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
1589 text and not binary.
1590
1591 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 Stop polling as soon as we have the packet we were waiting for.
1594
1595 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
1596 All users updated.
1597 * grub-core/net/arp.c (have_pending): New var.
1598 (pending_req): Likewise.
1599 (grub_net_arp_send_request): Fill pending_req and use have_pending as
1600 stop indicator.
1601 (grub_net_arp_receive): Set have_pending.
1602 * grub-core/net/dns.c (recv_data): New field stop.
1603 (recv_hook): Set stop.
1604 (grub_net_dns_lookup): Init stop and use as stop condition.
1605 * grub-core/net/http.c (http_establish): Use headers_recv as stop
1606 condition.
1607 * grub-core/net/net.c (grub_net_poll_cards): New argument
1608 stop_condition. Stop when it goes true.
1609 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
1610 indicator.
1611 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
1612
1613 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 Keep TX and RX buffers on EFI rather than always allocate new ones.
1616
1617 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
1618 card. All users updated.
1619 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
1620 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
1621 (get_card_packet): Likewise.
1622 (grub_efinet_findcards): Init new fields.
1623
1624 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
1627 compilation error on sparc64.
1628
1629 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1630
1631 Use ITC on IA64 rather than broken routine based on daytime.
1632
1633 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
1634 ia64.
1635 (grub_get_rtc) [__ia64__]: Likewise.
1636 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
1637 (get_itc): New function.
1638 (grub_rtc_get_time_ms): Likewise.
1639 (grub_machine_init): Calibrate ITC.
1640 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
1641 Keep only on non-ia64. Don't export since it's broken and used only
1642 if TSC is unavailable.
1643
1644 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
1647 even if it's used.
1648 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
1649 Skip if parent is unused.
1650
1651 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1652
1653 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
1654
1655 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1656
1657 Fix wildcard escaping.
1658
1659 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
1660 * grub-core/script/execute.c (wildcard_escape): .. to here.
1661 Don't escape dot.
1662 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
1663 * grub-core/script/execute.c (wildcard_unescape): .. to here.
1664 Don't escape dot.
1665 * grub-core/script/execute.c (gettext_append): Always escape.
1666 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
1667 * grub-core/script/yylex.l: Don't cut away the escaping.
1668 * tests/grub_script_echo1.in: Add tests with wildcard.
1669
1670 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1671
1672 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
1673 (ftdi_hw_configure): Likewise.
1674 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
1675 define.
1676 (real_config): Handle 1.5 stop bits.
1677 (pl2303_hw_configure): Likewise.
1678
1679 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 * Makefile.am: Add ppc linux bootcheck.
1682 * grub-core/tests/boot/linux-ppc.cfg: New file.
1683 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
1684
1685 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1686
1687 * tests/grub_script_expansion.in: Skip network protocols.
1688
1689 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
1692
1693 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
1696 --rom-directory.
1697 Add -graft-points.
1698
1699 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 ESCC serial driver for conducting sautomated tests in qemu.
1702 Not tested on real hardware.
1703
1704 * include/grub/serial.h (grub_serial_port): New field escc_desc.
1705 * grub-core/term/ieee1275/escc.c: New file.
1706 * grub-core/Makefile.core.def (escc): New module.
1707
1708 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
1711 invalid on error.
1712 (serial_hw_fetch): Don't read invalid handle.
1713 (serial_hw_put): Don't write into invalid handle.
1714
1715 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1716
1717 Add a 1.5 stop bits value.
1718
1719 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
1720 * include/grub/serial.h (grub_serial_stop_bits_t): Add
1721 GRUB_SERIAL_STOP_BITS_1_5.
1722
1723 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
1726 value rather than let it uninited.
1727
1728 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1729
1730 * grub-core/commands/wildcard.c (+check_file): New function.
1731 (wildcard_expand): Don't expand to non-existing files, expand with
1732 suffix and not attempt to expand if not needed.
1733
1734 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
1737 out of partitions containing other partitions.
1738
1739 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
1742 on some qemu versions with GRUB.
1743
1744 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
1745 define.
1746 (grub_openbsd_bootarg_pcibios): New struct.
1747 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
1748 Add PCIINFO.
1749
1750 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 * tests/util/grub-shell.in: Trim firmware output on EFI.
1753
1754 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
1757 and coreboot since it's already in kernel.
1758
1759 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
1762 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1763 to here. New return value start. All users updated.
1764 Recursively scan linear mappings.
1765 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
1766 proto.
1767 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1768 Use grub_util_get_dm_node_linear_info.
1769 * util/getroot.c (convert_system_partition_to_system_disk): Use
1770 grub_util_info rather than grub_dprintf.
1771 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
1772
1773 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
1776
1777 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
1778 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
1779
1780 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 * include/grub/types.h (grub_set_unaligned64): New function.
1783 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
1784 (setup): Likewise.
1785
1786 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
1789 (grub_ofdisk_fini): Quiesce USB devices.
1790
1791 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1792
1793 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
1794 caches.
1795
1796 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
1799
1800 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * grub-core/disk/pata.c (grub_pata_pio_read)
1803 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
1804 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1805
1806 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 Extend automated tests to qemu-mips.
1809
1810 * Makefile.am: reorganise tests and enable qemu-mips.
1811 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
1812 * grub-core/tests/boot/linux.init-mips.S: New file.
1813 * tests/partmap_test.in: Handle ata0 disks.
1814 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
1815 non-pc i386.
1816
1817 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
1820 ia64.
1821 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
1822 quotes while on it.
1823
1824 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1825
1826 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
1827 (grub_halt): Likewise.
1828 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
1829
1830 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * grub-core/term/serial.c (grub_serial_register)
1833 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
1834 the behaviour in line with x86 platforms.
1835
1836 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1837
1838 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
1839 (grub_ata_strncpy): Likewise.
1840 (grub_ata_identify): Add missing byteswaps.
1841
1842 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
1845 byte-swap.
1846 (screen_read_char): Likewise.
1847 (grub_vga_text_cls): Likewise.
1848
1849 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1850
1851 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
1852 filenames.
1853 (make_file_path): Likewise.
1854
1855 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1856
1857 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
1858 machines.
1859 Tested by: Paulo Flabiano Smorigo.
1860 Crucial information about API supplied by: Coleen <Last name unknown>.
1861 Reviewed by: Coleen <Last name unknown>.
1862
1863 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1864
1865 * util/grub-mkimage.c: Disable -Wcast-align.
1866
1867 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
1870 as they are fatal.
1871
1872 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1873
1874 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
1875
1876 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * util/grub-probe.c (escape_of_path): Fix double free.
1879
1880 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1881
1882 * grub-core/commands/videoinfo.c (hook): Show pitch.
1883
1884 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1885
1886 * util/grub.d/20_linux_xen.in: Skip xen-syms.
1887
1888 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
1891 (probe): Add ieee1275 to OFW devices.
1892
1893 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1894
1895 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
1896
1897 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1898
1899 Handle IBM OFW path.
1900
1901 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
1902 available.
1903 (of_path_of_scsi): Handle vdevice.
1904
1905 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
1908 Allocate in multiples of 16 to avoid adding a few bytes free region the
1909 windows bugs upon.
1910
1911 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1912
1913 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
1914 Allocate in multiples of 16 to avoid adding a few bytes free region the
1915 windows bugs upon.
1916 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
1917
1918 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
1921 resolutions.
1922 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
1923 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
1924
1925 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
1926
1927 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
1928
1929 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
1932 resulted in \\ at the end of the line.
1933
1934 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
1937 (grub_parser_cmdline_state): Likewise.
1938 (grub_parser_split_cmdline): Likewise.
1939
1940 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
1943 /dev/root and /dev/dm-*.
1944
1945 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
1948 fix partially stale display.
1949
1950 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 * grub-core/normal/menu_entry.c (backward_char): Use right line for
1953 substraction.
1954
1955 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1956
1957 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
1958 Fix MBR remapping workaround.
1959 (grub_util_biosdisk_read) [__linux__]: Likewise.
1960
1961 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 * util/grub-install.in: Check for ieee1275 and not ieee1276.
1964
1965 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 * configure.ac: Bump to beta6.
1968
1969 2012-05-31 Christer Weinigel <christer@weinigel.se>
1970
1971 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
1972
1973 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1974
1975 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
1976 (grub_cmd_linux): Likewise.
1977
1978 2012-05-31 Christer Weinigel <christer@weinigel.se>
1979
1980 Fix EHCI low-speed.
1981
1982 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
1983 (GRUB_EHCI_MULT_TWO): Likewise.
1984 (GRUB_EHCI_MULT_THREE): Likewise.
1985 (GRUB_EHCI_CMASK_MASK): New enum value.
1986 (GRUB_EHCI_SMASK_MASK): Likewise.
1987 (GRUB_EHCI_CMASK_OFF): Likewise.
1988 (GRUB_EHCI_SMASK_OFF): Likewise.
1989 (grub_ehci_pci_iter): Enable periodic schedule.
1990 (grub_ehci_parse_notrun): Likewise.
1991 (grub_ehci_restore_hw): Likewise.
1992 (grub_ehci_setup_qh): Set flags for low speed transfers.
1993 (grub_ehci_find_qh): Use periodic list for low speed.
1994 (grub_ehci_setup_transfer): Check periodic queue as well.
1995 (grub_ehci_check_transfer): Likewise.
1996 (grub_ehci_cancel_transfer): Cancel periodic transfer.
1997
1998 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1999
2000 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
2001 parameter is used.
2002
2003 2012-05-31 Peter Jones <pjones@redhat.com>
2004
2005 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
2006 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
2007 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
2008
2009 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2010
2011 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
2012 uninited variable. Allocate at least setup_sects.
2013
2014 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2015
2016 Fix handling of EFI with big memory maps.
2017
2018 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
2019 (real_mode_mem): Likewise.
2020 (real_mode_target): Likewise.
2021 (real_mode_pages): Likewise.
2022 (prot_mode_pages): Likewise.
2023 (linux_params): New var.
2024 (linux_cmdline): Likewise.
2025 (free_pages): Don't set real mode variables.
2026 (allocate_pages): Don't allocate real mode memory.
2027 (grub_e820_add_region): Remove the limit.
2028 (grub_linux_boot): Allocate and copy real mode memory.
2029 (grub_linux_unload): Free linux_cmdline.
2030 (grub_cmd_linux): Use temporary storage for parameters.
2031 (grub_cmd_initrd): Likewise.
2032 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
2033 (linux_kernel_params): Make it 1K big.
2034
2035 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * Makefile.util.def: Remove -Wno-format.
2038 * grub-core/Makefile.core.def: Likewise.
2039
2040 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 * tests/cmp_unit_test.c: Add missing failure message.
2043 * tests/example_unit_test.c: Likewise.
2044 * tests/printf_unit_test.c: Likewise.
2045
2046 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
2049 relaxation of protective MBR requirements.
2050
2051 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 * configure.ac: Add condition for COND_HOST_XNU.
2054 * Makefile.util.def (10_xnu): New script.
2055 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
2056
2057 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2058
2059 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
2060 objconv bug.
2061
2062 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2063
2064 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
2065 Binary on other platforms stays identical.
2066
2067 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
2070 Apple.
2071
2072 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
2075
2076 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
2079 rather than defining size_t ourselves to avoid conflict.
2080
2081 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2082
2083 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
2084 initialisation to avoid __bzero reference.
2085
2086 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
2089 version.
2090 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
2091 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
2092 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
2093 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
2094 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
2095
2096 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
2099 * grub-core/kern/misc.c: Likewise.
2100 * grub-core/loader/i386/xnu.c: Likewise.
2101 * include/grub/i386/tsc.h: Likewise.
2102 * include/grub/symbol.h: Likewise.
2103
2104 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
2107 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
2108 on older compiler.
2109
2110 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2111
2112 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
2113 Implement Apple flavour.
2114 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
2115
2116 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
2119 (memmove) [__APPLE__]: Likewise.
2120 (memcpy) [__APPLE__]: Likewise.
2121 (memset) [__APPLE__]: Likewise.
2122 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
2123 (memmove) [__APPLE__]: Likewise.
2124 (memcpy) [__APPLE__]: Likewise.
2125 (memset) [__APPLE__]: Likewise.
2126
2127 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
2130 dependency discard.
2131
2132 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * grub-core/normal/main.c (read_config_file): Provide config_file and
2135 config_directory.
2136 * util/grub.d/41_custom.in: Use config_directoy when available.
2137
2138 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
2141 (grub_bfs_dir): Likewise.
2142
2143 2012-05-27 Peter Jones <pjones@redhat.com>
2144
2145 The old code gives arguments to a printf function which can't work
2146 correctly, and the compiler complains.
2147
2148 * grub-core/tests/example_functional_test.c (example_test): Add
2149 missing text.
2150 * grub-core/tests/lib/test.c (add_failure): Rewrite.
2151 * include/grub/test.h (grub_test_assert_helper): New declaration.
2152 (grub_test_assert): Use grub_test_assert_helper.
2153
2154 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
2157 (exfctest): ... this to avoid overlong filenames.
2158 All users updated.
2159
2160 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 Handle "." and ".." on squashfs.
2163
2164 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
2165 Make inode numbers into stack.
2166 (grub_squash_read_symlink): Use stack.
2167 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
2168 (make_root_node): Fill stack.
2169 (grub_squash_open): Use stack.
2170
2171 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
2174 freeing.
2175
2176 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
2179 stderr on test calls.
2180
2181 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
2184
2185 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
2188
2189 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
2192 "..".
2193
2194 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
2197 (grub_hfsplus_iterate_dir): Add "." and "..".
2198
2199 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 * grub-core/fs/cpio.c (canonicalize): Handle "..".
2202 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
2203
2204 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
2207 (find_path): Handle "." and "..".
2208
2209 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
2212 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
2213 (grub_affs_iterate_dir): Handle hardlinks.
2214
2215 2012-05-26 Matthew Garrett <mjg@redhat.com>
2216
2217 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
2218 (grub_efi_console_fini): Likewise.
2219 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
2220 (grub_video_gop_fill_mode_info): Rename to ...
2221 (grub_video_gop_fill_real_mode_info): ... this.
2222 (grub_video_gop_fill_mode_info): New function.
2223 (grub_video_gop_setup): Setup double framebuffer.
2224 (grub_video_gop_get_info_and_fini): Use original framebuffer.
2225 Free offscreen.
2226 (grub_video_gop_swap_buffers): Copy framebuffer.
2227 (grub_video_gop_fini): Free offscreen buffer.
2228 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
2229 New enum.
2230 (grub_efi_gop_blt_pixel): New struct.
2231
2232 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
2233
2234 * gentpl.py: Remove error disabling for objconv.
2235
2236 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 * configure.ac: Remove -Wunitialized as it's not available on older
2239 compilers.
2240
2241 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 Fix extent overflow comparator.
2244
2245 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
2246 (grub_hfsplus_read_block): Set type.
2247 (grub_hfsplus_cmp_extkey): Compare type.
2248
2249 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
2250
2251 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
2252
2253 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
2256 than 0.
2257
2258 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
2261 (dejavu_bold_14.pf2): New target.
2262
2263 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 * configure.ac: Fix djvu font detection.
2266
2267 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
2270 ext* instead of ext2.
2271
2272 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2273
2274 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
2275 name with \0.
2276
2277 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
2278
2279 * docs/grub-dev.texi: Remove dot from .png.
2280
2281 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2282
2283 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
2284 protective entry in any slot.
2285 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
2286 if protective entry is found in any slot.
2287
2288 Protective entry in non-first slot make no sense but is a widespread
2289 brain damage.
2290
2291 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
2294
2295 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
2298 with old reiserfs.
2299 (grub_reiserfs_open): Don't free root.
2300
2301 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
2304 after freeing for safety.
2305
2306 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
2309 Reported by: Jordan Uggla.
2310
2311 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
2312
2313 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
2314 actual implementation. Specifically, clarify that the grub menu will
2315 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
2316 passed.
2317
2318 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
2319
2320 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
2321 of r0.
2322
2323 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 Remove unjustified hard dependency of normal.mod on gfxterm.
2326
2327 * include/grub/term.h (grub_term_output): New member fullscreen.
2328 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
2329 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
2330 (grub_gfxterm): Set .fullscreen.
2331 * grub-core/normal/menu.c (menu_init): Use fullscreen.
2332 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
2333
2334 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
2337 mentioning possible problems with non-ASCII (non-compliant) ISOs.
2338 Mention case-insensitive AFFS, SFS and JFS.
2339
2340 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2341
2342 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
2343
2344 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
2347 a bad FS.
2348
2349 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2350
2351 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
2352 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
2353
2354 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
2357 (grub_jfs_mount): Fill caseins.
2358 (grub_jfs_find_file): Respect caseins.
2359
2360 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
2363 through UTF-16.
2364
2365 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
2368 New argument origpath. All users updated.
2369
2370 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2371
2372 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
2373 (read_attr): Ensure that we read start of possibly compressed block.
2374
2375 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
2378 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
2379 All users updated.
2380
2381 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
2384 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
2385 (dejavu.pf2): Replace with ...
2386 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
2387 this.
2388
2389 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 * util/grub.d/20_linux_xen.in: Add missing line.
2392
2393 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
2396 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
2397 (grub_utf16_to_utf8): Likewise.
2398
2399 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2400
2401 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
2402 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
2403 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2404 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
2405 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
2406 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
2407
2408 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
2411 a bad FS.
2412
2413 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * grub-core/fs/udf.c (read_string): Bail out on size=0.
2416 (grub_udf_read_symlink): Handle read_string failure.
2417
2418 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
2421 comment.
2422
2423 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 Fix handling of UDF symlinks.
2426
2427 * grub-core/fs/udf.c (read_string): New argument outbuf.
2428 All users updated.
2429 (grub_ufs_read_symlink): Rename to ...
2430 (grub_udf_read_symlink): ... this. All users updated.
2431 Handle symlinks with more than one component.
2432
2433 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
2436 symlinks. Replace leading colon with a slash.
2437
2438 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
2441 filename.
2442
2443 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
2446 match in inner node.
2447
2448 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
2451 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
2452 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
2453 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
2454 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
2455 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
2456 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
2457 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
2458 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
2459
2460 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 Use grub-probe and not cmp to check that disk is empty.
2463
2464 * util/grub-install.in: Use grub-probe for zero-check.
2465 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
2466 (probe): Handle PRINT_ZERO_CHECK.
2467 (argp_parser): Handle -t zero_check.
2468
2469 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 Flush block cache on adding disk to device map.
2472
2473 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
2474 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
2475 adding.
2476 (read_device_map): Likewise.
2477 (open_device): Flush on opening.
2478
2479 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2480
2481 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
2482 (handle_symlink): Fix off-by-one error.
2483 Canonicalize the target.
2484 (grub_cpio_dir): Canonicalize the name.
2485 Fix memory leak.
2486 Set directory.
2487 (grub_cpio_open): Canonicalize the name.
2488
2489 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
2492 handling.
2493
2494 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
2497 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
2498
2499 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
2502 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
2503 All users updated.
2504
2505 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
2508 counterpart.
2509
2510 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 Fix UFS1 big file support.
2513
2514 * grub-core/fs/ufs.c (INODE): Removed.
2515 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
2516 64-bit.
2517 (INODE_MODE): Simplify.
2518 (grub_ufs_inode): Use uint64_t for size and not int64_t.
2519 (grub_ufs_lookup_symlink): Don't use INODE.
2520
2521 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2522
2523 Fix minixfs with non-power-of-two blocks since it's supported by minix.
2524
2525 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
2526 (grub_minix_data): Replace log_block_size with block_size.
2527 (grub_minix_read_file): Use block_size but avoid 64-bit division.
2528 (grub_minix_mount): Fill block_size.
2529
2530 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * configure.ac: Bump to beta5.
2533
2534 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2535
2536 Fix wrapped HFS+ handling.
2537
2538 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
2539 blocks_start. All users updated.
2540 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
2541 wrapping offset.
2542 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
2543
2544 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 Fix long symlinks on reiserfs.
2547
2548 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
2549 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
2550 (grub_reiserfs_iterate_dir): Save size for non-directories.
2551 (grub_reiserfs_open): Don't reread stat block as we already know the
2552 size.
2553 (grub_reiserfs_read): Split into...
2554 (grub_reiserfs_read_real): ... and ...
2555 (grub_reiserfs_read): ...this.
2556
2557 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 Fix non-indexed JFS.
2560
2561 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
2562 (grub_jfs_data): New field namecomponentlen.
2563 (grub_jfs_mount): Fill namecomponentlen.
2564 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
2565
2566 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2567
2568 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
2569 * tests/grub_script_echo1.in: Add tests.
2570
2571 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2572
2573 * util/grub-install.in: Ignore empty devicetree directory.
2574
2575 2012-05-08 Bean <bean123ch@gmail.com>
2576
2577 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
2578 All users updated.
2579 (free_rsm): Free header as well.
2580 (free_old_fragments): Fix memory leak.
2581 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
2582 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
2583 (destroy_pq): Likewise.
2584 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
2585
2586 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
2589 resulting hash as a precaution.
2590
2591 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
2594 '_' in variable names.
2595 * grub-core/net/net.c (grub_net_network_level_interface_register):
2596 Likewise.
2597
2598 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 Fix AFFS with non-512B blocks.
2601
2602 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
2603 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
2604 (grub_affs_data): Replace blocksize with log_blocksize.
2605 (grub_affs_read_block): Fix non-512B blocks.
2606 (grub_affs_read_symlink): Likewise.
2607 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
2608 (grub_affs_read): Fix non-512B blocks.
2609 (grub_affs_label): Likewise.
2610 (grub_affs_mtime): Likewise.
2611 (grub_affs_mount): Fix block detection routine.
2612
2613 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2614
2615 Add filesystem mtime to AFFS.
2616
2617 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
2618 (aftime2ctime): New function.
2619 (grub_affs_dir): Use aftime2ctime.
2620 (grub_affs_label): Fix return value.
2621 (grub_affs_mtime): New function.
2622 (grub_affs_fs): Add mtime.
2623
2624 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2625
2626 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
2627 UTF-8.
2628
2629 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
2632 UTF-8.
2633
2634 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
2637
2638 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
2641 flags.
2642 (FLAGS_CASE_SENSITIVE): New enum value.
2643 (cache_entry): New struct.
2644 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
2645 cache_size and cache.
2646 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
2647 Add log_blocksize and fshelp_flags.
2648 (grub_sfs_read_extent): Handle non-512 blocks.
2649 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
2650 (grub_sfs_read_file): Handle non-512 blocks.
2651 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
2652 fshelp_flags.
2653 (grub_sfs_read_symlink): Handle non-512 blocks.
2654 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
2655 (grub_sfs_dir): Free cache.
2656 (grub_sfs_close): Likewise.
2657
2658 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2659
2660 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
2661 filesystems.
2662
2663 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
2666
2667 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
2670
2671 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
2674 (grub_sfs_read_extent): Likewise.
2675 (grub_sfs_read_block): Likewise.
2676 (grub_sfs_mount): Likewise.
2677 (grub_sfs_iterate_dir): Likewise.
2678 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
2679 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
2680
2681 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 Fix errors on compressed NTFS with 512B clusters.
2684
2685 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
2686 types.
2687 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
2688 not 0.
2689 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
2690 Relax check for inline extents.
2691 (ntfscomp): Return correct -1 on error and not 0.
2692
2693 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * util/grub-install.in: Fix handling of prefix containing spaces.
2696
2697 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
2700 (grub_squash_read_data): Fix offset byte-swapping.
2701
2702 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2703
2704 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
2705 per common usage and preffered in several parts of code.
2706 (grub_memcmp): Likewise.
2707 (grub_strncmp): Likewise.
2708 * include/grub/misc.h (grub_strcasecmp): Likewise.
2709 (grub_strncasecmp): Likewise.
2710 * Makefile.util.def (cmp_test): New test.
2711 (grub_script_strcmp): Likewise.
2712 * tests/cmp_unit_test.c: New file.
2713 * tests/grub_script_strcmp.in: Likewise.
2714 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
2715
2716 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2717
2718 * include/grub/pci.h: Move enums into no-asm part.
2719
2720 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
2723
2724 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2725
2726 * util/getroot.c (find_hurd_root_device): Try to make error message
2727 and comments to translators clearer.
2728
2729 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
2732
2733 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
2736 btrfs.
2737
2738 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 * docs/grub.cfg: Update.
2741
2742 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 * docs/grub.texi (PXE): Remove not present variables.
2745
2746 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2747
2748 * grub-core/net/net.c (defserver_set_env): New function.
2749 (defserver_get_env): Likewise.
2750 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
2751
2752 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
2755 entries.
2756
2757 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
2760 * grub-core/kern/emu/hostdisk.c: Likewise.
2761
2762 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2763
2764 Handle hurd userspace partitions.
2765
2766 * util/getroot.c (find_hurd_root_device): New function.
2767 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
2768
2769 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
2772 names.
2773 Reported by: Bastian Blank.
2774
2775 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
2778 crossing page boundary.
2779
2780 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 Fix B-tree search in BFS, especially in presence of non-ASCII
2783 characters.
2784
2785 * grub-core/fs/bfs.c (bfs_strcmp): New function.
2786 (find_in_b_tree): Use standard bsearch + btree algorithm.
2787
2788 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
2791 and so on.
2792
2793 2012-05-03 Matthew Garrett <mjg@redhat.com>
2794 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 Suspend broadcom cards in order to stop their DMA.
2797
2798 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
2799 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
2800 (pci): Don't build on x86 EFI.
2801 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
2802 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
2803 New function.
2804 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
2805 stop_broadcom if running on EFI.
2806 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
2807 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
2808 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
2809 (grub_pci_find_capability): New proto.
2810
2811 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * docs/grub.texi: Remove dot from the extension as it apparently
2814 doesn't work with some makeinfo versions.
2815
2816 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
2819 with GRUB expectance.
2820
2821 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
2824
2825 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2826
2827 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
2828 zero after directory block since last entry may be not 0-terminated if
2829 it ends on block boundary. Use continue instead of if spanning whole
2830 loop.
2831
2832 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 Support 4K sectors UDF inline files.
2835
2836 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
2837 (grub_udf_extended_file_entry): Likewise.
2838 (grub_fshelp_node): Name the anonymous union. Put block at the end.
2839 All users updated.
2840 (get_fshelp_size): New function.
2841 (grub_udf_read_icb): Read whole block.
2842 (grub_udf_iterate_dir): Likewise.
2843 (grub_udf_dir): Likewise.
2844 (grub_udf_open): Likewise.
2845
2846 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
2849
2850 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2851
2852 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
2853 inline symlinks in addition to workaround.
2854
2855 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
2858
2859 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
2862
2863 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
2866
2867 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2868
2869 Fix reiserfs big seek times.
2870
2871 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
2872 exact. All users updated.
2873 (grub_reiserfs_read): Use nearest btree search for seeking.
2874 Fix return value on error.
2875
2876 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
2879 entries.
2880 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
2881 * docs/grub.texi: Update menuentry description.
2882
2883 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
2886 crash when embedding onto filesystem.
2887
2888 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
2891 name.
2892
2893 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
2896
2897 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2898
2899 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
2900 commit.
2901
2902 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2903 2012-05-01 Bean <bean123ch@gmail.com>
2904
2905 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
2906
2907 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
2910 Special behaviour for len = 0 to read whole file isn't used anywhere and
2911 can cause buffer ovewrflows in several places.
2912
2913 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
2916
2917 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2918
2919 Handle RAIDZ on non-512B sectors.
2920
2921 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
2922 max_children_ashift.
2923 (fill_vdev_info_real): Fill max_children_ashift.
2924 (read_device): Use max_children_ashift.
2925
2926 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
2929
2930 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
2933 disk names.
2934 * docs/grub.texi: Update device.map parts.
2935
2936 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2937
2938 Don't scan into non-diskfilter devices having diskfilter names.
2939
2940 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
2941 (scan_disk): New argument accept_diskfilter. Fix recursion depth
2942 handling.
2943 (scan_disk_hook): New function.
2944
2945 2012-04-29 Bean <bean123ch@gmail.com>
2946
2947 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
2948 allocation.
2949
2950 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
2951
2952 * configure.ac: Detect starfield theme font path
2953 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
2954
2955 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
2958 geometry on serial consoles.
2959
2960 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
2963 because of network consoles.
2964
2965 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
2968 handling.
2969
2970 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
2973 falls on Q syndrom.
2974
2975 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
2978 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
2979
2980 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
2983 Allocate at lest 8192 for temporary buffer as required for lzo.
2984
2985 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
2988 to cluster_bits, since it's already added in.
2989 (grub_fat_read_data): Likewise.
2990
2991 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
2994 as long as cluster size is multiple of 512 bytes.
2995
2996 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 * util/grub-mkrescue.in: Fix locale directory.
2999
3000 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 * grub-core/kern/emu/hostdisk.c (map): Make static.
3003
3004 2012-04-23 Bean <bean123ch@gmail.com>
3005
3006 * util/grub-fstest.c (fstest): Add missing break.
3007
3008 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
3009
3010 Fix hurd build.
3011
3012 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
3013 not define nr variable.
3014 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
3015 find_root_devices_from_poolname, find_root_devices_from_libzfs,
3016 grub_find_device): Do not define.
3017
3018 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 Fix kfreebsd compile and behaviour.
3021
3022 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
3023 format-security.
3024 * util/getroot.c: Fix wait.h include.
3025 (grub_guess_root_devices): Error if grub_find_device fails.
3026 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
3027 (grub_util_get_dev_abstraction): Likewise.
3028 (grub_util_pull_device): Likewise.
3029 (grub_util_get_grub_dev): Likewise.
3030 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
3031
3032 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3033
3034 Fix and unify wholedisk detection.
3035
3036 * util/getroot.c (convert_system_partition_to_system_disk): New argument
3037 is_part. All users updated.
3038 (device_is_wholedisk): Removed.
3039 (grub_util_biosdisk_get_grub_dev): Use is_part.
3040
3041 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
3044 mode.
3045
3046 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 * configure.ac: Bump to beta4.
3049
3050 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3051
3052 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
3053 --fs-uuid --set UUID syntax.
3054
3055 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
3058 disunification.
3059
3060 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
3063
3064 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
3065
3066 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
3067
3068 2012-04-18 Mike Gilbert <floppym@gentoo.org>
3069
3070 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
3071
3072 2012-04-18 Bean <bean123ch@gmail.com>
3073
3074 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
3075 place.
3076
3077 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
3080 users updated.
3081 (grub_util_biosdisk_read): Handle Linux partitions not exactly
3082 corresponding to GRUB partitions.
3083 (grub_util_biosdisk_write): Likewise.
3084
3085 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3086
3087 Scan mdraid before LVM.
3088
3089 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
3090 (grub_diskfilter_register_front): ... this.
3091 (grub_diskfilter_register_back): New function.
3092 All users of grub_diskfilter_register updated.
3093
3094 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3095
3096 * util/grub-install.in: Fix an automatic target detection bug.
3097
3098 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 * util/grub-install.in: New option --efi-directory.
3101
3102 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
3105 boot services if we have no other choice.
3106
3107 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * util/grub-mknetdir.in: Rename --override-directory to --directory and
3110 document it.
3111 * tests/util/grub-shell.in: Update to --directory.
3112
3113 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
3116
3117 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
3120 (grub_minix_read_file): Likewise.
3121 (grub_minix_read_inode): Likewise.
3122 (grub_minix_find_file): Likewise.
3123 (grub_minix_dir): Likewise.
3124
3125 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 * util/grub-setup.c (setup): Fix partition handling and blocklist
3128 check.
3129
3130 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
3133 redundant buggy overlap check.
3134
3135 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
3138 and grub-mknetdir.
3139
3140 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
3143 kh.loadflags on pre-2.00 kernels.
3144
3145 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 Terminate UNDI and PXE before launching the payload to avoid problems
3148 with DMA.
3149
3150 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
3151 (grub_loader_flags): ... this. All users updated.
3152 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
3153 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
3154 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
3155 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
3156 function.
3157 (grub_pxe_restore): Likewise.
3158 (fini_hnd): New var.
3159 (GRUB_MOD_INIT): Register shutdown hook.
3160 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
3161 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
3162 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
3163 (grub_loader_set): Rename second argument to flags.
3164
3165 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
3168 written bytes.
3169 (grub_get_num_of_utf8_bytes): New function.
3170 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
3171 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
3172 executing it.
3173 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
3174 (grub_ucs4_to_utf8): Change return type.
3175
3176 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
3179 warning.
3180 * grub-core/fs/bfs.c (hop_level): Likewise.
3181 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
3182
3183 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 * grub-core/lib/adler32.c: Recode due to license unclearness.
3186
3187 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
3190 (test_header): Likewise.
3191
3192 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3193
3194 Fix --help formatting.
3195
3196 * util/grub-mkconfig_lib.in (print_option_help): New function.
3197 (grub_fmt): Likewise.
3198 * util/grub-install.in: Use print_option_help and grub_fmt.
3199 * util/grub-kbdcomp.in: Likewise.
3200 * util/grub-mkconfig.in: Likewise.
3201 * util/grub-mknetdir.in: Likewise.
3202 * util/grub-mkrescue.in: Likewise.
3203 * util/grub-mkstandalone.in: Likewise.
3204 * util/grub-reboot.in: Likewise.
3205 * util/grub-set-default.in: Likewise.
3206 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3207
3208 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3209
3210 * linguas.sh: Remove autogenerated *.po.
3211
3212 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 * po/README: Move language fetcing to ...
3215 * linguas.sh: ... here.
3216 * po/README: Point to linguas.sh.
3217
3218 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3219
3220 * po/README: Exclude ko.po due to disclaimer problems.
3221
3222 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3223
3224 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
3225 len = 0.
3226 (grub_gettext_translate_real): Handle 0th string.
3227 (grub_gettext_translate): Ensure that "" isn't translated.
3228
3229 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
3232 TRANSLATORS comment.
3233 (grub_diskfilter_print_partmap): Propagate changing of error into
3234 warning.
3235
3236 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
3239 to uint64_t to prevent overflow.
3240 (grub_diskfilter_lv): Increase start_extent and extent_count
3241 to uint64_t to prevent overflow.
3242
3243 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3244
3245 * configure.ac: Increase version.
3246
3247 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3248
3249 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
3250
3251 * po/Rules-translit: New file.
3252 * po/arabic.sed: Likewise.
3253 * po/cyrillic.sed: Likewise.
3254 * po/greek.sed: Likewise.
3255 * po/hebrew.sed: Likewise.
3256 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
3257 * po/Makefile.in.in: Add extra_dist4.
3258
3259 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3260
3261 Handle big-endian minixfs (fixes minixfs tests on bigendian).
3262
3263 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
3264 modify names. Introduce MODE_BIGENDIAN.
3265 * grub-core/fs/minix_be.c: New file.
3266 * grub-core/fs/minix2_be.c: Likewise
3267 * grub-core/fs/minix3_be.c: Likewise.
3268 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
3269 minix3_be.
3270 * grub-core/Makefile.core.def (minix_be): New module.
3271 (minix2_be): Likewise.
3272 (minix3_be): Likewise.
3273
3274 2012-04-01 Felix <email@hamburg.de>
3275
3276 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
3277 (devs): Add MBP 2011.
3278
3279 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3280
3281 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
3282
3283 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 * grub-core/normal/cmdline.c (print_completion): New field
3286 prompt_len.
3287 (grub_cmdline_get): Handle width properly.
3288
3289 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 * grub-core/commands/lsacpi.c (options): Add missing terminator.
3292
3293 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
3296 after 29th of February.
3297
3298 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3299
3300 Fix exfat endianness handling.
3301
3302 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
3303 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
3304 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
3305 Byte-swap utf16 when necessary.
3306 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
3307
3308 2012-03-31 Anton Blanchard <anton@samba.org>
3309 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3310
3311 Fix btrfs endianness handling.
3312
3313 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
3314 (lower_bound): Make root uint64_t. Use root in le.
3315 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
3316 (find_path): Fix template key init.
3317 (grub_btrfs_dir): Fix mtime byteswap.
3318 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
3319
3320 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3321
3322 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
3323 recursion_depth. Break infinite resursions. All users updated.
3324
3325 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
3328 after free.
3329 Reported by: Peter Jones.
3330
3331 2012-03-31 Anton Blanchard <anton@samba.org>
3332
3333 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
3334 8 bit values.
3335
3336 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 * util/grub-install.in: Fix nvram call for PreP.
3339
3340 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
3343 the error when some elements are missing into a warning.
3344
3345 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
3348
3349 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
3350
3351 * docs/grub.texi (Invoking grub-probe): New section.
3352 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
3353
3354 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3355
3356 Fix tab and wide character handling in editor and menu.
3357
3358 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
3359 agglomerate control characters with combining marks.
3360 (bidi_line_wrap): Allow break on tab.
3361 (grub_unicode_get_comb_start): New function.
3362 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
3363 and tab correctly.
3364 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
3365 with a space.
3366 * grub-core/normal/term.c (print_ucs4_terminal): New argument
3367 fixed_tab_size. All users updated.
3368 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
3369 (grub_term_getcharwidth): Handle \t.
3370 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
3371 and copy.
3372
3373 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 Handle big-endian mdraid.
3376
3377 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
3378 * grub-core/Makefile.core.def (mdraid09_be): New module.
3379 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
3380 rather than grub_le_to_cpu* and grub_cpu_to_le*.
3381 * grub-core/disk/mdraid_linux_be.c: New file.
3382
3383 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3384
3385 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
3386
3387 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3388
3389 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3390 missing quotes which caused confusion among translators.
3391
3392 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3393
3394 * util/grub-mkconfig_lib.in: Fix typo.
3395
3396 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
3399 spaces.
3400 * tests/grub_script_leading_whitespace.in: New file.
3401 * Makefile.util.def (grub_script_leading_whitespace): New test.
3402
3403 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3404
3405 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
3406 to work.
3407
3408 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
3411 starts with control character.
3412
3413 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
3416 overflow.
3417 (grub_gdb_outbuf): Likewise.
3418
3419 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3420
3421 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
3422 zero terminator. Fixes a crash.
3423
3424 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
3427 beyond 4 GiB.
3428 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
3429 images independently of preffered adderss field.
3430
3431 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
3434 * grub-core/commands/regexp.c: Likewise.
3435 * grub-core/loader/i386/linux.c: Likewise.
3436 * grub-core/partmap/msdos.c: Likewise.
3437 * grub-core/script/execute.c: Likewise.
3438 * grub-core/term/gfxterm.c: Likewise.
3439
3440 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3441
3442 Add variable parsing in $"..." and fix several mismatches with bash.
3443
3444 * Makefile.util.def (grub_script_gettext): New test.
3445 * grub-core/script/execute.c (parse_string): New function.
3446 (gettext_append): Likewise.
3447 (grub_script_arglist_to_argv): Use gettext_append.
3448 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
3449 * tests/grub_script_gettext.in: New file.
3450
3451 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 Fix handling of leading spaces in scripts.
3454
3455 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
3456 spaces.
3457 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
3458 other than skipping \r. All users updated.
3459 * tests/grub_script_echo1.in: Add space-related tests.
3460 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
3461
3462 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
3465
3466 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3467
3468 * configure.ac: Bump up the version to beta2.
3469
3470 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 Fix gettext reload bugs (e.g. inability to disable gettext
3473 once enabled).
3474
3475 * grub-core/gettext/gettext.c: Encapsulate all static variables in
3476 main_context and secondary_context. All functions updated.
3477 (grub_gettext_translate): Rename to ...
3478 (grub_gettext_translate_real): ... this. Return NULL on failed
3479 translate.
3480 (grub_gettext_translate): Handle secondary context.
3481 (grub_gettext_delete_list): Close file and zero-out the context.
3482 (grub_mofile_open): Don't call grub_gettext_delete_list.
3483 Don't close file.
3484 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
3485 if locale="" to avoid pointless error message.
3486 (grub_gettext_env_write_lang): Update lang even if load fails.
3487 Handle secondary context.
3488 (grub_gettext_reread_prefix): New function.
3489 (read_main): Likewise.
3490 (read_secondary): Likewise.
3491 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
3492 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
3493 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
3494 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
3495
3496 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 * configure.ac: Decrease warning level to avoid spurious warnings and
3499 to be able to compile with GCC 4.2.
3500 * Makefile.util.def: Remove -Wno-error=logical-op.
3501
3502 2012-03-10 William Bittner <william.bittner@gmail.com>
3503
3504 * util/import_unicode.py: Add missing brackets around string for
3505 python 3 support.
3506
3507 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3508
3509 Fix efi chainloader on network root.
3510
3511 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
3512 network devices.
3513 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
3514 New function.
3515
3516 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3517
3518 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
3519 unused show_text member.
3520 * docs/grub.texi: Document "text" property.
3521
3522 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
3525 in dprintf.
3526
3527 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 Fix IMSM handling on Fedora.
3530
3531 * util/getroot.c (grub_util_is_imsm): New function.
3532 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
3533
3534 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 * Makefile.am: Strip gold section.
3537 * conf/Makefile.common: Likewise.
3538 * gentpl.py: Likewise.
3539 * grub-core/Makefile.core.def: Likewise.
3540 * grub-core/genmod.sh.in: Likewise.
3541
3542 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3543
3544 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
3545 * util/grub.d/20_linux_xen.in: Likewise.
3546 Based on Debian patch.
3547
3548 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3549
3550 * util/grub.d/10_linux.in: Fix syntax error resulting in
3551 Richard Laager's patch.
3552 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
3553
3554 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
3557 dependencies.
3558
3559 2012-03-10 Richard Laager <rlaager@wiktel.com>
3560
3561 * util/grub.d/10_linux.in: Fix ZFS root passing.
3562
3563 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3564
3565 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3566 * grub-core/commands/xnu_uuid.c: Likewise.
3567 * grub-core/loader/efi/appleloader.c: Likewise.
3568 * grub-core/script/execute.c: Likewise.
3569 * grub-core/script/main.c: Likewise.
3570 * util/grub-mkfont.c: Likewise.
3571
3572 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3573
3574 * util/grub-mkfont.c (options): Use more appropriate "select" that
3575 "set" for face index.
3576
3577 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3578
3579 * util/grub-editenv.c (options): Gettextize command summaries.
3580
3581 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3582
3583 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
3584 "out of memory" error messagge.
3585
3586 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3587
3588 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
3589 of diskfilter for diskfilter on diskfilter support.
3590
3591 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
3594
3595 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 * util/grub-install.in: Check for themes/starfield/theme.txt and not
3598 themes/starfield.
3599
3600 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3601
3602 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
3603
3604 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3605
3606 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
3607
3608 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
3611 of error message.
3612
3613 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
3616
3617 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
3620 message.
3621 * util/grub-install.in: Fix and gettextize error message.
3622
3623 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3624
3625 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
3626 Gettextize.
3627 * util/grub-mount.c (options): Likewise.
3628
3629 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3630
3631 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
3632 gettextize.
3633 * grub-core/commands/search_wrap.c (options): Likewise.
3634
3635 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3636
3637 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
3638
3639 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
3642 size calculation.
3643 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
3644 none is known.
3645
3646 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3647
3648 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
3649 "temporary" since it's used in identifier and is limited in space.
3650
3651 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3652
3653 * po/POTFILES.in: Regenerate. Include *.h since they contain
3654 translatable strings as well.
3655
3656 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3657
3658 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
3659 byte-swap on big-endian.
3660 Reported by: Lennart Sorensen
3661
3662 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
3665 (allocate_pages): Improve dprintf.
3666 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
3667 code32_start. Fill code32_start and kernel_alignment in params.
3668 (grub_cmd_initrd): Use prot_init_space.
3669
3670 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
3673
3674 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * util/grub-install.in: Add missing dot at the end of sentence.
3677
3678 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3679
3680 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3681 * grub-core/commands/videotest.c: Likewise.
3682 * grub-core/loader/i386/linux.c: Likewise.
3683
3684 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3685
3686 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
3687 sentence.
3688 Reported by: Milo Casagrande.
3689
3690 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
3693 * grub-core/commands/gptsync.c: Likewise.
3694 * grub-core/commands/hashsum.c: Likewise.
3695 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3696 * grub-core/commands/legacycfg.c: Likewise.
3697 * grub-core/io/gzio.c: Likewise.
3698 * grub-core/net/net.c: Likewise.
3699 * grub-core/term/gfxterm.c: Likewise.
3700 * grub-core/term/terminfo.c: Likewise.
3701 * grub-core/tests/test_blockarg.c: Likewise.
3702 * grub-core/video/video.c: Likewise.
3703 * util/grub-install.in: Likewise.
3704 * util/grub-mkfont.c: Likewise.
3705
3706 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
3709
3710 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 * grub-core/commands/search_wrap.c (options): Fix a typo.
3713 Reported by: David Prévot.
3714
3715 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3716
3717 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
3718 description.
3719
3720 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3721
3722 * util/grub-script-check.c (main): Fix a syntax error message which was
3723 unclear.
3724
3725 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3726
3727 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
3728
3729 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3730
3731 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
3732 messages.
3733
3734 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
3737 without argument.
3738 * util/grub-mount.c (options): Likewise.
3739
3740 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3741
3742 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
3743
3744 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 * grub-core/net/http.c: Add TRANSLATORS comments.
3747 * grub-core/normal/cmdline.c: Likewise.
3748 * grub-core/normal/misc.c: Likewise.
3749 * grub-core/partmap/msdos.c: Likewise.
3750 * grub-core/parttool/msdospart.c: Likewise.
3751 * grub-core/script/execute.c: Likewise.
3752 * grub-core/script/main.c: Likewise.
3753 * grub-core/term/terminfo.c: Likewise.
3754 * grub-core/video/bitmap.c: Likewise.
3755 * util/grub-install.in: Likewise.
3756 * util/grub-mkimage.c: Likewise.
3757 * util/grub-mklayout.c: Likewise.
3758 * util/grub-setup.c: Likewise.
3759
3760 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
3763 with similar messages in grub-fstest.
3764
3765 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 * util/grub-install.in: Unify "option requires an argument" message
3768 with similar messages in other files.
3769 * util/grub-mkconfig.in: Likewise.
3770
3771 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3772
3773 * util/grub-set-default.in: Replace printf with gettext_printf (the
3774 string in in question is already translated from grub-reboot)
3775
3776 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3777
3778 * configure.ac: Bump up the version to beta1.
3779
3780 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3781
3782 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
3783 case when min_align = 0.
3784
3785 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3786
3787 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
3788 and fix a case when line_start overflows.
3789
3790 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3791
3792 * util/grub-reboot.in (usage): Mention id posibility.
3793 * util/grub-set-default.in (usage): Likewise.
3794
3795 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3796
3797 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
3798 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
3799 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3800 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3801 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3802 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3803 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3804
3805 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 * grub-core/commands/menuentry.c (options): Remove
3808 GRUB_ARG_OPTION_REPEATABLE.
3809 Reported by: Andreas Vogel
3810
3811 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
3812
3813 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
3814
3815 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
3816
3817 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
3818 error.
3819
3820 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 Use sort -V by the idea of Georgi Georgiev.
3823
3824 * util/grub-mkconfig_lib.in (version_sort): New function.
3825 (version_test_numeric): Use version_sort.
3826
3827 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 Use submenus in grub-mkconfig.
3830
3831 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
3832 * util/grub-mkconfig_lib.in (grub_quote): New function.
3833 (gettext_printf): Use gettext and not gettext_quoted to fix several
3834 messages.
3835 * util/grub.d/10_hurd.in: Use submenus.
3836 * util/grub.d/10_kfreebsd.in: Likewise.
3837 * util/grub.d/10_linux.in: Likewise.
3838 * util/grub.d/10_netbsd.in: Likewise.
3839 * util/grub.d/20_linux_xen.in: Likewise.
3840 * util/grub.d/30_os-prober.in: Likewise.
3841 * util/grub.d/10_illumos.in: Add missing quoting.
3842 * util/grub.d/10_windows.in: Likewise.
3843
3844 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 Fix menu title instability bug.
3847
3848 * grub-core/commands/menuentry.c (options): New option --id.
3849 (grub_normal_add_menu_entry): New argument id. All users updated.
3850 (grub_cmd_menuentry): Handle --id.
3851 (grub_menu_init): Accept unknown arguments.
3852 * grub-core/normal/main.c (features): Add feature_menuentry_id and
3853 feature_menuentry_options.
3854 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
3855 saved_entry.
3856 (get_entry_number): Match with id as well.
3857 * include/grub/menu.h (grub_menu_entry): New member id.
3858 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
3859 * util/grub.d/00_header.in: Define menuentry_id_option.
3860 * util/grub.d/10_hurd.in: Define id.
3861 * util/grub.d/10_illumos.in: Likewise.
3862 * util/grub.d/10_kfreebsd.in: Likewise.
3863 * util/grub.d/10_linux.in: Likewise.
3864 * util/grub.d/10_netbsd.in: Likewise.
3865 * util/grub.d/10_windows.in: Likewise.
3866 * util/grub.d/20_linux_xen.in: Likewise.
3867 * util/grub.d/30_os-prober.in: Likewise.
3868
3869 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
3872 "scope" with "body".
3873
3874 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
3877 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
3878 prot_size and prot_file_size.
3879
3880 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3881
3882 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
3883 All users updated. If easily=1 require raid-5/-6 to be full.
3884 (is_node_readable): Likewise.
3885 (scan_devices): Scan incomplete but readable LVs at the end.
3886 (grub_diskfilter_memberlist): Pull missing devices.
3887 (insert_array): Skip scanning until device is complete or scan is
3888 done otherwise.
3889 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
3890 check.
3891 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
3892 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
3893
3894 2012-03-03 Matthew Garrett <mjg@redhat.com>
3895 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3896
3897 Avoid EFI boot services when loading Linux.
3898
3899 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
3900 avoid_efi_bootservices. All users updated.
3901 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
3902 argument avoid_efi_bootservices. All users updated.
3903 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
3904 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
3905 align, min_align, relocatable, prefered_address. All users updated.
3906 Allocate avoiding boot services if kernel is relocatable.
3907 (grub_cmd_linux): Check if kernel is relocatable.
3908 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
3909 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
3910 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
3911 avoid_efi_boot_services.
3912 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
3913 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
3914 (linux_kernel_params): Likewise.
3915
3916 2012-03-03 Matthew Garrett <mjg@redhat.com>
3917 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3918
3919 Use EDID on EFI.
3920
3921 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
3922 datasize_out.
3923 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
3924 modes. Set gop_handle.
3925 (grub_video_gop_get_edid): New function.
3926 (grub_gop_get_preferred_mode): Likewise.
3927 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
3928 (grub_video_efi_gop_adapter): Set .get_edid.
3929 * include/grub/efi/edid.h: New file.
3930 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
3931
3932 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 * util/grub-install.in: Load efivars unconditionally.
3935
3936 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 * po/Rules-piglatin: Change suffix from .po-update-en to
3939 .po-update-en-piglatin.
3940
3941 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 Add a pig farm.
3944
3945 * po/piglatin.sed: New file.
3946 * po/en@piglatin.header: Likewise.
3947 * po/Rules-piglatin: Likewise.
3948 * po/README: Add en@piglatin to autogenerated languages.
3949
3950 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3951
3952 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
3953 "Command for ...".
3954 * grub-core/commands/hdparm.c (options): Use "Display" rather than
3955 "Check" since we don't check anything.
3956 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
3957 is 64-bit one.
3958 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
3959 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
3960 (grub_md_sha512_real): Likewise.
3961
3962 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 * grub-core/commands/gptsync.c: Fix typographic quoting.
3965 * grub-core/commands/ieee1275/suspend.c: Likewise.
3966 * grub-core/commands/parttool.c: Likewise.
3967 * grub-core/commands/search_wrap.c: Likewise.
3968 * grub-core/commands/videoinfo.c: Likewise.
3969 * grub-core/gfxmenu/gui_label.c: Likewise.
3970 * grub-core/hello/hello.c: Likewise.
3971 * grub-core/kern/emu/main.c: Likewise.
3972 * grub-core/net/net.c: Likewise.
3973 * grub-core/normal/menu.c: Likewise.
3974 * grub-core/normal/menu_text.c: Likewise.
3975 * grub-core/normal/misc.c: Likewise.
3976 * util/grub-editenv.c: Likewise.
3977 * util/grub-install.in: Likewise.
3978 * util/grub-kbdcomp.in: Likewise.
3979 * util/grub-mkconfig.in: Likewise.
3980 * util/grub-mknetdir.in: Likewise.
3981 * util/grub-mkrescue.in: Likewise.
3982 * util/grub-mkstandalone.in: Likewise.
3983 * util/grub-reboot.in: Likewise.
3984 * util/grub-set-default.in: Likewise.
3985 * util/grub-setup.c: Likewise.
3986 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3987
3988 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
3991 * grub-core/commands/keystatus.c: Likewise.
3992 * grub-core/commands/loadenv.c: Likewise.
3993 * grub-core/commands/probe.c: Likewise.
3994 * grub-core/commands/regexp.c: Likewise.
3995 * grub-core/commands/true.c: Likewise.
3996 * grub-core/commands/videoinfo.c: Likewise.
3997 * grub-core/disk/cryptodisk.c: Likewise.
3998 * grub-core/disk/ldm.c: Likewise.
3999 * grub-core/disk/loopback.c: Likewise.
4000 * grub-core/disk/luks.c: Likewise.
4001 * grub-core/fs/zfs/zfsinfo.c: Likewise.
4002 * grub-core/kern/disk.c: Likewise.
4003 * grub-core/kern/emu/hostdisk.c: Likewise.
4004
4005 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4006
4007 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
4008 * util/grub-install.in: Add missing quote in the comment.
4009
4010 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4011
4012 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
4013 * grub-core/commands/lsmmap.c: Likewise.
4014 * grub-core/commands/minicmd.c: Likewise.
4015 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
4016 * grub-core/commands/regexp.c: Likewise.
4017 * grub-core/gdb/gdb.c: Likewise.
4018 * grub-core/term/gfxterm.c: Likewise.
4019 * util/grub-mkconfig.in: Likewise.
4020 * util/grub-mkfont.c: Likewise.
4021 * util/grub-mklayout.c: Likewise.
4022 * util/grub-mknetdir.in: Likewise.
4023 * util/grub-mkrescue.in: Likewise.
4024 * util/grub.d/30_os-prober.in: Likewise.
4025
4026 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
4029 with "Direct color" and "Packed" with "Packed pixel".
4030 (grub_cmd_videoinfo): Simplify legend.
4031
4032 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4033
4034 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
4035 absolutely unclear error message.
4036
4037 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4038
4039 * util/grub-mkstandalone.in: Remove confusing leftover print.
4040
4041 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4042
4043 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
4044 comments.
4045 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
4046 (GRUB_MOD_INIT): Likewise.
4047 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
4048 VGA mode.
4049 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
4050 comments.
4051 * util/grub-install.in (usage): Likewise.
4052 Spell ID in whole letters.
4053 Add missing ending dot.
4054 Quote variables.
4055 * util/grub-reboot.in: Fix capitalisation.
4056 * util/grub-set-default.in: Likewise.
4057
4058 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4059
4060 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
4061 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
4062 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
4063 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
4064 Disable -Werror for -Wdeprecated-declarations.
4065 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
4066 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
4067 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
4068 (grub_util_get_grub_dev): Make luks handling dependent on
4069 HAVE_DEVICE_MAPPER and not __linux__.
4070 (get_win32_path): Fix format security.
4071 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
4072 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
4073 Don't try grub_find_zpool_from_dir.
4074 (grub_make_system_path_relative_to_its_root) [!__linux__]:
4075 #ifdef-out paresdir.
4076
4077 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 * util/grub-pe2elf.c (usage): Add missing noreturn.
4080 (write_section_data): Rename name to shname to avoid shadowing.
4081 (write_symbol_table): Rename name to symname to avoid shadowing.
4082 Fix write_reloc_section call.
4083
4084 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4085
4086 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
4087 to ensure that it's after the last byte of .text.
4088
4089 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 * util/ieee1275/ofpath.c (my_isdigit): New function.
4092 (trailing_digits): Use my_isdigit.
4093 (strip_trailing_digits): Likewise.
4094
4095 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4096
4097 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
4098 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
4099
4100 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 * grub-core/kern/i386/pc/startup.S: Define __start.
4103
4104 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
4107 strip already transforms he format.
4108
4109 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4110
4111 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
4112
4113 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4114
4115 * util/grub-install.in: Add missing gettext init.
4116 * util/grub-kbdcomp.in: Likewise.
4117 * util/grub-mkconfig.in: Likewise.
4118 * util/grub-mknetdir.in: Likewise.
4119 * util/grub-mkrescue.in: Likewise.
4120 * util/grub-mkstandalone.in: Likewise.
4121 * util/grub-reboot.in: Likewise.
4122 * util/grub-set-default.in: Likewise.
4123 * util/grub.d/00_header.in: Likewise.
4124 * util/grub.d/10_hurd.in: Likewise.
4125 * util/grub.d/10_windows.in: Likewise.
4126 * util/grub.d/30_os-prober.in: Likewise.
4127 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4128
4129 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 * po/Rules-swiss: Fix header comment.
4132
4133 2012-02-29 Andreas Vogel <anvoit>
4134
4135 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
4136 resulted in leak of arguments.
4137
4138 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * grub-core/boot/i386/pc/startup_raw.S: Use separate
4141 reed_solomon_size const definition instead of computing it since
4142 Apple assembler doesn't support the later.
4143
4144 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 * gentpl.py (kernel): Rewrite Apple part.
4147
4148 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 * include/grub/kernel.h (FOR_MODULES): Check module magic.
4151
4152 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4153
4154 * util/grub-mkimagexx.c (locate_sections): Support non-standard
4155 ELF section gap.
4156 (load_image): Likewise.
4157
4158 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4159
4160 * configure.ac: Fix a typo in previous commit.
4161
4162 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 Don't add -Wl,-N on Apple platform.
4165
4166 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
4167 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
4168
4169 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 * grub-core/Makefile.core.def (lzma_decompress): Use
4172 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
4173
4174 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 * grub-core/genmod.sh.in: Rewrite the Apple part.
4177
4178 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4179
4180 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
4181 comparison.
4182
4183 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 * acinclude.m4 (grub_CHECK_PIC): New test.
4186 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
4187
4188 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4189
4190 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
4191 to avoid the warning.
4192
4193 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4194
4195 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
4196 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
4197 after. All users updated.
4198
4199 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4200
4201 Use the common size routine in hostfs so we can read disks as well.
4202
4203 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
4204 (grub_util_get_fd_size): ... this. Return size in bytes.
4205 All users updated.
4206 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
4207 grub_util_get_fd_size.
4208
4209 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
4212 Add blocksize retrieval.
4213
4214 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 * configure.ac: Restore CFLAGS after efiemu check.
4217
4218 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
4221 Apple bug.
4222
4223 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
4226
4227 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
4230 (grub_cmd_halt): Likewise.
4231
4232 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4233
4234 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
4235 for local arithmetics.
4236 Break %sp init into 2 instructions.
4237 Add 0 byte at the end.
4238
4239 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 * grub-core/disk/diskfilter.c (read_segment): Initialise err
4242 before loops.
4243
4244 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4245
4246 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
4247 for context.
4248
4249 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4250
4251 * grub-core/disk/ldm.c (make_vg): Init part.name.
4252 (grub_ldm_detect): Silence spurious warning.
4253 (grub_util_is_ldm): Likewise.
4254
4255 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
4258 sane value to avoid a spurious warning.
4259
4260 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
4263 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
4264
4265 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4266
4267 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
4268 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
4269
4270 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4271
4272 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
4273 hardcoding the relevant info.
4274
4275 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
4278 missing const qualifiers.
4279 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
4280
4281 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 * util/getroot.c [__APPLE__]: Add missing includes.
4284 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
4285
4286 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 * util/grub-mkimage.c (generate_image): Silence spurious warning.
4289
4290 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
4293 avoid conflicts.
4294
4295 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4296
4297 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
4298
4299 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
4302 and grub_file_close call.
4303
4304 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4305
4306 Add LZSS Mach-O support (needed for new xnu kernelcache).
4307
4308 * grub-core/Makefile.core.def (xnu): Add file lzss.c
4309 * grub-core/loader/lzss.c: New file.
4310 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
4311 on Mach-O open failure.
4312 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
4313 Don't free cmdsXX in uncompressedXX is set.
4314 (grub_macho_file): Init new fields.
4315 New argument is_64bit. All users updated.
4316 Handle compressed. Error out if no suitable architecture is found.
4317 Don't close file.
4318 (grub_macho_open): New argument is_64bit. All users updated.
4319 * grub-core/loader/macho32.c: Add defines for new fields.
4320 * grub-core/loader/macho64.c: Likewise.
4321 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
4322 (grub_macho_parse): Handle compressed.
4323 Defer actual processing if compressed.
4324 (grub_macho_cmds_iterate): Decompress if compressed. New argument
4325 "filename". All users updated.
4326 (grub_macho_size): New argument "filename". All users updated.
4327 (grub_macho_get_entry_point): Likewise.
4328 (grub_macho_load): Handle compressed.
4329 * include/grub/macho.h (grub_macho_lzss_header): New struct.
4330 (GRUB_MACHO_LZSS_OFFSET): New define.
4331 (grub_decompress_lzss): New proto.
4332 * include/grub/machoload.h (grub_macho_file): New fields to handle
4333 compressed.
4334 (grub_macho_contains_macho64): Remove proto.
4335 (grub_macho_contains_macho32): Likewise.
4336 * util/grub.d/30_os-prober.in: Use kernel cache if available.
4337
4338 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4339
4340 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
4341
4342 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 Fix make dist.
4345
4346 * Makefile.am (starfield_theme_files): New var.
4347 (starfield_DATA): Use starfield_theme_files.
4348 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
4349 Add bootcheck-related files.
4350 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
4351 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
4352 and font_char_metrics.txt.
4353 * grub-core/Makefile.core.def (kernel): Update extra_dist.
4354 (setjmp): Add lib/ia64/longjmp.S.
4355 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
4356 * po/POTFILES.in: Regenerate.
4357 * po/Rules-swiss: use DISTFILES.common.extra2 and not
4358 DISTFILES.common.extra1.
4359 * util/devicemap.c: Removed.
4360 * grub-core/lib/i386/relocator_backward.S: Likewise.
4361 * util/import_gcry.py: Remove unused files. Add extra_dist for
4362 ChangeLog.
4363
4364 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 * grub-core/gettext/gettext.c (grub_mofile_open): Call
4367 grub_gettext_delete_list before changing grub_gettext_max to avoid
4368 running out of array bounds.
4369
4370 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4371
4372 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
4373 grub_vga_text_init/grub_vga_text_fini.
4374
4375 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
4378
4379 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4380
4381 * configure.ac: Bump to 2.00~beta0.
4382
4383 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
4386 missing initialisation.
4387
4388 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4389
4390 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
4391
4392 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4393
4394 Support v2 xnu boot arguments.
4395
4396 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
4397 New argument fsbfreq_out.
4398 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
4399 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
4400 be used.
4401 * grub-core/loader/machoXX.c (grub_macho_load): New argument
4402 darwin_version.
4403 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
4404 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
4405 (grub_xnu_boot_params): Rename to ...
4406 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
4407 (grub_xnu_boot_params_v2): New struct.
4408
4409 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
4412 zeroing of CRC field before computing CRC.
4413
4414 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
4417 Change order of allocations to decrease fragmentation.
4418
4419 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4420
4421 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
4422
4423 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
4424
4425 Use write-combining MTRR to speed up video with buggy BIOSes.
4426
4427 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
4428 (cpuid): New define.
4429 (rdmsr): Likewise.
4430 (wrmsr): Likewise.
4431 (mtrr_base): Likewise.
4432 (mtrr_mask): Likewise.
4433 (grub_vbe_enable_mtrr_entry): New function.
4434 (grub_vbe_enable_mtrr): Likewise.
4435 (grub_vbe_disable_mtrr): Likewise.
4436 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
4437 control off to BIOS.
4438 (grub_video_vbe_init): Fill mtrr.
4439 (grub_video_vbe_fini): Disable mtrr.
4440 (grub_video_vbe_get_info_and_fini): Likewise.
4441 (grub_video_vbe_setup): Enable mtrr.
4442
4443 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
4444
4445 * include/grub/partition.h (grub_partition_map): Change prototype of
4446 embed to take a maximum value for nsectors.
4447 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
4448 * include/grub/fs.h (grub_fs): Likewise.
4449 * grub-core/partmap/msdos.c (embed_signatures): New array.
4450 (pc_partition_map_embed): Check for and avoid sectors matching any
4451 of the signatures in embed_signatures, up to max_nsectors.
4452 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
4453 returned sector map to max_nsectors.
4454 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
4455 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
4456 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
4457 * util/grub-setup.c (setup): Allow for the embedding area being
4458 split into multiple blocklists. Tell dest_partmap->embed the
4459 maximum number of sectors we care about.
4460
4461 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
4464 Specify blocklist_install and reserver_first_sector for all fs.
4465 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
4466 blocklists.
4467
4468 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 * util/grub-install.in: Clarify strings.
4471 Fix source dir check.
4472
4473 2012-02-27 Richard Laager <rlaager@wiktel.com>
4474
4475 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
4476 "zfs" and "fuse.zfs" as synonyms.
4477
4478 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4479
4480 * configure.ac: Put platform and target_cpu substitutions back since
4481 they are used for directories.
4482
4483 2012-02-27 Richard Laager <rlaager@wiktel.com>
4484 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4485
4486 * util/grub.d/10_linux.in: Add ZFS-related arguments.
4487 * util/grub.d/20_linux_xen.in: Likewise.
4488
4489 2012-02-27 Richard Laager <rlaager@wiktel.com>
4490
4491 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
4492 with full paths.
4493
4494 2012-02-27 Richard Laager <rlaager@wiktel.com>
4495
4496 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
4497 unescape.
4498
4499 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 Don't use insecure popen in getroot.
4502
4503 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
4504 (exec_pipe): ... here.
4505 (find_root_devices_from_poolname): Use exec_pipe.
4506
4507 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 Remove platform and target_cpu replacement.
4510
4511 * configure.ac: Remove platform and target_cpu substitutions.
4512 * tests/util/grub-shell.in: Use modinfo.
4513 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
4514 explicitly.
4515
4516 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 Autodetect platform in grub-install but allow override.
4519
4520 * util/grub-install.in: Autodetect platform. Support --target and
4521 --directory. Read platform from modinfo.sh.
4522
4523 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4524
4525 Support btrfs multi-volume probe.
4526
4527 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
4528 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
4529 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
4530 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
4531 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
4532 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
4533 grub_find_root_devices_from_btrfs if on btrfs.
4534
4535 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4536
4537 Remove any awareness of *.c util files about target.
4538
4539 * Makefile.util.def (grub-setup): Split to ...
4540 (grub-bios-setup): ... and this.
4541 (grub-sparc64-setup): ... and this.
4542 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
4543 * docs/man/grub-setup.h2m: Split into ...
4544 * docs/man/grub-sparc64-setup.h2m: ... this.
4545 * docs/man/grub-bios-setup.h2m: ... and this.
4546 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
4547 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
4548 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
4549 (grub_target_addr_t): Remove.
4550 (grub_target_size_t): Remove.
4551 (grub_target_ssize_t): Remove.
4552 * util/grub-install.in: Use new grub-*-setup.
4553 * util/grub-mkimagexx.c (Elf_Word): New define.
4554 (Elf_Half): Likewise.
4555 (Elf_Section): Likewise.
4556 (ELF_ST_TYPE): Likewise.
4557 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
4558 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
4559
4560 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4561
4562 Replace grub_target_addr with more appropriate types.
4563
4564 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
4565 grub_target_addr with grub_addr.
4566 * grub-core/commands/iorw.c (grub_cmd_read): Replace
4567 grub_target_addr with grub_port.
4568 (grub_cmd_write): Likewise.
4569 * grub-core/commands/memrw.c (grub_cmd_read): Replace
4570 grub_target_addr with grub_addr.
4571 (grub_cmd_write): Likewise.
4572 * grub-core/video/efi_uga.c (find_line_len): Likewise.
4573
4574 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4575
4576 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
4577 const qualifier for vendor_guid.
4578
4579 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
4582 const qualifier.
4583 (efiemu_memequal): Likewise.
4584 (find_variable): Likewise.
4585
4586 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4587
4588 Fix missing console prototype on qemu-mips.
4589
4590 * include/grub/mips/qemu_mips/console.h: New file.
4591
4592 2012-02-27 Matthew Garrett <mjg@redhat.com>
4593 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
4596 * include/grub/efi/efi.h: Likewise.
4597 * include/grub/efi/api.h: Add guid for EFI-specified variables.
4598 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
4599 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
4600 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
4601 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
4602 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
4603
4604 2012-02-27 Matthew Garrett <mjg@redhat.com>
4605
4606 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
4607
4608 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4609
4610 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
4611 error.
4612
4613 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4614
4615 * configure.ac: Remove inappropriate use of program_transform_name
4616 on grubdir and bootdir but allow explicit specification of those
4617 variables.
4618
4619 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 * util/grub-mknetdir.in (grub_prefix): Removed.
4622 (subdir): Use @bootdirname@ and @grubdirname@.
4623
4624 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4625
4626 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
4627
4628 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4629
4630 * po/POTFILES.in: Regenerated.
4631
4632 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 Remove improper use of program_transform_name on pkglibrootdir.
4635
4636 * configure.ac (pkglibrootdir): Removed.
4637 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
4638 * util/grub-mkimage.c: Likewise.
4639
4640 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4641
4642 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
4643 warning.
4644
4645 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4646
4647 * util/grub-install.in: Use file identifier if no UUID is available
4648 or user explicitly prompted for it.
4649
4650 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
4651
4652 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
4653 (freebsd_get_zfs): New function.
4654 (grub_freebsd_boot): Pass zfs UUID.
4655 (grub_cmd_freebsd): Set zfs UUID.
4656
4657 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4658
4659 * conf/Makefile.common (platformdir): Base on pkglibdir and not
4660 pkglibrootdir.
4661
4662 2012-02-27 Mike Gilbert <floppym@gentoo.org>
4663
4664 Add configure flag to control libzfs integration.
4665
4666 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
4667
4668 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
4671 device.
4672 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
4673 small devices.
4674
4675 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4676
4677 Remove grub_{modname}_init and grub_{modname}_fini. They should never
4678 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
4679 be used on non-modules.
4680
4681 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
4682 Rename to grub_boot_init.
4683 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
4684 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
4685 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
4686 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
4687 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
4688 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
4689 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
4690 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
4691 includes.
4692 (grub_machine_init): Remove empty inits.
4693 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
4694 includes.
4695 (grub_machine_init): Remove empty inits.
4696 * grub-core/term/arc/console.c: Remove explicit proto.
4697 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
4698 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
4699 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4700 grub_at_keyboard_fini.
4701 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
4702 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
4703 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4704 grub_gfxterm_fini.
4705 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
4706 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
4707 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4708 grub_vgatext_fini.
4709 * grub-core/term/ieee1275/console.c: Remove explicit proto.
4710 * grub-core/term/serial.c (GRUB_MOD_INIT)
4711 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
4712 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4713 grub_serial_fini.
4714 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
4715 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
4716 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4717 grub_terminfo_fini.
4718 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
4719 (GRUB_MOD_FINI): Likewise.
4720 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
4721 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
4722 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4723 grub_video_radeon_fuloong2e_fini.
4724 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
4725 [LOONGSON]: Rename to grub_video_sis315pro_init.
4726 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4727 grub_video_sis315pro_fini.
4728 * grub-core/video/sm712.c (GRUB_MOD_INIT)
4729 [LOONGSON]: Rename to grub_video_sm712_init.
4730 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4731 grub_video_sm712_fini.
4732 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
4733 (grub_at_keyboard_fini): Likewise.
4734 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
4735 Don't declare grub_{modname}_init.
4736 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
4737 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
4738 New proto.
4739 (grub_keylayouts_fini) [!EMU]: Likewise.
4740 * include/grub/serial.h (grub_serial_init) [!EMU]:
4741 New proto.
4742 (grub_serial_fini) [!EMU]: Likewise.
4743 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
4744 New proto.
4745 (grub_terminfo_fini) [!EMU]: Likewise.
4746 * include/grub/video.h (grub_font_init) [!EMU]:
4747 New proto.
4748 (grub_font_fini) [!EMU]: Likewise.
4749 (grub_gfxterm_init) [!EMU]: Likewise.
4750 (grub_gfxterm_fini) [!EMU]: Likewise.
4751 (grub_video_sm712_init) [!EMU]: Likewise.
4752 (grub_video_sm712_fini) [!EMU]: Likewise.
4753 (grub_video_sis315pro_init) [!EMU]: Likewise.
4754 (grub_video_sis315pro_fini) [!EMU]: Likewise.
4755 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
4756 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
4757
4758 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 Make nand a prefix for nand devices.
4761
4762 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
4763
4764 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
4767 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
4768
4769 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4770
4771 * include/grub/env.h (grub_env_find): Remove prototype.
4772 * grub-core/kern/env.c (grub_env_find): Make static.
4773 (grub_env_set): Remove useless set.
4774
4775 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 * grub-core/kern/i386/realmode.S: Remove useless align.
4778
4779 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 * include/grub/dl.h (grub_dl_load_file): Don't export.
4782
4783 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
4786 grub_dprintf.
4787
4788 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4789
4790 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
4791 grub_errors.
4792 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
4793 not reloading whole superblock but only the part which is really needed.
4794 Remove useless grub_errors.
4795 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
4796 grub_errors.
4797
4798 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 Don't export grub_get_rtc.
4801
4802 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
4803 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
4804
4805 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4806
4807 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
4808
4809 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
4812 argument since it can be deduced from diskfilter. All users updated.
4813
4814 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4815
4816 Remove prio_list.
4817
4818 * include/grub/list.h (grub_prio_list): Removed.
4819 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
4820 GRUB_COMMAND_PRIO_MASK.
4821 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
4822 GRUB_COMMAND_FLAG_ACTIVE.
4823 (grub_prio_list_insert): Removed.
4824 (grub_prio_list_remove): Likewise.
4825 (GRUB_AS_PRIO_LIST): Likewise.
4826 (GRUB_AS_PRIO_LIST_P): Likewise.
4827 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
4828 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
4829 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
4830 * grub-core/kern/command.c (grub_register_command_prio): Inline
4831 the prio_list code.
4832 (grub_unregister_command): Likewise.
4833
4834 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4835
4836 Fix interrupt mixup from previous commit.
4837
4838 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
4839 (grub_realidt): New var.
4840 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
4841 Load idt.
4842 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
4843 New declaration.
4844 (grub_relocator16_boot): Set grub_relocator16_idt.
4845 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
4846 (LOCAL(realidt)): ... this.
4847 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
4848 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
4849 (grub_realidt): New variable.
4850
4851 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4852
4853 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
4854 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
4855 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
4856 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
4857 Gettextize.
4858 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
4859 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
4860 * po/POTFILES.in: Regenerate.
4861
4862 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
4865 errors.
4866
4867 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4868
4869 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
4870 \0.
4871 (add_length): Likewise.
4872
4873 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4874 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
4875
4876 GDB serial and backtrace support.
4877
4878 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
4879 (prot_to_real): Likewise.
4880 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
4881 * grub-core/Makefile.core.def (backtrace): New module.
4882 (gdb): Likewise.
4883 * grub-core/gdb/cstub.c: New file.
4884 * grub-core/gdb/gdb.c: Likewise.
4885 * grub-core/gdb/i386/idt.c: Likewise.
4886 * grub-core/gdb/i386/machdep.S: Likewise.
4887 * grub-core/gdb/i386/signal.c: Likewise.
4888 * grub-core/lib/i386/backtrace.c: Likewise.
4889 * grub-core/lib/backtrace.c: Likewise.
4890 * include/grub/backtrace.h: Likewise.
4891 * include/grub/gdb.h: Likewise.
4892 * include/grub/i386/gdb.h: Likewise.
4893
4894 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4895
4896 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
4897 New function.
4898 (add_length): Likewise.
4899 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
4900 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
4901 proto.
4902 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
4903 __argp_get_display_len.
4904
4905 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4906
4907 $"..." support in scripts.
4908
4909 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
4910 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
4911 * grub-core/script/yylex.l: Likewise.
4912 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
4913 value.
4914
4915 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4916
4917 * gentpl.py: Remove obsolete pkglib_DATA handling.
4918
4919 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4920
4921 Don't transform PACKAGE_TARNAME following a discussion on autoconf
4922 mailing list.
4923
4924 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
4925 * util/grub-kbdcomp.in: Likewise.
4926 * util/grub-mkconfig.in: Likewise.
4927 * util/grub-mkconfig_lib.in: Likewise.
4928 * util/grub-mknetdir.in: Likewise.
4929 * util/grub-mkrescue.in: Likewise.
4930 * util/grub-mkstandalone.in: Likewise.
4931 * util/grub-reboot.in: Likewise.
4932 * util/grub-set-default.in: Likewise.
4933 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4934
4935 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 Remove GRUB_PREFIX.
4938
4939 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
4940 * util/grub.d/00_header.in: Compute prefix in the only place it's still
4941 used for backward compatibility.
4942
4943 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 Add new all_video module.
4946
4947 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
4948 * grub-core/Makefile.core.def (all_video): New module.
4949 * grub-core/genmoddep.awk: Generate dependency of all_video from
4950 video.lst.
4951 * grub-core/lib/fake_module.c: New file.
4952 * grub-core/normal/main.c (features): Add feature_all_video_module.
4953 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
4954 don't do explicit search again.
4955 insmod all_video in load_video if available.
4956
4957 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 Another round of string clarification and adding TRANSLATORS comments.
4960
4961 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
4964
4965 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
4968 to grub_ssize_t.
4969 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
4970 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
4971
4972 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4973
4974 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
4975 trailing newline implicitly. All users updated.
4976
4977 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4978
4979 Implement serial on IEEE1275 and EFI.
4980
4981 * docs/grub.texi (Platform-specific limitations): Fix the columen video
4982 on emu. Mention arc and emu as the only platforms without serial
4983 support.
4984 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
4985 ieee1275 platforms.
4986 * grub-core/term/efi/serial.c: New file.
4987 * grub-core/term/ieee1275/serial.c: Likewise.
4988 * grub-core/term/serial.c (grub_serial_find): Disable direct port
4989 specification if no ns8250 driver is available.
4990 (grub_cmd_serial): Likewise.
4991 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
4992 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
4993 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
4994 (grub_efi_parity_type_t): New type.
4995 (grub_efi_stop_bits_t): Likewise.
4996 (grub_efi_serial_io_interface): New struct.
4997 * include/grub/serial.h (grub_serial_port): Make 'broken' field
4998 available for all interfaces.
4999 Add EFI and IEEE1275 fields.
5000 (grub_ofserial_init): New proto.
5001 (grub_efiserial_init): Likeiwse.
5002 * util/grub.d/00_header.in: Don't check for the presence of serial
5003 module.
5004
5005 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
5008 name as if it was an alias.
5009
5010 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5011
5012 * grub-core/commands/lsacpi.c (options): Fix typo.
5013
5014 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 Convert grub-emu to argp.
5017
5018 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
5019 emu.
5020 * util/argp_common.c: Rename to ...
5021 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
5022 Add missing includes.
5023 * grub-core/kern/emu/main.c: Convert to argp.
5024 * po/POTFILES.in: Regenerate.
5025 * util/grub-install.in (usage): Make first letter lowcase in messages
5026 for uniformity.
5027 * util/grub-setup.c (options): Likewise.
5028
5029 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5030
5031 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
5032 Put back accidently commented-out code.
5033
5034 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5035
5036 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
5037 loop check using Brent algorithm.
5038 (grub_hfsplus_btree_search): Likewise.
5039
5040 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5041
5042 * util/grub-install.in: Fix usage of wrong device for PreP install.
5043
5044 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5045
5046 * conf/Makefile.common (CFLAGS_GNULIB): Add
5047 -Wno-unsafe-loop-optimizations.
5048 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
5049 on tools.
5050 * grub-core/commands/legacycfg.c: Add pragma to skip
5051 -Wunsafe-loop-optimizations.
5052 (check_password_md5_real): Fix loop counter type.
5053 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
5054 reading.
5055 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
5056 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
5057 loop condition.
5058 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
5059 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
5060 * grub-core/net/net.c (grub_net_route_address): Add safety loop
5061 condition.
5062 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
5063 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
5064 avoid possible infinite loops.
5065 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
5066 and -Wunsafe-loop-optimizations.
5067 * grub-core/script/yylex.l: Likewise.
5068 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
5069 (print_glyphs): Avoid infinite loops.
5070 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
5071
5072 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
5073
5074 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
5075 to avoid infinite loop.
5076 (disp_acpi_rsdt_table): Likewise.
5077
5078 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5079
5080 * grub-core/font/font.c (grub_font_load): Add support for default
5081 path for fonts ($prefix/fonts).
5082 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
5083 for checking if string is a path.
5084 * grub-core/normal/main.c (features): Add feature_default_font_path.
5085 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
5086 * util/grub.d/00_header.in: Use default directory if possible.
5087 * util/grub-install.in: Install unicode.pf2.
5088
5089 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5090
5091 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
5092 * po/Rules-swiss: New file.
5093 * po/swiss.sed: Likewise.
5094
5095 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 * grub-core/fs/btrfs.c (find_device): Fix typos.
5098 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
5099 * util/grub-mkrelpath.c (argp_parser): Likewise.
5100 Reported by: Yuri Chornoivan.
5101
5102 2012-02-23 Dalet Omega <daletomega@gmail.com>
5103
5104 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
5105 for usual informative messages.
5106
5107 2012-02-23 Dalet Omega <daletomega@gmail.com>
5108
5109 Starfield theme.
5110
5111 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
5112 * conf/Makefile.common: Define starfielddir.
5113 * configure.ac: Configure starfield.
5114 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
5115 * themes/starfield/README: Likewise.
5116 * themes/starfield/blob_w.png: Likewise.
5117 * themes/starfield/boot_menu_c.png: Likewise.
5118 * themes/starfield/boot_menu_e.png: Likewise.
5119 * themes/starfield/boot_menu_n.png: Likewise.
5120 * themes/starfield/boot_menu_ne.png: Likewise.
5121 * themes/starfield/boot_menu_nw.png: Likewise.
5122 * themes/starfield/boot_menu_s.png: Likewise.
5123 * themes/starfield/boot_menu_se.png: Likewise.
5124 * themes/starfield/boot_menu_sw.png: Likewise.
5125 * themes/starfield/boot_menu_w.png: Likewise.
5126 * themes/starfield/slider_c.png: Likewise.
5127 * themes/starfield/slider_n.png: Likewise.
5128 * themes/starfield/slider_s.png: Likewise.
5129 * themes/starfield/src/blob_nw.xcf: Likewise.
5130 * themes/starfield/src/bootmenu/: Likewise.
5131 * themes/starfield/src/bootmenu/center.xcf: Likewise.
5132 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
5133 * themes/starfield/src/bootmenu/side.xcf: Likewise.
5134 * themes/starfield/src/slider_c.xcf: Likewise.
5135 * themes/starfield/src/slider_n.xcf: Likewise.
5136 * themes/starfield/src/slider_s.xcf: Likewise.
5137 * themes/starfield/src/terminalbox/: Likewise.
5138 * themes/starfield/src/terminalbox/center.xcf: Likewise.
5139 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
5140 * themes/starfield/src/terminalbox/side.xcf: Likewise.
5141 * themes/starfield/starfield.png: Likewise.
5142 * themes/starfield/terminal_box_c.png: Likewise.
5143 * themes/starfield/terminal_box_e.png: Likewise.
5144 * themes/starfield/terminal_box_n.png: Likewise.
5145 * themes/starfield/terminal_box_ne.png: Likewise.
5146 * themes/starfield/terminal_box_nw.png: Likewise.
5147 * themes/starfield/terminal_box_s.png: Likewise.
5148 * themes/starfield/terminal_box_se.png: Likewise.
5149 * themes/starfield/terminal_box_sw.png: Likewise.
5150 * themes/starfield/terminal_box_w.png: Likewise.
5151 * themes/starfield/theme.txt: Likewise.
5152
5153 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 * util/grub.d/00_header.in: Add missing export theme.
5156
5157 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
5160 already included.
5161 Reported by: Eren D.
5162
5163 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * conf/Makefile.common (grubdatadir): Removed.
5166 (Makefile.am): Move eveything grubdata to pkgdata.
5167
5168 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5169
5170 * grub-core/commands/acpihalt.c (get_sleep_type):
5171 Remove unused variable.
5172
5173 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
5176 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
5177 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
5178 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
5179 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
5180 i18n with gettext no-op.
5181 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
5182 GRUB_ACPI_OPCODE_STRING_CONST.
5183 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
5184 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
5185
5186 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5187
5188 * po/POTFILES.in: Regenerate.
5189
5190 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
5193 -Wno-error=missing-noreturn.
5194
5195 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
5198 condition to avoid possibly infinite loops.
5199 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
5200 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
5201
5202 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5203
5204 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
5205 condition to avoid possibly infinite loops.
5206
5207 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
5210 on show_error.
5211
5212 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
5215
5216 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5217
5218 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
5219
5220 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5221
5222 * util/bin2h.c (usage): Add missing attribute noreturn.
5223
5224 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5225
5226 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
5227 if the size isn't divisible by 512.
5228
5229 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5230
5231 Make list_push and list_remove functions rather than inline functions
5232 to decrease size and avoid aliasing violations.
5233
5234 * include/grub/list.h (grub_list_push): Move to ...
5235 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
5236 * include/grub/list.h (grub_list_remove): Move to ...
5237 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
5238
5239 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
5242 and -Wunused-result.
5243
5244 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
5245
5246 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
5247 Reported by: Seth Goldberg
5248
5249 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
5252
5253 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
5254
5255 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
5256 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
5257 command line.
5258 * docs/grub.texi (Simple configuration): Document
5259 GRUB_CMDLINE_GNUMACH.
5260
5261 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
5262
5263 * conf/Makefile.common (platform_SCRIPTS): New variable.
5264 (platform_PROGRAMS): Likewise.
5265 * gentpl.py: Mark *,module and *.image for install.
5266 * grub-core/gdb_grub.in: Add a notice of expected environment.
5267 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
5268 (gmodule.pl): Likewise.
5269
5270 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
5271
5272 Replace grub_checkkey with grub_getkey_noblock.
5273
5274 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
5275 (grub_getkey_noblock): ... this. All users updated.
5276
5277 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
5278
5279 * grub-core/kern/emu/console.c: Move to ...
5280 * grub-core/term/emu/console.c: ...here.
5281 (grub_ncurses_getkey): Fix return value if no key is detected.
5282
5283 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
5286 (grub_unit_test_fini): Likewise.
5287 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
5288
5289 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * include/grub/test.h (GRUB_UNIT_TEST)
5292
5293 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 * grub-core/script/execute.c (grub_script_break): Clarify logic.
5296 Better error handling.
5297 (grub_script_return): Likewise.
5298 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
5299
5300 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5301
5302 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
5303 rimplicit redifinition.
5304
5305 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
5308 GRUB.
5309
5310 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5311
5312 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
5313 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
5314 prompt here.
5315
5316 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
5319 as GRUB_ERR_BUG. Don't malloc if no device is available.
5320
5321 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
5324 Mark calling with invalid term as GRUB_ERR_BUG.
5325
5326 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
5329 packets rather than raising an error.
5330
5331 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
5334 in if.
5335
5336 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
5339 diagnostic to dprintf.
5340 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5341
5342 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
5345 device name.
5346
5347 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
5350 (grub_ntfs_iterate_dir): Likewise.
5351
5352 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 Efiemu stylistic fixes and gettext.
5355
5356 * grub-core/efiemu/i386/loadcore32.c
5357 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
5358 * grub-core/efiemu/i386/loadcore64.c
5359 (grub_arch_efiemu_relocate_symbols64): Likewise.
5360 * grub-core/efiemu/i386/pc/cfgtables.c
5361 (grub_machine_efiemu_init_tables): Likewise.
5362 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
5363 (grub_efiemu_loadcore_initXX): Add a filename argument.
5364 All users updated.
5365 Improved error message.
5366 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
5367 Add a filename argument.
5368 All users updated.
5369 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
5370 Reclassify double relocation as GRUB_ERR_BUG.
5371
5372 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5373
5374 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
5375 handling.
5376
5377 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
5380 on partition.
5381
5382 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5383
5384 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
5385
5386 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5387
5388 Improve string. Gettextize.
5389
5390 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
5393 utils.
5394 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
5395
5396 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5397
5398 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
5399 [GRUB_UTIL]: New function.
5400 (insert_array) [GRUB_UTIL]: Store partmaps.
5401 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
5402 partmaps.
5403 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
5404 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
5405 (probe_abstraction): Print diskfilter and not raid.
5406 Reported by: Lennart Sorensen
5407
5408 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
5411 * util/grub-mkimagexx.c (MASK3): New define.
5412 (add_value_to_slot_20b): Use MASK3.
5413 (add_value_to_slot_21): Likewise.
5414 (relocate_addresses): Fix format specification.
5415 (load_image): Explicitly init symtab_section.
5416
5417 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5418
5419 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
5420 (grub_util_biosdisk_get_grub_dev): Fix format specification.
5421
5422 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
5425 on powerpc.
5426 Reported by: Lennart Sorensen
5427
5428 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 * gentpl.py: Add missing license header.
5431 * docs/grub.texi: Update copyright year.
5432
5433 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
5434
5435 Source grub-mkconfig_lib from the build directory at build time.
5436 Suggested by: Vladimir Serbinenko.
5437
5438 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
5439 * util/grub-install.in: Define pkgdatadir if not already set, and source
5440 grub-mkconfig_lib from there.
5441 * util/grub-kbdcomp.in: Likewise.
5442 * util/grub-mkconfig.in: Likewise.
5443 * util/grub-mknetdir.in: Likewise.
5444 * util/grub-mkrescue.in: Likewise.
5445 * util/grub-mkstandalone.in: Likewise.
5446 * util/grub-reboot.in: Likewise.
5447 * util/grub-set-default.in: Likewise.
5448 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5449
5450 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5451
5452 Increase warning level.
5453
5454 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
5455 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
5456 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
5457 (TARGET_CFLAGS): Likewise.
5458 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
5459 * grub-core/Makefile.core.def (decompressor_xz): Add
5460 -Wno-unreachable-code.
5461 (normal): Add -Wno-redundant-decls.
5462 (xzio): Add -Wno-unreachable-code.
5463 (lzopio): Add -Wno-redundant-decls -Wno-error.
5464 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
5465 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
5466 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
5467 * grub-core/kern/dl.c: Add exception to -Wcast-align.
5468 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
5469 * grub-core/kern/i386/coreboot/init.c: Add exception to
5470 -Wsuggest-attribute=noreturn.
5471 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
5472 * grub-core/kern/ia64/dl_helper.c: Likewise.
5473 * grub-core/kern/mips/dl.c: Likewise.
5474 * grub-core/kern/sparc64/dl.c: Likewise.
5475 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
5476 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
5477 (memcmp): Likewise.
5478 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
5479 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
5480 * grub-core/loader/mips/linux.c: Likewise.
5481 * grub-core/loader/multiboot_elfxx.c: Likewise.
5482 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
5483 * grub-core/video/sm712.c: Add exception to -Wcast-align.
5484 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
5485 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
5486 fixme.
5487 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
5488 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
5489 Fix prototype.
5490
5491 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5492
5493 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
5494 address.
5495
5496 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
5499 Avoid improper use of strings.
5500 (grub_cmd_legacy_initrdnounzip): Likewise.
5501
5502 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5503
5504 * include/grub/emu/misc.h (grub_util_warn): Add missing format
5505 attribute.
5506 (grub_util_info): Likewise.
5507 (grub_util_error): Likewise.
5508
5509 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
5512 * util/grub-fstest.c (fstest): Likewise.
5513
5514 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5515
5516 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
5517 (grub_md_sha512_real): Likewise.
5518 (grub_util_get_geli_uuid): Likewise.
5519 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
5520 (grub_util_biosdisk_open): Fix format specification.
5521 Respect format security.
5522 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
5523 (xrealloc): Likewise.
5524 (xasprintf): Likewise.
5525
5526 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5527
5528 * util/import_gcry.py: Include grub/crypto.h in init.c.
5529
5530 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5531
5532 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
5533 (generate_image): Make prefix a const char *.
5534 Fix format specifications. Respect format security.
5535 Avoid void * arithmetics.
5536 Avoid shadowing.
5537 (argp_parser): Remove unused variable. Respect format security.
5538 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
5539 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
5540 (count_funcs): Remove unused variable.
5541 (relocate_addresses): Fix format specification.
5542 Disable x86-64 with elf32. Remove unused variables.
5543 (add_fixup_entry): Avoid shadowing.
5544 (make_reloc_section): Fix format specification.
5545 Use assert.
5546 (locate_sections): Fix format specifications.
5547 (load_image): Avoid shadowing.
5548
5549 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5550
5551 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
5552 Fix format specifications. Respect format security.
5553 Don't translate already translated grub_errmsg.
5554 (argp_parser): Remove unused variable
5555
5556 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5557
5558 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
5559
5560 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5561
5562 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
5563 (main): Likewise. Use xmalloc. Respect format security.
5564
5565 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
5568 a const char *.
5569 (argp_parser): Remove unused variable.
5570
5571 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5572
5573 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
5574 (add_pixel): Make static.
5575 (add_font): Likewise.
5576 (write_string_section): Make name and str a const char *.
5577 (write_be16_section): Make name a const char *.
5578 (print_glyphs): Make static.
5579 (write_font_ascii_bitmap): Likewise.
5580 (write_font_width_spec): Likewise.
5581 (write_font_pf2): Likewise.
5582 (argp_parser): Remove unused variable.
5583 Respect format security.
5584 (main): Avoid shadowing. Respect format security.
5585
5586 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5587
5588 * util/grub-editenv.c (argp_parser): Make static.
5589 (create_envblk_file): Use xmalloc.
5590 (open_envblk_file): Likewise.
5591 Resepect format security.
5592 (set_variables): Respect format security.
5593
5594 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5595
5596 * util/getroot.c (grub_find_device): Respect format security.
5597 (get_mdadm_uuid): Remove unused variable.
5598 (grub_util_pull_device): Dont call gettext on already translated
5599 grub_errmsg.
5600 (find_system_device): Remove unused variable.
5601 (grub_util_get_grub_dev): Likewise.
5602 (grub_make_system_path_relative_to_its_root): Respect format security.
5603
5604 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5605
5606 * util/grub-fstest.c (execute_command): Make first argument
5607 a const char *.
5608 (read_file): Avoid shadowing.
5609 Reuse underlying error message if device open fails.
5610 (cmd_cmp): Respect format security.
5611 (root): Make const char *.
5612 (fstest): Remove args argument and use global copy.
5613 Respect format security.
5614 (argp_parser): Make static.
5615 (main): Make default_root const char *.
5616
5617 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5618
5619 * util/grub-mount.c (root): Make const char *.
5620 (execute_command): Make first argument a const char *.
5621 (fuse_init): Respect format security.
5622 (argp_parser): Make static. Remove unused variable.
5623 (main): Make default_root a const char *.
5624 Respect format security.
5625
5626 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 * util/grub-probe.c (probe): Don't call gettext on already translated
5629 grub_errmsg.
5630 Remove unused variables.
5631 (argp_parser): Remove unused variable.
5632
5633 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5634
5635 * util/grub-script-check.c (argp_parser): Remove unused variable.
5636 (main): Rename read to curread to avoid shadowing.
5637
5638 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 * util/misc.c (grub_util_write_image_at): Fix format specification.
5641 (grub_util_write_image): Likewise.
5642 (grub_script_execute_argument_to_string): Removed (unused).
5643 (grub_script_execute_menuentry): Likewise.
5644 (grub_putchar): Likewise.
5645
5646 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
5649 (FUNCTION) [GRUB_UTIL]: Likewise.
5650 (VARIABLE) [GRUB_UTIL]: Likewise.
5651
5652 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5653
5654 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
5655 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
5656
5657 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5658
5659 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
5660 buffer.
5661
5662 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5663
5664 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
5665 (LzmaEnc_SaveState): Removed (unused).
5666 (LzmaEnc_RestoreState): Likewise.
5667 (LzmaEnc_InitPriceTables): Made static.
5668 (LzmaEnc_Construct): Likewise.
5669 (LzmaEnc_FreeLits): Likewise.
5670 (LzmaEnc_Destruct): Likewise.
5671 (LzmaEnc_Init): Likewise.
5672 (LzmaEnc_InitPrices): Likewise.
5673 (LzmaEnc_Finish): Likewise.
5674 (LzmaEnc_PrepareForLzma2): Removed (unused).
5675 (LzmaEnc_MemPrepare): Likewise.
5676 (LzmaEnc_GetNumAvailableBytes): Likewise.
5677 (LzmaEnc_GetCurBuf): Likewise.
5678 (LzmaEnc_CodeOneMemBlock): Likewise.
5679
5680 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
5683 (grub_util_ldm_embed): Likewise.
5684
5685 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 * util/grub-editenv.c (print_var): Rename name to varname to
5688 avoid shadowing.
5689 (main): Rename index to curindex to avoid shadowing.
5690 Make filename a const char *.
5691
5692 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5693
5694 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5695 to arg_getline to avoid shadowing.
5696
5697 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
5700 disk_ to avoid shadowing.
5701
5702 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5703
5704 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
5705 curindex to avoid shadowing.
5706 Make static.
5707 (MatchFinder_GetNumAvailableBytes): Make static.
5708
5709 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5710
5711 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
5712 avoid shadowing.
5713
5714 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5715
5716 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
5717 argument from encrypt to do_encrypt to avoid shadowing.
5718
5719 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5720
5721 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
5722 incorrect nesting of #if's.
5723
5724 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5725
5726 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
5727 checks which are always false on some platforms.
5728 (grub_cmd_lsacpi): Likewise.
5729 * grub-core/kern/misc.c (grub_strtoul): Likewise.
5730 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
5731 Likewise.
5732
5733 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5734
5735 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
5736 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
5737
5738 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5739
5740 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
5741 re_dfa_t to avoid breaking alignment invariants.
5742 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
5743 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
5744
5745 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5746
5747 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
5748 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
5749
5750 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5751
5752 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
5753 Fix declaration.
5754
5755 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5756
5757 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
5758 conserve alignment invariants.
5759 (grub_ehci_ehcc_read16): Likewise.
5760 (grub_ehci_oper_read32): Likewise.
5761 (grub_ehci_oper_write32): Likewise.
5762 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5763 Conserve alignment invariants.
5764
5765 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5766
5767 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
5768 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
5769 declarations.
5770
5771 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
5774 Remove unused variable.
5775
5776 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5777
5778 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
5779 Remove set in if.
5780
5781 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 * include/grub/net.h: Remove double declarations.
5784
5785 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5786
5787 Remove "payload" command in ia64 Linux loader since I couldn't
5788 find any evidence of it being used for anything.
5789 Replace "relocate" command with an environment variable
5790
5791 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
5792 fields.
5793 (ia64_boot_payload): Removed.
5794 (last_payload): Likewise.
5795 (RELOCATE_OFF): Likewise.
5796 (RELOCATE_ON): Likewise.
5797 (RELOCATE_FORCE): Likewise.
5798 (relocate): Likewise.
5799 (free_pages): Don't free payloads.
5800 (grub_load_elf64): Use common error messages.
5801 Use "linux_relocate" variable.
5802 Increase the space after boot_params.
5803 (grub_cmd_payload): Removed.
5804 (grub_cmd_relocate): Likewise.
5805 (grub_cmd_fpswa): Improve messages.
5806 (cmd_payload): Removed.
5807 (cmd_relocate): Likewise.
5808 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
5809 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
5810
5811 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5812
5813 Convert UHCI to DMA framework.
5814
5815 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
5816 (grub_uhci_pci_iter): Fill new members
5817 (grub_alloc_td): Use P2V and V2P functions.
5818 (grub_free_queue): Likewise.
5819 (grub_alloc_qh): Likewise.
5820 (grub_uhci_setup_transfer): Likewise.
5821 (grub_uhci_check_transfer): Likewise.
5822
5823 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5824
5825 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
5826 Remove assignment in if while on it.
5827
5828 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5829
5830 * util/grub-mkstandalone.in: Fix modules directory.
5831
5832 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5833
5834 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
5835 on i386-pc target.
5836 (argp_parser): Accept "auto" as compression specification.
5837
5838 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5839
5840 Fix `help' with unloaded modules.
5841
5842 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
5843 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
5844 (grub_dyncmd_dispatcher): Small stylistic fix.
5845 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
5846 explicit help is requested.
5847
5848 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
5851 Explicitly init restart while on it.
5852
5853 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
5856 uninited variable.
5857
5858 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 * util/grub-mknetdir.in: Use . rather than source for POSIX
5861 compatibility.
5862
5863 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5864
5865 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
5866
5867 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5868
5869 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
5870 variable.
5871
5872 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5873
5874 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
5875 without quotes.
5876
5877 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5878
5879 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
5880
5881 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5882
5883 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
5884 iteration of partitions.
5885
5886 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5887
5888 Improve gettext support. Stylistic fixes and error handling fixes while
5889 on it.
5890
5891 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5892
5893 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
5894 part. Instead setup the correct stack in RM.
5895 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
5896 for stack.
5897 * include/grub/i386/relocator_private.h: New file.
5898
5899 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
5902 argument.
5903 * util/grub-fstest.c (options): Add missing DEVICE part.
5904
5905 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5906
5907 Clarify and unify messages.
5908
5909 * grub-core/commands/hashsum.c (options): Unify messages.
5910 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
5911 literal-only message as translatable.
5912 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
5913 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
5914 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
5915 commands.
5916 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
5917 key, not the key used to unlock. Clarify what it's used for.
5918 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
5919 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
5920 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
5921 * util/grub-editenv.c (options): Unify "verbose" message.
5922 * util/grub-fstest.c (read_file): Unify error message.
5923 (fstest): Add quotes around commands.
5924 (options): Unify "verbose" message.
5925 * util/grub-install.in: Add quotes around variable name.
5926 * util/grub-kbdcomp.in: Unify error message.
5927 * util/grub-mkfont.c (main): Likewise.
5928 * util/grub-mkrescue.in: Likewise.
5929 * util/grub-mklayout.c (options): Unify "verbose" message.
5930 * util/grub-mkstandalone.in: Unify help and verbose messages.
5931 * util/grub-mount.c (options): Unify "verbose" message.
5932 * util/grub-probe.c (options): Likewise.
5933 * util/grub-script-check.c (options): Likewise.
5934 * util/grub-setup.c (setup): Unify no-terminator message.
5935 (options): Use DEVICE and not DEV.
5936 Unify "verbose" message.
5937 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
5938
5939 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5940
5941 Improve and unify messages.
5942
5943 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
5944 name. All users updated.
5945 Print filename in error.
5946 (read_device_map): Print filename in error.
5947 * util/getroot.c (grub_guess_root_devices): Print filename in error.
5948 (grub_util_get_os_disk): Likewise.
5949 (grub_util_biosdisk_get_grub_dev): Likewise.
5950 (grub_util_check_block_device): Likewise.
5951 (grub_util_check_char_device): Likewise.
5952 (grub_make_system_path_relative_to_its_root): Likewise.
5953 * util/grub-editenv.c (create_envblk_file): Likewise.
5954 (open_envblk_file): Likewise.
5955 (write_envblk): Likewise.
5956 * util/grub-fstest.c (cmd_cp): Likewise.
5957 (cmd_cat): Likewise.
5958 (cmd_cmp): Likewise.
5959 * util/grub-menulst2cfg.c (main): Likewise.
5960 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
5961 (write_font_width_spec): Likewise.
5962 (write_font_pf2): Likewise.
5963 * util/grub-mkimage.c (generate_image): New argument outname.
5964 All users updated.
5965 Remove unreacheable message.
5966 (options): Unify messages.
5967 (help_filter): Likewise.
5968 * util/grub-mklayout.c (usage): Removed (unused).
5969 (main): Print filename in error.
5970 * util/grub-mkrescue.in: Fix wrong quoting.
5971 * util/grub-setup.c (setup): Print filename in error.
5972 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
5973 (check_sas): Likewise.
5974 * util/misc.c (grub_util_get_fp_size): Removed.
5975 (grub_util_get_image_size): Print filename in error.
5976 (grub_util_read_at): Removed.
5977 (grub_util_read_image): Print filename in error.
5978 (grub_util_load_image): Likewise.
5979 (grub_util_write_image_at): New argument filename. All users updated.
5980 Print filename in error.
5981 (grub_util_write_image): New argument filename. All users updated.
5982 Print filename in error.
5983 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
5984 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
5985
5986 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5987
5988 * grub-core/Makefile.core.def (pxechain): New module.
5989 * grub-core/loader/i386/pc/pxechainloader.c: New file.
5990 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
5991 function.
5992 (grub_pc_net_config_real): Use grub_pxe_get_cached.
5993 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
5994
5995 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5996
5997 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
5998 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
5999 * include/grub/err.h (grub_error_saved): New struct.
6000 (grub_errmsg): Make array size explicit.
6001 * include/grub/misc.h (grub_error_save): New function.
6002 (grub_error_load): Likewise.
6003 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
6004 (grub_error_push): Update `errno' member name.
6005 (grub_error_pop): Likewise
6006 * grub-core/net/tftp.c (tftp_data): New member save_err.
6007 (tftp_receive): Save error.
6008 (tftp_open): Restore error.
6009
6010 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
6013 to real mode down to execute A20-related code in protected mode as
6014 intended.
6015
6016 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6017
6018 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
6019 NULL when the argument `level' has an unexpected value.
6020
6021 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6022
6023 Move platform-dependent files from $prefix to $prefix/$platform.
6024
6025 * config.h.in (GRUB_TARGET_CPU): New definition.
6026 (GRUB_PLATFORM): Likewise.
6027 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
6028 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
6029 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
6030 * grub-core/kern/dl.c (grub_dl_load): Likewise.
6031 * grub-core/normal/autofs.c (read_fs_list): Likewise.
6032 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
6033 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
6034 * grub-core/normal/term.c (read_terminal_list): Likewise.
6035 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
6036 $prefix/locale.
6037 (grub_gettext_init_ext): Likewise.
6038 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
6039 grub_platform.
6040 * util/grub-install.in: Update directories.
6041 * util/grub-mknetdir.in: Likewise.
6042 * util/grub-mkrescue.in: Likewise.
6043
6044 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
6047 grub_error framework. All users updated.
6048
6049 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
6052 lists (by always binsearching), improve caching (cache strings
6053 used for binsearch, not only results), improve
6054 maintainability (by using more structured binary search) and correct
6055 error handling.
6056
6057 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6058
6059 * grub-core/script/execute.c (grub_script_return): Fix warning.
6060
6061 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6062
6063 * grub-core/script/execute.c (grub_script_return): Fix potential
6064 NULL-dereference.
6065 Reported by: Jim Meyering.
6066
6067 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6068
6069 * po/POTFILES.in: Regenerate.
6070 * util/grub-install.in: Gettextize the strings missed in first pass.
6071
6072 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 * Makefile.util.def (grub-mkdevicemap): Removed.
6075 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
6076 * include/grub/util/deviceiter.h: Removed.
6077 * util/deviceiter.c: Likewise.
6078 * util/getroot.c (grub_util_get_os_disk): New function.
6079 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
6080 replacement for EFI.
6081 * util/grub-mkdevicemap.c: Removed.
6082 * util/grub-probe.c (probe): Handle PRINT_DISK.
6083 (argp_parser): Handle -t disk.
6084
6085 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 * util/grub-mkfont.c: Migrate to argp.
6088 * util/grub-mklayout.c: Likewise.
6089 * util/grub-mkpasswd-pbkdf2.c: Likewise.
6090 * util/grub-mkrelpath.c: Likewise.
6091 * util/grub-probe.c: Likewise.
6092 * util/grub-script-check.c: Likewise.
6093
6094 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6095
6096 * util/grub-reboot.in: Add missing datarootdir.
6097 Add missing newline.
6098 * util/grub-set-default.in: Add missing datarootdir.
6099 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
6100 * util/grub-mkrescue.in: Likewise.
6101
6102 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6103
6104 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
6105
6106 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 * util/grub-kbdcomp.in: Add decent help and gettextize.
6109 * docs/man/grub-kbdcomp.h2m: New file.
6110
6111 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 Migrate grub-mkimage.c to argp.
6114
6115 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
6116 (grub-setup): Likewise.
6117 * util/grub-setup.c (print_version): Move to ...
6118 * util/argp_common.c (print_version): ... here.
6119 * util/grub-setup.c (argp_program_version_hook): Move to ...
6120 * util/argp_common.c (argp_program_version_hook): ... here.
6121 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
6122 safety.
6123 * util/grub-mkimage.c (main): Migrate to argp.
6124
6125 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 * util/grub-mkrescue.in: Use same message as
6128 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
6129 for better translations.
6130
6131 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6132
6133 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
6134 options with generic grub-mkrescue.in with the goal of future
6135 merge.
6136
6137 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 * grub-core/kern/mm.c: Add missing include of i18n.h
6140 * grub-core/lib/relocator.c: Likewise.
6141
6142 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
6145 error.
6146 (allocate_pages): Check return value.
6147 Replace fatal with error.
6148 (grub_linux_boot): Replace printf with dprintf.
6149 Check find_mmap_size return value.
6150 Replace fatal with error.
6151 Don't call grub_machine_fini.
6152 (grub_load_elf64): Replace printf with dprintf.
6153 (grub_cmd_linux): Likewise.
6154 (grub_cmd_initrd): Likewise.
6155 (grub_cmd_payload): Likewise.
6156
6157 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
6160 message.
6161 * grub-core/video/radeon_fuloong2e.c
6162 (grub_video_radeon_fuloong2e_setup): Likewise.
6163 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
6164 * grub-core/video/video.c (grub_video_set_mode): Don't override
6165 standard out of memory message.
6166
6167 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6168
6169 NetBSD disk wedge support.
6170
6171 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
6172 [__NetBSD__]: Handle NetBSD disk wedges.
6173 * util/getroot.c (convert_system_partition_to_system_disk)
6174 [__NetBSD__]: Likewise.
6175
6176 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
6177
6178 * util/grub-mkconfig.in: Use umask rather than chmod to create
6179 grub.cfg.new to avoid insecure grub.cfg.
6180
6181 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6182
6183 * grub-core/commands/ls.c: Gettextize.
6184 * grub-core/commands/setpci.c: Likewise.
6185 * grub-core/commands/videotest.c: Likewise.
6186 * grub-core/disk/geli.c: Likewise.
6187 * grub-core/kern/mm.c: Likewise.
6188 * grub-core/lib/relocator.c: Likewise.
6189 * grub-core/loader/efi/appleloader.c: Likewise.
6190 * grub-core/loader/i386/xnu.c: Likewise.
6191 * grub-core/loader/ia64/efi/linux.c: Likewise.
6192 * grub-core/loader/xnu.c: Likewise.
6193 * grub-core/net/dns.c: Likewise.
6194 * grub-core/net/net.c: Likewise.
6195 * grub-core/script/lexer.c: Likewise.
6196 * grub-core/script/parser.y: Likewise.
6197 * grub-core/script/yylex.l: Likewise.
6198 * util/getroot.c: Likewise.
6199 * util/grub-setup.c: Likewise.
6200
6201 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
6204 number.
6205
6206 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6207
6208 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
6209
6210 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6211
6212 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
6213 macro.
6214 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
6215 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
6216
6217 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6218
6219 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
6220 * util/grub-install.in: Gettextize.
6221 * util/grub-mkconfig.in: Likewise.
6222 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
6223 if not available.
6224 (grub_warn): Gettextize.
6225 * util/grub-mknetdir.in: Gettextize.
6226 * util/grub-mkrescue.in: Likewise.
6227 * util/grub-mkstandalone.in: Likewise.
6228 * util/grub-reboot.in: Likewise.
6229 * util/grub-set-default.in: Likewise.
6230 * util/grub.d/00_header.in: Likewise.
6231 * util/grub.d/10_hurd.in: Likewise.
6232 * util/grub.d/10_kfreebsd.in: Likewise.
6233 * util/grub.d/10_linux.in: Likewise.
6234 * util/grub.d/10_netbsd.in: Likewise.
6235 * util/grub.d/10_windows.in: Likewise.
6236 * util/grub.d/20_linux_xen.in: Likewise.
6237 * util/grub.d/30_os-prober.in: Likewise.
6238 * po/POTFILES-shell.in: Regenerate.
6239
6240 2012-02-03 Richard Laager <rlaager@wiktel.com>
6241
6242 * util/grub-mkimage.c (main): Fix format-security warning.
6243 * util/grub-mkrelpath.c (main): Likewise.
6244 * util/grub-probe.c (main): Likewise.
6245
6246 2012-02-03 Richard Laager <rlaager@wiktel.com>
6247
6248 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
6249 failure.
6250 Put back lost PRINT_DRIVE.
6251
6252 2012-02-03 Richard Laager <rlaager@wiktel.com>
6253
6254 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
6255 (grub_guess_root_devices): Replace strlen with sizeof.
6256 Avoid crash.
6257 (find_root_devices_from_poolname): Remove unused variable.
6258 Handle raidzN.
6259
6260 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6261
6262 Support install on multi-device filesystems.
6263
6264 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
6265 (grub_guess_root_devices): ...this. Return char **. All users updated.
6266 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
6267 Removed.
6268 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
6269 (find_root_devices_from_poolname): ... here.
6270 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
6271 Support zfs-fuse.
6272 (grub_guess_root_device): Rename to ...
6273 (grub_guess_root_devices): ... this. Return char **. All users updated.
6274 * util/grub-install.in: Handle multi-device filesystems.
6275 * util/grub-probe.c (probe). Make device_names a char **. Add delim
6276 argument. All users updated.
6277 Handle multi-device filesystems.
6278 Use 'delim' as separator.
6279 Remove device check to allow filesystems on file.
6280 (main): Support -0 argument. Handle multi-device.
6281 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
6282 Fix a cross-device check while on it.
6283 (arguments): Remove root_dev.
6284 (argp_parser): Remove -r.
6285 (main): Remove root_dev.
6286
6287 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6288
6289 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
6290
6291 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6292
6293 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
6294 symbol.
6295 Reported by: NODA, Kai <nodakai>.
6296
6297 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6298
6299 Fix ehci on amd64.
6300
6301 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
6302 pointers.
6303 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
6304 (grub_ehci_setup_qh): Likewise.
6305 (grub_ehci_find_qh): Likewise.
6306 (grub_ehci_transaction): Likewise.
6307 (grub_ehci_setup_transfer): Likewise.
6308 (grub_ehci_check_transfer): Likewise.
6309 (grub_ehci_portstatus): Likewise.
6310 (grub_ehci_detect_dev): Likewise.
6311 (grub_ehci_transfer_controller_data): New field td_last_phys.
6312 (grub_ehci_setup_transfer): Fill td_last_phys.
6313 (grub_ehci_check_transfer): Use td_last_phys.
6314
6315 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
6316
6317 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
6318 if no submenu is present.
6319
6320 2012-02-01 Aleš Nesrsta <starous@volny.cz>
6321
6322 CBI support.
6323
6324 * include/grub/usb.h (grub_usbms_protocol_t): New values
6325 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
6326 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
6327 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
6328 (grub_usbms_dev): Add subclass, protocol and intrpt.
6329 Remove in_maxsz and out_maxsz.
6330 (grub_usbms_reset): Rename to ...
6331 (grub_usbms_bo_reset): .. this.
6332 (grub_usbms_cbi_cmd): New function.
6333 (grub_usbms_cbi_reset): Likewise.
6334 (grub_usbms_reset): Likewise.
6335 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
6336 (grub_usbms_transfer): Rename to ...
6337 (grub_usbms_transfer_bo): ... this.
6338 (grub_usbms_transfer_cbi): Likewise.
6339 (grub_usbms_transfer): Likewise.
6340
6341 2012-02-01 Aleš Nesrsta <starous@volny.cz>
6342 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
6345 the support for the CS5536 modification thereos and few bugfixes.
6346
6347 * grub-core/Makefile.core.def (ehci): New module.
6348 * grub-core/bus/usb/ehci.c: New file.
6349 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
6350 port and hubaddr. All users updated.
6351 Save port and hubaddr into dev structure.
6352 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
6353 define.
6354 * include/grub/pci.h (grub_dma_phys2virt): New function.
6355 (grub_dma_virt2phys): Likewise.
6356 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
6357
6358 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6359
6360 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
6361 check as some mkfs implementations omit it.
6362
6363 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 * docs/grub.texi (Unicode): Mention identifier and space limitations.
6366
6367 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
6370 Add new member volname2.
6371 (grub_jfs_label): Use volname2 if available.
6372
6373 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6374
6375 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
6376 over last_mounted as seen in image generated by mkfs.nilfs2.
6377 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
6378
6379 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6380
6381 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
6382 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
6383 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
6384
6385 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
6388 over the sector.
6389
6390 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6391
6392 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
6393 subvolume name (by removing a bogus and useless check).
6394
6395 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6396
6397 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
6398 sizeof while on it.
6399
6400 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6401
6402 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
6403 (grub_scsi_read_capacity10): ... this.
6404 (grub_scsi_read_capacity16): New function.
6405 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
6406 0xffffffff.
6407 Fix off-by-one error.
6408 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
6409 64-bit unsigned.
6410 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
6411 (grub_scsi_read_capacity10): ... this.
6412 (grub_scsi_read_capacity_data): Rename to ...
6413 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
6414 (grub_scsi_read_capacity16): New struct.
6415 (grub_scsi_read_capacity16_data): Likewise.
6416 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
6417 grub_scsi_cmd_read_capacity10.
6418 New command grub_scsi_cmd_read_capacity16.
6419
6420 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6421
6422 SCSI >2TiB support.
6423
6424 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
6425 (grub_scsi_write16): Likewise.
6426 (grub_scsi_read): Use read16 when necessary.
6427 (grub_scsi_write): Likewise.
6428 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
6429 (grub_scsi_write16): Likewise.
6430 (grub_scsi_cmd_t): Add READ16 and WRITE16.
6431
6432 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6433
6434 SCSI write support (for usbms mainly).
6435
6436 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
6437 a const pointer.
6438 (grub_scsi_write): Implement.
6439 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
6440
6441 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
6444 variable.
6445
6446 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6447
6448 * grub-core/lib/posix_wrap/string.h (memchr): New function.
6449
6450 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6451
6452 * po/POTFILES.in: Regenerate.
6453
6454 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6455
6456 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
6457 with grub_printf to avoid unnecessary fatal failure.
6458
6459 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
6462 (INT_MAX): Likewise.
6463 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
6464 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
6465 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
6466 (strcpy): Likewise.
6467 (strstr): Likewise.
6468 (strchr): Likewise.
6469 (strncpy): Likewise.
6470 (strcat): Likewise.
6471 (strncat): Likewise.
6472 (strcoll): Likewise.
6473 * include/grub/types.h (GRUB_SHRT_MAX): New define.
6474 (GRUB_INT_MAX): Likewise.
6475
6476 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6477
6478 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
6479 unexpected error.
6480 (optimize_utf8): Likewise.
6481 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
6482
6483 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6484
6485 * grub-core/boot/i386/pc/lnxboot.S: Use
6486 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
6487 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
6488 location.
6489 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
6490 definition.
6491 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
6492
6493 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6494
6495 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
6496 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
6497 now to avoid double free.
6498 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
6499 hostdisk.
6500 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
6501 * util/grub-probe.c (escape_of_path): Always return a new copy.
6502 (print_full_name): Escape path.
6503 (probe): Don't call grub_util_devname_to_ofpath on NULL.
6504 Fix hints on abstractions.
6505
6506 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6507
6508 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
6509 Don't add "root" line if no compatibility hont is available.
6510 Suggested by: Seth Goldberg.
6511
6512 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6513
6514 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
6515 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
6516 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
6517 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
6518
6519 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6520
6521 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
6522
6523 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6524
6525 * util/grub-pe2elf.c (ehdr): Make static.
6526 (shdr): Likewise.
6527 (num_sections): Likewise.
6528 (offset): Likewise.
6529
6530 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 Eliminate ofpath limits and possible overflows.
6533
6534 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
6535 (OF_PATH_MAX): Removed.
6536 (MAX_DISK_CAT): New const.
6537 (find_obppath): Use allocated rather than preallocated buffer.
6538 Return result. Argument of_path removed. All users updated.
6539 Add missing fdstat.
6540 (xrealpath): New function.
6541 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
6542 Allocate rather than use preallocated buffer. All users updated.
6543 (__of_path_common): Use allocated rather than preallocatecd buffer.
6544 Return result. Argument of_path removed. All users updated.
6545 (vendor_is_ATA): Read only needed part form the file.
6546 (check_sas): Allocate depending on contents rather than fixed.
6547 (main) [STANDALONE]: Handle NULL result.
6548
6549 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6550
6551 * grub-core/normal/completion.c (iterate_dev): Close the disk.
6552
6553 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6554
6555 Cryptodisk write support.
6556
6557 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
6558 (grub_cryptodisk_decrypt): Moved logic to ...
6559 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
6560 (grub_cryptodisk_write): Implement.
6561 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
6562 (grub_util_fd_write): ... this. Make global.
6563 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
6564
6565 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 * include/grub/list.h (grub_list_remove): Don't crash if element is
6568 removed twice.
6569
6570 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 Rename ofconsole to console.
6573
6574 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
6575 as sysnonym to console.
6576 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
6577 * grub-core/term/ieee1275/console.c: ... this. All users updated.
6578 Rename grub_ofconsole_ to grub_console_. All users updated
6579 (grub_console_term_output): Rename "ofconsole" to "console".
6580 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
6581 as "console".
6582
6583 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
6586 handling.
6587 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
6588 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
6589 GRUB_DISK_DEVICE_FILE_ID.
6590
6591 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6592
6593 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
6594 and improve performance.
6595
6596 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6597
6598 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
6599 missing ieee1275/ prefix on whole disk.
6600
6601 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6602
6603 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
6604 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
6605
6606 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6607
6608 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
6609
6610 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 Merge common RAID and LVM logic to an abstract diskfilter.
6613 Add LDM support using the same framework.
6614
6615 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
6616 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
6617 (libgrubmods): Remove grub-core/disk/raid.c and
6618 grub-core/partmap/gpt.c.
6619 * grub-core/Makefile.core.def (ldm): New module.
6620 (raid): Renamed to diskfilter. All users updated.
6621 * grub-core/disk/raid.c: Moved to ...
6622 * grub-core/disk/diskfilter.c: ... here.
6623 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
6624 (lv_num): New var.
6625 (find_array): Renamed to ...
6626 (find_lv): ... this. Support multi-LV. Skip nameless LVs
6627 (grub_is_array_readable): Renamed to ...
6628 (grub_is_lv_readable): ... this. Support multinode hierarchy.
6629 (insert_array): New argument id.
6630 (is_node_readable): New function.
6631 (scan_device): Rename to ...
6632 (scan_disk): .. this. Restrict to one disk.
6633 (scan_devices): New function.
6634 (grub_diskfilter_iterate): Support multi-LV.
6635 Skip invisible and nameless LVs.
6636 (grub_diskfilter_memberlist): Support multi-LV.
6637 (grub_diskfilter_read_node): New function.
6638 (grub_raid_read): Most of logic moved to ...
6639 (read_segment): ... here
6640 (read_lv): New function.
6641 (grub_diskfilter_get_vg_by_uuid): New function.
6642 (grub_diskfilter_make_raid): Likewise.
6643 * grub-core/disk/ldm.c: New file.
6644 * grub-core/disk/lvm.c (vg_list): Removed.
6645 (lv_count): Likewise.
6646 (scan_depth): Likewise.
6647 (is_lv_readable): Likewise.
6648 (grub_lvm_getvalue): Advance pointer past the number.
6649 (find_lv): Removed.
6650 (do_lvm_scan): Refactored into ...
6651 (grub_lvm_detect): ... this. Support raid.
6652 (grub_lvm_iterate): Removed.
6653 (grub_lvm_memberlist): Likewise.
6654 (grub_lvm_open): Likewise.
6655 (grub_lvm_close): Likewise.
6656 (read_lv): Likewise.
6657 (read_node): Likewise.
6658 (is_node_readable): Likewise.
6659 (is_lv_readable): Likewise.
6660 (grub_lvm_read): Likewise.
6661 (grub_lvm_write): Likewise.
6662 (grub_lvm_dev): Use diskfilter
6663 (GRUB_MOD_INIT): Likewise.
6664 (GRUB_MOD_FINI): Likewise.
6665 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
6666 new interface.
6667 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
6668 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6669 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
6670 grub_diskfilter_read_node.
6671 Fix a bug with xor.
6672 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
6673 grub_diskfilter_read_node.
6674 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
6675 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
6676 (grub_disk_dev_iterate): Move from here...
6677 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
6678 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
6679 Make global.
6680 (grub_hostdisk_find_partition_start): Likewise.
6681 (grub_hostdisk_os_dev_to_grub_drive): New function.
6682 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
6683 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
6684 * util/getroot.c (make_device_name): ... here.
6685 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
6686 Move to ...
6687 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
6688 * grub-core/kern/emu/hostdisk.c
6689 (convert_system_partition_to_system_disk): Move to ...
6690 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
6691 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
6692 * util/getroot.c (device_is_wholedisk): ... here.
6693 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
6694 * util/getroot.c (find_system_device): ... here.
6695 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
6696 Move to ...
6697 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
6698 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
6699 Move to ...
6700 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
6701 Handle LDM.
6702 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6703 Move to ...
6704 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
6705 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
6706 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
6707 DISKFILTER.
6708 * include/grub/raid.h: Renamed to ...
6709 * include/grub/diskfilter.h: ... this.
6710 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
6711 (GRUB_RAID_LAYOUT_*): Make into array.
6712 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
6713 (grub_diskfilter_vg): New struct.
6714 (grub_diskfilter_pv_id): Likewise.
6715 (grub_raid_member): Removed.
6716 (grub_raid_array): Likewise.
6717 (grub_diskfilter_pv): New struct.
6718 (grub_diskfilter_lv): Likewise.
6719 (grub_diskfilter_segment): Likewise.
6720 (grub_diskfilter_node): Likewise.
6721 (grub_diskfilter_get_vg_by_uuid): New proto.
6722 (grub_raid_register): Inline.
6723 (grub_diskfilter_unregister): Likewise.
6724 (grub_diskfilter_make_raid): New proto.
6725 (grub_diskfilter_vg_register): Likewise.
6726 (grub_diskfilter_read_node): Likewise.
6727 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
6728 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
6729 (grub_util_is_ldm): Likewise.
6730 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
6731 (grub_hostdisk_find_partition_start): Likewise.
6732 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
6733 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
6734 New definition.
6735 (grub_gpt_partition_map_iterate): New proto.
6736 * include/grub/lvm.h (grub_lvm_vg): Removed.
6737 (grub_lvm_pv): Likewise.
6738 (grub_lvm_lv): Likewise.
6739 (grub_lvm_segment): Likewise.
6740 (grub_lvm_node): Likewise.
6741 * util/getroot.c [...]
6742 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
6743 (probe_abstraction): Likewise.
6744 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
6745 (main): Remove dead logic.
6746
6747 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
6748
6749 Simplify root device discover and don't fail when trying to open
6750 incorrect devices.
6751
6752 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
6753 function.
6754 (get_diskname_from_path): Likewise.
6755 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
6756 of iterating.
6757
6758 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6759
6760 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
6761
6762 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6763
6764 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
6765 pastthe end.
6766
6767 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 * util/grub-install.in: Add missing \.
6770 Reported by: gentoofan
6771
6772 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6773
6774 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
6775 (direct_read): Use correct compressed size.
6776 (grub_squash_read_data): Likewise.
6777
6778 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6779
6780 * docs/grub.texi (Platform limitations): New section.
6781 (Platform-specific operations): Likewise.
6782 * docs/grub-dev.texi (Porting): Likewise.
6783
6784 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 IEEE1275 disk write support.
6787
6788 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
6789 const void *.
6790 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
6791 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
6792 and seek loginc to ...
6793 (grub_ofdisk_prepare): ... here.
6794 (grub_ofdisk_write): Implement.
6795
6796 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 ARC disk write support.
6799
6800 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
6801 (reopen): New argument writable. All users updated.
6802 Handle required access mode.
6803 (grub_arcdisk_write): Implement.
6804 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
6805 (grub_arc_firmware_vector): Make buffer to write a const buffer.
6806
6807 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6808
6809 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
6810 (read_sblock): Don't attempt to read superblocks outside the disk size.
6811
6812 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6813
6814 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
6815 first superblock to find the second one when possible.
6816
6817 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 * util/grub-install.in: Fix an ARC bug.
6820 Print a warning if no platform-specific setup is available.
6821
6822 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6823
6824 Use static allocation rather than scratch pointer in reed_solomon.
6825 It decreases its size significantly and avoids a variable in .text.
6826
6827 * grub-core/lib/reed_solomon.c (scratch): Removed.
6828 (chosenstat): New const or static array.
6829 (sigma): Likewise.
6830 (errpot): Likewise.
6831 (errpos): Likewise.
6832 (sy): Likewise.
6833 (mstat): Likewise.
6834 (errvals): Likewise.
6835 (eqstat): Likewise.
6836 (pol_evaluate): Replace x with log_x argument. All users updated.
6837 (syndroms): Removed.
6838 (gauss_solve): Use statically allocated arrays.
6839 (rs_recover): Likewise.
6840 Calculate syndroms directly.
6841 (decode_block): Use statically allocated arrays.
6842 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
6843 (main) [TEST]: Allow -DTEST -DSTANDALONE.
6844
6845 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6846
6847 Eliminate fixed limit on reed solomon decoder length.
6848
6849 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
6850 rather than hardcoding the address.
6851 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
6852 no_reed_solomon_length.
6853 Move gate_a20 to no-reed-solomon part.
6854 Don't force a particular size of no reed-solomon part.
6855 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6856 Removed.
6857 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
6858 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
6859
6860 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6861
6862 * grub-core/commands/wildcard.c (match_files): Handle filenames
6863 without explicit device.
6864 (wildcard_expand): Don't add explicit device if not already present.
6865 * tests/grub_script_echo1.in: Add a new expansion test.
6866
6867 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6868
6869 Replace single-linked with double-linked lists. It results in more
6870 compact and more efficient code.
6871
6872 * grub-core/kern/list.c (grub_list_push): Moved from here ...
6873 * include/grub/list.h (grub_list_push): ... to here. Set prev.
6874 (grub_list_remove): Moved from here ...
6875 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
6876 (grub_prio_list_insert): Set prev.
6877 * include/grub/list.h (grub_list): Add prev. All users updated.
6878
6879 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 Handle newer autotools. Add some missing quotes while on it.
6882
6883 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
6884 (pkglib_DATA): Move grub-mkconfig_lib from here ...
6885 (pkgdata_DATA): ... here.
6886 * Makefile.util.def (update-grub_lib): Removed.
6887 * conf/Makefile.common (pkglib_DATA): Removed.
6888 (pkglib_SCRIPTS): Likewise.
6889 (pkgdata_DATA): New variable.
6890 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
6891 needed.
6892 Add missing quotes.
6893 Remove unused variable while on it.
6894 * tests/util/grub-shell.in: Likewise.
6895 * util/grub-install.in: Likewise.
6896 * util/grub-mkconfig.in: Likewise.
6897 * util/grub-mknetdir.in: Likewise.
6898 * util/grub-mkrescue.in: Likewise.
6899 * util/grub-mkstandalone.in: Likewise.
6900 * util/grub.d/00_header.in: Likewise.
6901 * util/grub.d/10_hurd.in: Likewise.
6902 * util/grub.d/10_illumos.in: Likewise.
6903 * util/grub.d/10_kfreebsd.in: Likewise.
6904 * util/grub.d/10_linux.in: Likewise.
6905 * util/grub.d/10_netbsd.in: Likewise.
6906 * util/grub.d/10_windows.in: Likewise.
6907 * util/grub.d/20_linux_xen.in: Likewise.
6908 * util/grub.d/30_os-prober.in: Likewise.
6909 * util/update-grub_lib.in: Removed.
6910
6911 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
6912
6913 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
6914 a workaround for intel problem.
6915
6916 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
6917 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6918 2012-01-23 pfsmorigo
6919
6920 * util/grub-install.in: Support dd'in into PreP partition.
6921 * util/grub-probe.c (probe): Support discovering partition type.
6922 (main): Support -t msdos_parttype.
6923
6924 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
6927 infinite recursion using counter.
6928 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
6929 init to skip it if the magic check fails.
6930 (dec_stream_header): Init s->crc32.
6931
6932 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6933 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
6934 2012-01-22 Richard Laager <rlaager@wiktel.com>
6935
6936 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
6937 All users updated.
6938 (find_bestub): Determine correct size.
6939 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
6940 (scan_disk): Align the size down.
6941 Call check pool before find_bestub to have ashift.
6942
6943 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
6946 dprintf in no-malloc zone.
6947
6948 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
6949
6950 * configure.ac: Add back in test for limits.h.
6951
6952 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 Support 4K-sector NTFS.
6955
6956 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
6957 (grub_ntfs_data): Remove blocksize.
6958 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
6959 Remove data argument. All users updated.
6960
6961 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6962
6963 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
6964 being in .text to avoid dprel references.
6965 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
6966 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
6967 (grub_arch_highmemsize): Likewise.
6968 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
6969 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
6970 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
6971
6972 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
6975
6976 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
6977 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
6978
6979 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6980
6981 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
6982 GRUB_UTIL.
6983 (grub_set_datetime_cmos): Likewise.
6984
6985 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 Make XZ compression parameters dependent on target and not host CPU.
6988
6989 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
6990 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
6991
6992 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6993
6994 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
6995 set but not used variable.
6996
6997 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6998
6999 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
7000 created when no uuid support is compiled into mkfs.reiser.
7001
7002 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7003
7004 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
7005 (utf8_to_macroman): Do the opposite.
7006 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
7007
7008 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 * configure.ac: Refise build qemu_mips w/o unifont.
7011
7012 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7013
7014 Eliminate grub_min/grub_max prone to overflow usage.
7015
7016 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
7017 (poll_nonroot_hub): Likewise.
7018 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
7019 (grub_affs_label): Likewise.
7020 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
7021 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
7022 (grub_hfs_label): Likewise.
7023 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
7024 * grub-core/fs/zfs/zfs.c (MIN): Remove.
7025 (zap_leaf_array_equal): Use grub_size. Remove MIN.
7026 (zap_leaf_array_get): Likewise.
7027 (dnode_get_path): Likewise.
7028 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
7029 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
7030 * grub-core/script/execute.c (grub_script_break): Likewise.
7031 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
7032 grub_max.
7033 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
7034 * include/grub/misc.h (grub_min): Removed.
7035 (grub_max): Likewise.
7036
7037 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7038
7039 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
7040 direct.inode = 0.
7041
7042 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7043
7044 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
7045
7046 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7047
7048 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
7049
7050 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7051
7052 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
7053 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
7054
7055 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
7058 rather than a hack for grub_strncasemap.
7059
7060 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7061
7062 Support multiple initrds
7063 Note: part of this was accidently committed in r3739.
7064
7065 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
7066 initrd.
7067 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
7068 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
7069 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7070 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7071 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7072
7073 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7074
7075 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
7076 disks with unknown size.
7077 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
7078
7079 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 Remove defines pertaining to arbitrary limits not affecting GRUB
7082 anymore.
7083
7084 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
7085 (EXT2_MAX_SYMLINKCNT): Likewise.
7086 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
7087 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
7088 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
7089 (GRUB_PXE_MAX_BLKSIZE): Likewise.
7090 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
7091 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
7092 (DN_MAX_OBJECT_SHIFT): Likewise.
7093 (DN_MAX_OFFSET_SHIFT): Likewise.
7094 (DN_MAX_OBJECT): Likewise.
7095 (DNODES_PER_LEVEL_SHIFT): Likewise.
7096 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
7097 (SPA_MAXBLOCKSIZE): Likewise.
7098 (SPA_BLOCKSIZES): Likewise.
7099 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
7100 (MZAP_MAX_BLKSZ): Likewise.
7101
7102 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7103
7104 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
7105 handle NULL appropriately.
7106 Remove MIN.
7107
7108 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 Fix efiemu.
7111
7112 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
7113 cpu/types.h.
7114 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
7115 * configure.ac: Fix efiemu check.
7116
7117 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
7120 grub_probe.
7121 Reported by: adamwill
7122
7123 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
7124
7125 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
7126
7127 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7128
7129 Fix handling of wide characters in gfxterm.
7130
7131 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
7132 (clear_char): Likewise.
7133 (paint_char): Skip code == NULL chars.
7134 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
7135
7136 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7137
7138 * grub-core/normal/charset.c: Move comment to right place.
7139
7140 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7141
7142 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
7143 (GRUB_AFFS_FLAG_FFS): Put back where it was.
7144 (grub_affs_mount): Revert the correct version checking.
7145
7146 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7147
7148 * docs/grub.texi (Unicode): Mention several other unsupported features.
7149
7150 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7151
7152 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
7153 case statements as compile-time one.
7154 (direct_read): Prevent spurious warnings.
7155 (grub_squash_read_data): Likewise.
7156
7157 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7158
7159 Various squash4 fixes and LZO and XZ support.
7160
7161 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
7162 Add xzembed source files.
7163 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
7164 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
7165 (grub_squash_inode): New subtype long_dir.
7166 (SQUASH_TYPE_LONG_DIR): New inode type.
7167 (COMPRESSION): New enum.
7168 (XZBUFSIZ): New const.
7169 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
7170 (read_chunk): Use data->decompress.
7171 (zlib_decompress): New function.
7172 (lzo_decompress): Likewise.
7173 (xz_decompress): Likewise.
7174 (squash_mount): Set new data fields.
7175 (grub_squash_iterate_dir): Handle long dir.
7176 (squash_unmount): Free xzdec and xzbuf.
7177 (grub_squash_open): Check ino type.
7178 (direct_read): Stylistic fixes. Use data->decompress.
7179 (grub_squash_read_data): Likewise.
7180 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
7181 (get_byte): Likewise.
7182 (grub_zlib_disk_read): Removed.
7183 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
7184 (GRUB_POSIX_BOOL_DEFINED): New define.
7185 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
7186 * grub-core/lib/xzembed/xz.h: Addmissing includes.
7187 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
7188 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
7189
7190 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7191
7192 Don't override more informative errors.
7193
7194 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
7195 * grub-core/font/font.c (open_section): Likewise.
7196 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
7197 filename. Don't override errors.
7198 (grub_cmd_openbsd_ramdisk): Don't override errors.
7199 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
7200 (grub_cmd_initrd): Likewise.
7201 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7202 (grub_cmd_initrd): Likewise.
7203 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
7204 (grub_cmd_linux): Likewise.
7205 (grub_cmd_initrd): Likewise.
7206 (grub_cmd_payload): Likewise.
7207 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7208 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
7209 (grub_cmd_module): Likewise.
7210 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7211 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7212 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
7213 (grub_cmd_xnu_mkext): Likewise.
7214 (grub_cmd_xnu_ramdisk): Likewise.
7215 (grub_xnu_check_os_bundle_required): Likewise.
7216 (grub_xnu_load_kext_from_dir): Likewise.
7217 (grub_cmd_xnu_kextdir): Likewise.
7218 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
7219
7220 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
7223 as 1024 in block size field. Found on one of my test images.
7224 Small optimisation while on it.
7225
7226 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7227
7228 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
7229 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
7230 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
7231 performance fixes while on it.
7232 (grub_sfs_close): Fix memory leak while on it.
7233 (grub_sfs_label): Convert Latin1 to UTF-8.
7234
7235 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7236
7237 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
7238 space to avoid overflows.
7239 (grub_hfs_label): Convert from macroman to UTF-8.
7240
7241 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7242
7243 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
7244
7245 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
7248
7249 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 * unicode: Import Unicode 6.0 data.
7252
7253 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7254
7255 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
7256 outside of range.
7257
7258 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7259
7260 Avoid cutting in the middle of UTF-8 character.
7261
7262 * include/grub/charset.h (grub_getend): New function.
7263 * grub-core/script/function.c (grub_script_function_find): Use
7264 grub_getend.
7265 * grub-core/normal/completion.c (add_completion): Likewise.
7266
7267 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7268
7269 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
7270 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
7271 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
7272 (GRUB_UNICODE_TAG_END): Likewise.
7273 (GRUB_UNICODE_LAST_VALID): Likewise.
7274
7275 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7276
7277 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
7278 len and make it smaller. All users updated.
7279 * util/import_unicode.py: Put length and not end character.
7280 Check length.
7281
7282 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7283
7284 Make better Unicode-compliant and unify some UTF-8 code pathes.
7285
7286 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
7287 valid character.
7288 (grub_is_valid_utf8): Use grub_utf8_process.
7289 Check resulting code range.
7290 (grub_utf8_to_ucs4): Use grub_utf8_process.
7291 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
7292 valid character.
7293
7294 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
7297
7298 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7299
7300 * docs/grub.texi (Filesystems): Mention AFS.
7301
7302 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7303
7304 * docs/grub.texi (Filesystems): Clarify restrictions.
7305 (Regexp): Mention non-Unicode regexp behaviour.
7306 (Other): Mention non-Unicode matching behaviour.
7307
7308 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7309
7310 Make HFS implementation use MacRoman.
7311
7312 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
7313 (macroman): New const array.
7314 (macroman_to_utf8): New function.
7315 (utf8_to_macroman): Likewise.
7316 (grub_hfs_find_dir): Use utf8_to_macroman.
7317 (grub_hfs_dir): Use macroman_to_utf8.
7318 Set case_insensitive.
7319
7320 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7321
7322 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
7323
7324 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7325
7326 Integrate hints into autogeneration scripts.
7327
7328 * docs/grub.texi (Filesystems): Add a hostdisk example.
7329 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
7330 (grub-probe): Add ofpath.
7331 * gentpl.py: Remove group nosparc64.
7332 * grub-core/commands/search.c (cache_entry): New struct.
7333 (cache): New var.
7334 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
7335 * grub-core/commands/search_wrap.c (options): Add platform-specific
7336 hint options.
7337 (grub_cmd_search): Handle platform-specific hints.
7338 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
7339 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
7340 (grub_util_biosdisk_data): Likewise.
7341 (grub_util_biosdisk_open): Set device_map.
7342 (read_device_map): Handle "" as indication of no map.
7343 Set device_map.
7344 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
7345 (grub_util_biosdisk_get_compatibility_hint): New function.
7346 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
7347 * include/grub/emu/hostdisk.h
7348 (grub_util_biosdisk_get_compatibility_hint): New proto.
7349 * util/grub-install.in: Don't call grub-mkdevicemap.
7350 Add platform-specific hint to load.cfg.
7351 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
7352 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
7353 hints. Set root preliminary to compatibility hint, not to OS name.
7354 * util/grub-probe.c (PRINT_*): Add hints.
7355 (print): Make static.
7356 (escape_of_path): New function.
7357 (guess_bios_drive): Likewise.
7358 (guess_efi_drive): Likewise.
7359 (guess_baremetal_drive): Likewise.
7360 (print_full_name): Likewise.
7361 (probe): Handle hints.
7362 (main): Likewise.
7363 * util/ieee1275/devicemap.c: Removed.
7364 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
7365 updated.
7366 (grub_util_devname_to_ofpath): Return NULL on failure.
7367
7368 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
7369 resource leak.
7370 * util/getroot.c (grub_util_pull_device): Fix memory leak.
7371
7372 * po/POTFILES.in: Regenerated.
7373
7374 Allow purely long options
7375
7376 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
7377 (SHORT_ARG_USAGE): Likewise.
7378 (grub_arg_show_help): Compare opt with help_options.
7379 (parse_option): Receive opt as argument. If makes big simplificatons.
7380 All users updated
7381
7382 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7383
7384 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
7385 Restructure to avoid warning.
7386
7387 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7388
7389 * util/grub-install.in: Account for possible escaped comma in device
7390 name.
7391
7392 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7393
7394 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
7395 channel.
7396
7397 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7398
7399 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
7400 allocation and zero-setting.
7401 (grub_ieee1275_get_devname): Check that alias is complete.
7402
7403 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
7406 unaligned segments.
7407
7408 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
7411 prefix.
7412 (grub_ofdisk_open): Check and discard ieee1275 prefix.
7413 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7414 Add ieee1275 prefix.
7415
7416 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7417
7418 * docs/grub.texi (Filesystems): Update.
7419
7420 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7421
7422 Support odc, newc and bigendian cpio formats.
7423
7424 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
7425 * grub-core/Makefile.core.def (newc): New module.
7426 (odc): Likewise.
7427 (cpio_be): Likewise.
7428 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
7429 (MAGIC): Likewise.
7430 (MAGIC2): Likewise.
7431 (head) [MODE_ODC]: Adapt for the format.
7432 (head) [MODE_NEWC]: Likewise.
7433 (head) [!MODE_*]: Write fields of interest as arrays.
7434 (MAGIC_USTAR): Removed.
7435 (read_number) [MODE_NEWC]: Change to hex.
7436 (read_number) [!MODE_*]: Parse binary arrays.
7437 (grub_cpio_find_file): Factor out the code for better structure and
7438 always use read_number.
7439 (grub_cpio_mount): Use MAGIC and MAGIC2.
7440 (grub_cpio_dir): Exit on first hook non-0 return.
7441 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
7442 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
7443 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
7444 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
7445 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
7446 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
7447 * grub-core/fs/newc.c: New file.
7448 * grub-core/fs/odc.c: Likewise.
7449 * grub-core/fs/cpio_be.c: Likewise.
7450
7451 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 Fix handling of tar numbers occupying the whole field.
7454
7455 * grub-core/fs/cpio.c (read_number): New function.
7456 (grub_cpio_find_file): Use read_number instead of strtoull.
7457
7458 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7459
7460 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
7461 occupying the whole field size.
7462
7463 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
7464
7465 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
7466
7467 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7468
7469 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
7470
7471 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
7472
7473 * grub-core/Makefile.core.def (lzma_decompress): Add missing
7474 TARGET_IMG_LDFLAGS.
7475
7476 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7477
7478 * util/getroot.c (ESCAPED_PATH_MAX): New define.
7479 (mountinfo_entry): Increase the field size to take escaping into
7480 account.
7481 (find_root_device_from_libzfs): Add one byte to size of strings for
7482 security.
7483
7484 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
7487 an assert.
7488 * util/grub-setup.c (setup): Likewise.
7489
7490 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7491
7492 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
7493 _LzmaDecodeA.
7494
7495 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7496
7497 * docs/grub.texi (Internationalisation): New section.
7498
7499 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7500
7501 * docs/grub.texi (Loopback booting): New section.
7502
7503 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
7504
7505 * util/grub-mkstandalone.in: Fix minor typo errors.
7506
7507 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7508
7509 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
7510
7511 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
7512 net/icmp.c and net/icmp6.c.
7513 (http): New module.
7514 (priority_queue): Likewise.
7515 * grub-core/io/bufio.c: Rewritten.
7516 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
7517 TYPE_WITH_CONFIGFILE_OPTION.
7518 (legacy_commands): Add bootp and dhcp.
7519 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
7520 (grub_legacy_parse): Likewise.
7521 * grub-core/lib/priority_queue.c: New file.
7522 * grub-core/net/arp.c: Add missing license header.
7523 (arp_find_entry): Removed.
7524 (arp_find_entry): Likewise.
7525 (grub_net_arp_resolve): Rename to ...
7526 (grub_net_arp_send_request): ...this.
7527 (grub_net_arp_receive): New card argument.
7528 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
7529 Set router and DNS server.
7530 (grub_net_configure_by_dhcp_ack): Handle routing information.
7531 (grub_cmd_bootp): Set checksum.
7532 (grub_bootp_init): Remove net_dhcp.
7533 * grub-core/net/dns.c: New file.
7534 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
7535 completion.
7536 (get_card_packet): Handle allocation.
7537 (grub_efinet_findcards): Set mtu.
7538 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
7539 (get_card_packet): Handle allocation.
7540 (emucard): Set mtu.
7541 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
7542 (GRUB_MOD_INIT): Set mtu.
7543 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
7544 mtu.
7545 (get_card_packet): Handle allocation.
7546 (grub_ofnet_findcards): Set mtu.
7547 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
7548 assert.
7549 (grub_net_recv_ethernet_packet): Handle IPv6.
7550 * grub-core/net/http.c: New file.
7551 * grub-core/net/icmp.c: Likewise.
7552 * grub-core/net/icmp6.c: Likewise.
7553 * grub-core/net/ip.c (ip6addr): New type.
7554 (ip6hdr): Likewise.
7555 (reassemble): Likewise.
7556 (cmp): New function.
7557 (reassembles): New variable.
7558 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
7559 (id): New variable.
7560 (send_fragmented): New function.
7561 (grub_net_send_ip_packet): Rename to ...
7562 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
7563 Handle non-UDP.
7564 (grub_net_recv_ip_packets): Rename to ...
7565 (handle_dgram): ... this. Check checksum. Handle non-UDP.
7566 (free_rsm): New function.
7567 (free_old_fragments): Likewise.
7568 (grub_net_recv_ip4_packets): New function.
7569 (grub_net_send_ip6_packet): Likewise.
7570 (grub_net_send_ip_packet): Likewise.
7571 (grub_net_recv_ip6_packets): Likewise.
7572 (grub_net_recv_ip_packets): Likewise.
7573 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
7574 (LINK_LAYER_CACHE_SIZE): New const.
7575 (link_layer_find_entry): New function.
7576 (grub_net_link_layer_add_address): Likewise.
7577 (grub_net_link_layer_resolve_check): Likewise.
7578 (grub_net_link_layer_resolve): Likewise.
7579 (grub_net_ipv6_get_slaac): Likewise.
7580 (grub_net_ipv6_get_link_local): Likewise.
7581 (grub_cmd_ipv6_autoconf): Likewise.
7582 (parse_ip): Handle one number representation.
7583 (parse_ip6): New functoion.
7584 (match_net): Handle IPv6.
7585 (grub_net_resolve_address): Handle IPv6 and DNS.
7586 (grub_net_resolve_net_address): Handle IPv6.
7587 (route_cmp): New function.
7588 (grub_net_route_address): Find best route.
7589 (grub_net_addr_to_str): Handle IPv6.
7590 (grub_net_addr_cmp): New function.
7591 (grub_net_add_addr): Register local route.
7592 (print_net_address): Handle net address.
7593 (grub_net_poll_cards): Retransmit TCP.
7594 (grub_net_poll_cards_idle_real): Likewise.
7595 (have_ahead): New function.
7596 (grub_net_seek_real): Use underlying seek.
7597 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
7598 * grub-core/net/tcp.c: New file.
7599 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
7600 (cmp): New function.
7601 (ack): Likewise.
7602 (tftp_receive): Handle unordered input.
7603 (destroy_pq): New function.
7604 (tftp_close): Close pq.
7605 * grub-core/net/udp.c: Put missing license header.
7606 (grub_net_udp_socket): New function.
7607 (udp_socket_register): Likewise.
7608 (grub_net_udp_close): Likewise.
7609 (grub_net_recv_udp_packet): Check checksum.
7610 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
7611 * include/grub/misc.h (grub_memchr): New function.
7612 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
7613 (grub_net_card_driver): Return buf in recv.
7614 (grub_net_slaac_mac_list): New struct.
7615 (grub_network_level_protocol_id): Add ipv6.
7616 (grub_net_network_level_addr): Likewise.
7617 (grub_net_network_level_net_addr): Likewise.
7618 (grub_net_app_protocol): Add seek.
7619 (grub_net_socket): Removed.
7620 (grub_net_sockets): Likewise.
7621 (grub_net_socket_register): Likewise.
7622 (grub_net_socket_unregister): Likewise.
7623 (FOR_NET_SOCKETS): Likewise.
7624 (grub_net_add_addr): Add const.
7625 (GRUB_NET_BOOTP_*): New enum.
7626 (grub_net_addr_cmp): New proto.
7627 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
7628 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
7629 (grub_net_hwaddr_to_str): NEw proto.
7630 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
7631 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
7632 (grub_dns_init): New proto.
7633 (grub_dns_fini): Likewise.
7634 (grub_net_tcp_retransmit): Likewise.
7635 (grub_net_link_layer_add_address): Likewise.
7636 (grub_net_link_layer_resolve_check): Likewise.
7637 (grub_net_link_layer_resolve): Likewise.
7638 (grub_net_dns_lookup): Likewise.
7639 (grub_net_add_dns_server): Likewise.
7640 (grub_net_remove_dns_server): Likewise.
7641 (GRUB_NET_TRIES): New const.
7642 (GRUB_NET_INTERVAL): Likewise.
7643 * include/grub/net/arp.h: Mostly rewritten.
7644 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
7645 * include/grub/net/ip.h: Mostly rewritten.
7646 * include/grub/net/netbuff.h: Indent.
7647 * include/grub/net/tcp.h: New file.
7648 * include/grub/net/udp.h: Mostly rewritten.
7649 * include/grub/priority_queue.h: New file.
7650 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
7651 (grub_swap_bytes64_compile_time): Likewise.
7652 (grub_cpu_to_be16_compile_time): Likewise.
7653 (grub_cpu_to_be32_compile_time): Likewise.
7654 (grub_cpu_to_be64_compile_time): Likewise.
7655 (grub_be_to_cpu64_compile_time): Likewise.
7656
7657 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
7660 UINT_TO_PTR with cast.
7661
7662 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
7665 don't use them.
7666
7667 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7668
7669 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
7670 already there.
7671
7672 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7673
7674 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
7675 confusing ipxe.
7676
7677 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7678
7679 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
7680 Add missing const attribute.
7681 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
7682 Likewise.
7683 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
7684 Likewise.
7685
7686 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7687
7688 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
7689 misaligned access.
7690 (serpent_setkey): Likewise.
7691 (serpent_encrypt_internal): Likewise.
7692 (serpent_decrypt_internal): Likewise.
7693 (serpent_encrypt): Don't put an alignment-increasing cast.
7694 (serpent_decrypt): Likewise.
7695 (serpent_test): Likewise.
7696
7697 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
7700
7701 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7702
7703 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
7704
7705 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
7706 grub_addr_t casts.
7707 (PTR_TO_UINT64): Likewise.
7708 (PTR_TO_UINT32): Likewise.
7709
7710 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 * util/grub-mkimage.c (generate_image): Decrease the higher limit
7713 because of stack.
7714 * util/grub-setup.c (setup): Don't add redundancy past the higher load
7715 limit.
7716
7717 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
7720 text_width > available width a bit more gracefully.
7721
7722 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7723
7724 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
7725 current address calculation.
7726
7727 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
7730 stack.
7731 (encode_block): Likewise.
7732
7733 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7734
7735 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
7736 certainety.
7737
7738 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7739
7740 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
7741 non-RS part to avoid RS messing with GDT.
7742 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
7743 Increase to suit in realmode routines.
7744
7745 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * grub-core/kern/i386/realmode.S: Increase alignment.
7748 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
7749
7750 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7751
7752 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
7753 be deterministic.
7754 (syndroms): Compute 0 syndrom.
7755 (rs_recover): Use 0 syndrom.
7756
7757 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7758
7759 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
7760
7761 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7762
7763 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
7764 brackets.
7765
7766 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7767
7768 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
7769 account.
7770 (get_top_pad): Likewise.
7771 (get_right_pad): Likewise.
7772 (get_bottom_pad): Likewise.
7773
7774 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7775
7776 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
7777
7778 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7779
7780 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
7781 attribute as the structure isn't guaranteed to be properly aligned.
7782 (grub_efi_pci_device_path): Likewise.
7783 (grub_efi_pccard_device_path): Likewise.
7784 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
7785 specify the size of `memory_type'.
7786 (grub_efi_vendor_device_path): Likewise.
7787 (grub_efi_controller_device_path): Likewise.
7788 (grub_efi_acpi_device_path): Likewise.
7789 (grub_efi_expanded_acpi_device_path): Likewise.
7790 (grub_efi_atapi_device_path): Likewise.
7791 (grub_efi_scsi_device_path): Likewise.
7792 (grub_efi_fibre_channel_device_path): Likewise.
7793 (grub_efi_1394_device_path): Likewise.
7794 (grub_efi_usb_device_path): Likewise.
7795 (grub_efi_usb_class_device_path): Likewise.
7796 (grub_efi_i2o_device_path): Likewise.
7797 (grub_efi_mac_address_device_path): Likewise.
7798 (grub_efi_ipv4_device_path): Likewise.
7799 (grub_efi_ipv6_device_path): Likewise.
7800 (grub_efi_infiniband_device_path): Likewise.
7801 (grub_efi_uart_device_path): Likewise.
7802 (grub_efi_vendor_messaging_device_path): Likewise.
7803 (grub_efi_hard_drive_device_path): Likewise.
7804 (grub_efi_cdrom_device_path): Likewise.
7805 (grub_efi_vendor_media_device_path): Likewise.
7806 (grub_efi_file_path_device_path): Likewise.
7807 (grub_efi_protocol_device_path): Likewise.
7808 (grub_efi_piwg_device_path): Likewise.
7809 (grub_efi_bios_device_path): Likewise.
7810
7811 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7812
7813 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
7814 (grub_ucs4_to_utf8_alloc): Likewise.
7815 (grub_ucs4_to_utf8): Likewise.
7816 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
7817 (grub_ucs4_to_utf8_alloc): Likewise.
7818
7819 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7820
7821 AFFS never uses unicode.
7822
7823 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
7824 (grub_latin1_to_utf8): New inline function.
7825 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
7826
7827 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7828
7829 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
7830 overflow.
7831
7832 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7833
7834 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
7835 (grub_squash_dirent_header): Likewise.
7836 (read_chunk): Don't double swap.
7837 (grub_squash_iterate_dir): Fix swap sizes.
7838
7839 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7840
7841 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
7842
7843 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7844
7845 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
7846 (grub_hfs_iterate_dir): Likewise.
7847
7848 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 Fix video on platforms where unaligned access is forbidden.
7851 Make several optimisations while on it.
7852
7853 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
7854 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7855 (grub_video_fbblit_replace_32bit_1bit): Likewise.
7856 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7857 Disable.
7858 (grub_video_fbblit_replace_16bit_1bit):
7859 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7860 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7861 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
7862 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
7863 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7864 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7865 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
7866 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
7867 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
7868 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
7869 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
7870 (grub_video_fbblit_replace_index_RGB888): Likewise.
7871 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
7872 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
7873 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
7874 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
7875 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
7876 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7877 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7878 Disable.
7879 (grub_video_fbblit_blend_XXX565_1bit):
7880 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7881 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
7882 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
7883 void *.
7884 * grub-core/video/fb/video_fb.c (common_blitter)
7885 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
7886 (grub_video_fb_create_render_target_from_pointer)
7887 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
7888 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
7889 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
7890 definition.
7891 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
7892
7893 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7894
7895 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
7896 HH22 and HM10 relocations.
7897
7898 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7899
7900 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
7901
7902 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7903
7904 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
7905 allocation succeeded.
7906
7907 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7908
7909 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
7910 argument a u8 pointer. All users updated.
7911 Handle unaligned buffers.
7912
7913 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7914
7915 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
7916 add_part to workaround compiler bug.
7917
7918 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7919
7920 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
7921
7922 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7923
7924 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
7925 Reserve alignment invariants.
7926 (grub_multiboot_load): Likewise.
7927 (retrieve_video_parameters): Likewise.
7928 (grub_multiboot_make_mbi): Likewise.
7929
7930 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7931
7932 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
7933 incorrect pointer.
7934
7935 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7936
7937 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
7938 (grub_pata_pio_write): Likewise.
7939
7940 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7941
7942 Add noreturn attributes and remove unreachable code.
7943
7944 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
7945 code.
7946 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
7947 code. Mark as noreturn.
7948 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
7949 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
7950 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
7951 unreachable code.
7952 * grub-core/kern/main.c (grub_main): Mark as noreturn.
7953 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
7954 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
7955 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
7956 * include/grub/kernel.h (grub_main): Mark as noreturn.
7957 * include/grub/reader.h (grub_rescue_run): Likewise.
7958
7959 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
7962 redundant declaration.
7963
7964 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7965
7966 * include/grub/net.h (grub_net_network_level_interfaces): Remove
7967 redundant declaration.
7968 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
7969
7970 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7971
7972 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
7973 to ensure alignment.
7974 (grub_hdparm_print_identify): Make argument uint16 * to ensure
7975 alignment. Ensure tmp alignment.
7976 (grub_cmd_hdparm): Ensure buf alignment.
7977 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
7978 to ensure alignment.
7979 (grub_ata_dumpinfo): Ensure text alignment.
7980 (grub_atapi_identify): Preserve alignment invariant.
7981 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
7982
7983 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
7986 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
7987 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
7988 * include/grub/misc.h (grub_reboot)
7989 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
7990 (grub_halt) [__mips__]: Likewise.
7991
7992 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7993
7994 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
7995 Remove redundant declaration.
7996 (grub_mmap_get_post64): Likewise.
7997 (grub_mmap_get_upper): Likewise.
7998 (grub_mmap_get_lower): Likewise.
7999
8000 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8001
8002 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
8003 uint32_t * to ensure alignment.
8004 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
8005
8006 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8007
8008 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
8009 uint16_t * to ensure alignment.
8010 (sun_pc_partition_map_iterate): Make `block' a union to ensure
8011 alignment.
8012
8013 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8014
8015 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
8016 to ensure alignment.
8017 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
8018
8019 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8020
8021 * grub-core/fs/ntfs.c (u16at): Make into inline function.
8022 Handle unaligned pointers.
8023 (u32at): Likewise.
8024 (u64at): Likewise.
8025 (fixup): Use byte access instead of v16at.
8026 (find_attr): Fix imporper usage of v32at.
8027 (read_data): Likewise.
8028 (list_file): Handle byte-swapping and unaligned strings.
8029 (grub_ntfs_label): Likewise.
8030
8031 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
8034 as it's not necessarily aligned.
8035
8036 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
8039 redundant declaration.
8040 (grub_serial_init): Likewise.
8041 (grub_terminfo_init): Likewise.
8042
8043 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8044
8045 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
8046 function.
8047 (ZAP_HASH_IDX): Likewise.
8048 (ZAP_LEAF_HASH_SHIFT): Likewise.
8049 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
8050 (LEAF_HASH): Likewise.
8051 (ZAP_LEAF_NUMCHUNKS): Likewise.
8052 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
8053 alignment invariants. Return pointer. All users updated.
8054 (ZAP_LEAF_ENTRY): Make into inline function.
8055 (NBBY): Removed.
8056 (xor): LIkewise.
8057 (xor_out): Use grub_crypto_xor.
8058 (dnode_get_path): Use grub_get_unaligned.
8059 (nvlist_find_value): Likewise.
8060 (grub_zfs_nvlist_lookup_uint64): Likewise.
8061 (grub_zfs_nvlist_lookup_string): Likewise.
8062 (get_nvlist_size): Likewise.
8063 (grub_zfs_open): Likewise.
8064 (fill_fs_info): Likewise.
8065 (grub_zfs_dir): Likewise.
8066 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
8067 alignment invariants.
8068 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
8069 necessarily aligned.
8070
8071 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8072
8073 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
8074
8075 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8076
8077 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
8078 arithmetic to conserve alignment invariants.
8079
8080 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8081
8082 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
8083 redundant declaration.
8084 (grub_efiemu_mm_obtain_request): Likewise.
8085 (grub_efiemu_prepare): Likewise.
8086
8087 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8088
8089 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
8090 to match types.
8091
8092 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8093
8094 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
8095 case of aunaligned recptr.
8096 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
8097 alignment.
8098 (grub_hfsplus_btree_search): Handle unaligned index.
8099
8100 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8101
8102 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
8103 to get freetag and skip.
8104
8105 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
8108 array.
8109 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
8110 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
8111
8112 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
8115 name for checksum and fix allocation algorithm.
8116
8117 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8118
8119 * include/grub/types.h (grub_properly_aligned_t): New type.
8120 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
8121 (grub_get_unaligned16): Add explicit casts.
8122 (grub_get_unaligned32): Likewise.
8123 (grub_get_unaligned64): Likewise.
8124 (grub_set_unaligned16): New function.
8125 (grub_set_unaligned32): Likewise.
8126
8127 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8128
8129 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8130
8131 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8132
8133 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
8134 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
8135 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
8136
8137 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8138
8139 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
8140 conditionals.
8141
8142 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8143
8144 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
8145 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
8146
8147 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8148
8149 Unify and improve RAID and crypto xor.
8150
8151 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
8152 changed to grub_crypto_xor
8153 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
8154 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
8155 Use bigger types when possible.
8156
8157 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8158
8159 * grub-core/disk/raid.c (scan_devices): Fix condition.
8160
8161 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8162
8163 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
8164 Make name a const ptr.
8165
8166 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8167
8168 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
8169 first argument a const pointer.
8170 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
8171 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
8172 proto.
8173 (grub_children_iterate): Likewise.
8174 (grub_machine_mmap_iterate): Remove redundant declaration.
8175
8176 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8177
8178 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
8179 (grub_cmd_acpi) [!x86]: Disable EBDA.
8180
8181 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 Enable UTF8 in gnulib regexp.
8184
8185 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
8186 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
8187 (isupper): Use grub_isupper.
8188 (isascii): New inline function.
8189 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
8190 * grub-core/lib/posix_wrap/wctype.h: Likewise.
8191 * grub-core/normal/charset.c (grub_utf8_process): New function.
8192 (grub_utf8_to_utf16): Use grub_utf8_process.
8193 (grub_encode_utf8_character): New function.
8194 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
8195 * include/grub/charset.h (grub_utf8_process): New declaration.
8196 (grub_encode_utf8_character): Likewise.
8197 * include/grub/misc.h (grub_islower): New inline function.
8198 (grub_isupper): Likewise.
8199 (grub_strchrsub): Moved down to fix the definitions.
8200
8201 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8202
8203 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
8204 specification.
8205
8206 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8207
8208 * include/grub/loader.h (grub_loader_register_preboot_hook):
8209 Use struct preboot * and not void * for handle. All users updated.
8210 (grub_loader_unregister_preboot_hook): Likewise.
8211
8212 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
8215 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
8216 UTF-16-BE. All users updated.
8217 (grub_hfsplus_cmp_catkey): Fix unicode handling.
8218 (grub_hfsplus_iterate_dir): Likewise.
8219 (grub_hfsplus_label): Likewise.
8220
8221 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
8222
8223 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
8224
8225 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
8226
8227 Add missing const qualifiers.
8228
8229 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
8230 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
8231 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
8232 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
8233 (grub_lvm_check_flag): Likewise.
8234 * grub-core/efiemu/i386/coredetect.c
8235 (grub_efiemu_get_default_core_name): Likewise
8236 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
8237 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
8238 * grub-core/fs/ntfs.c (fixup): Likewise.
8239 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
8240 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
8241 (fzap_lookup): Likewise.
8242 (zap_lookup): Likewise.
8243 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
8244 * grub-core/lib/legacy_parse.c (check_option): Likewise.
8245 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
8246 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
8247 (grub_freebsd_add_meta_module): Likewise.
8248 (grub_cmd_freebsd_module): Likewise.
8249 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
8250 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
8251 (grub_xnu_writetree_get_size): Likewise.
8252 (grub_xnu_writetree_toheap_real): Likewise.
8253 (grub_xnu_find_key): Likewise.
8254 (grub_xnu_create_key): Likewise.
8255 (grub_xnu_create_value): Likewise.
8256 (grub_xnu_register_memory): Likewise.
8257 (grub_xnu_check_os_bundle_required): Likewise.
8258 (grub_xnu_scan_dir_for_kexts): Likewise.
8259 (grub_xnu_load_kext_from_dir): Likewise.
8260 * grub-core/normal/color.c (color_list): Likewise.
8261 * grub-core/normal/completion.c (current_word): Likewise.
8262 * grub-core/normal/menu_entry.c (insert_string): Likewise.
8263 * grub-core/term/serial.c (grub_serial_find): Likewise.
8264 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
8265 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
8266 Likewise.
8267 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
8268 (grub_freebsd_add_meta_module): Likewise.
8269 * include/grub/lib/arg.h (grub_arg_option): Likewise.
8270 * include/grub/net.h (grub_net_card_driver): Likewise.
8271 (grub_net_card): Likewise.
8272 (grub_net_app_protocol): Likewise.
8273 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
8274 * include/grub/serial.h (grub_serial_find): Likewise.
8275 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
8276 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
8277 (grub_xnu_create_value): Likewise.
8278 (grub_xnu_find_key): Likewise.
8279 (grub_xnu_scan_dir_for_kexts): Likewise.
8280 (grub_xnu_load_kext_from_dir): Likewise.
8281
8282 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
8283 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
8284 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
8285 Moved from here ...
8286 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
8287
8288 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
8289
8290 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
8291
8292 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
8293
8294 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
8295 (read_device): Fix size calculation.
8296
8297 2011-11-25 Robert Millan <rmh@gnu.org>
8298
8299 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
8300 (find_root_device_from_libzfs): Add zpool output parser to be used
8301 as fallback when libzfs isn't available.
8302
8303 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
8304
8305 * po/Makefile.in.in: Add missing escape-continuation.
8306
8307 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
8308
8309 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
8310
8311 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8312
8313 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
8314
8315 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8316
8317 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
8318
8319 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8320
8321 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
8322
8323 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8324
8325 * grub-core/lib/adler32.c: Add missing license specification.
8326 * grub-core/lib/crc64.c: Likewise.
8327 * grub-core/loader/i386/pc/plan9.c: Likewise.
8328 * grub-core/partmap/plan.c: Likewise.
8329
8330 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
8331
8332 Add facility to debug GRUB with gdb under qemu.
8333
8334 * grub-core/gdb_grub.in: New file.
8335 * grub-core/gmodule.pl.in: Likewise.
8336 * grub-core/Makefile.core.def (gmodule.pl): New script.
8337 (gdb_grub): Likewise.
8338
8339 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 * util/grub-mount.c (argp_parser): Accept relative pathes.
8342 * util/grub-fstest.c (argp_parser): Likewise.
8343
8344 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8345
8346 Plan9 support.
8347
8348 * Makefile.util.def (libgrubmods): Add
8349 grub-core/partmap/plan.c.
8350 * docs/grub.texi: Notice Plan9 support.
8351 * grub-core/Makefile.core.def (plan9): New module.
8352 (part_plan): Likewise.
8353 * grub-core/loader/i386/pc/plan9.c: New file.
8354 * grub-core/partmap/plan.c: Likewise.
8355 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
8356 define.
8357 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
8358 * include/grub/mm.h (grub_extend_alloc): New inline function.
8359
8360 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 Make Reed-Solomon faster by using power of generator representation of
8363 GF(256)*.
8364
8365 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
8366 (gf_double_t): Likewise.
8367 (gf_invert): Removed.
8368 (gf_powx): New array.
8369 (gf_powx_inv): Likewise.
8370 (scratch): Move higher.
8371 (gf_reduce): Removed.
8372 (gf_mul): Use powx.
8373 (gf_invert): Likewise.
8374 (init_inverts): Replaced with ...
8375 (init_powx): ...this. All users updated.
8376 (pol_evaluate): Replace multiplications with additions.
8377 (rs_encode): Likewise.
8378 (gauss_eliminate): Call gf_invert.
8379 (grub_reed_solomon_add_redundancy): Call init_powx.
8380 (grub_reed_solomon_recover): Call init_powx unconditionally.
8381
8382 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
8385
8386 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
8389 disk->partiton for safety.
8390
8391 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8392
8393 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
8394 Fix a memory leak.
8395 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
8396
8397 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8398
8399 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
8400
8401 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
8404
8405 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8406
8407 Fix spaces handling in proc/self/mountinfo.
8408
8409 * util/getroot.c (unescape): New function.
8410 (grub_find_root_device_from_mountinfo): Use unescape.
8411
8412 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8413
8414 Support ZFS embedding.
8415
8416 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
8417 (grub_zfs_fs): Register grub_zfs_embed.
8418
8419 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8420
8421 Fix MIPS compilation.
8422
8423 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
8424 * include/grub/offsets.h: Rename decompressor fields from
8425 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
8426 * util/grub-mkimage.c (image_targets): Use new names.
8427
8428 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8429
8430 Defer multiboot device parsing until we're in compressed part.
8431
8432 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
8433 bsd_part. setdevice has fallen into disuse.
8434 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
8435 (bsd_part): Likewise.
8436 (boot_dev): New variable.
8437 (multiboot_trampoline): Don't parse multiboot device.
8438 Pass multiboot device in %edx.
8439 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
8440 grub_boot_device.
8441 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
8442 Likewise.
8443 * grub-core/kern/i386/pc/startup.S: Save edx.
8444 (grub_boot_drive): Removed.
8445 (grub_install_dos_part): Likewise.
8446 (grub_install_bsd_part): Likewise.
8447 (grub_boot_device): New variable.
8448 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
8449 (grub_install_bsd_part): Likewise.
8450 (grub_boot_drive): Likewise.
8451 (grub_boot_device): New variable.
8452 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
8453 Removed.
8454 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
8455 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
8456 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
8457 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
8458 * util/grub-install.in: Remove redundant condition.
8459
8460 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8461
8462 Fix bug introduced by previous commit.
8463
8464 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
8465
8466 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8467
8468 Use decompressors framework on i386-pc. It increases core size
8469 by 46 bytes but improves compatibility and maintainability.
8470
8471 * grub-core/Makefile.core.def (lzma_decompress): New image.
8472 (kernel): Add i386_pc_ldflags.
8473 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
8474 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
8475 to real_to_prot, prot_to_real and device info.
8476 * include/grub/offsets.h: Renamed decompressor offsets.
8477 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
8478 (image_target_desc): Remove raw_size and rename decompressor fields.
8479 (compress_kernel): Handle lzma.
8480 (generate_image): Handle decompressors on i386-pc.
8481
8482 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8483
8484 * configure.ac: Add -fno-asynchronous-unwind-tables.
8485
8486 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8487
8488 Move assembly code to C by using intwrap. It increases core size
8489 by 88 bytes but improves compatibility and maintainability.
8490
8491 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
8492 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
8493 ... here. Translated to C.
8494 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
8495 * grub-core/term/i386/pc/console.c (grub_console_getkey):
8496 ... here. Translated to C.
8497 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
8498 * grub-core/term/i386/pc/console.c (grub_console_getxy):
8499 ... here. Translated to C.
8500 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
8501 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
8502 ... here. Translated to C.
8503 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
8504 * grub-core/term/i386/pc/console.c (grub_console_cls):
8505 ... here. Translated to C.
8506 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
8507 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
8508 ... here. Translated to C.
8509 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
8510 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
8511 Translated to C.
8512 * grub-core/term/i386/pc/console.c (int10_9): New function.
8513 (grub_console_putchar): Likewise.
8514 * include/grub/i386/pc/console.h: Removed the not anymore shared
8515 functions.
8516
8517 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8518
8519 Move grub_chainloader_real_boot out of the kernel.
8520
8521 * grub-core/Makefile.am: Remove machine/loader.h.
8522 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
8523 Removed.
8524 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
8525 variable.
8526 (grub_relocator16_keep_a20_enabled): Likewise.
8527 (grub_relocator16_boot): Fill new variables.
8528 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
8529 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
8530 relocator.
8531 (grub_chainloader_unload): Likewise.
8532 (grub_chainloader_cmd): Likewise.
8533 * include/grub/i386/pc/loader.h: Removed.
8534 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
8535 and esi. All initialisers updated.
8536
8537 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8538 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
8539
8540 * Makefile.util.def (grub-mount): New util.
8541 * .bzrignore: Add grub-mount.
8542 * configure.ac: Check for fuse and enable grub-mount if available.
8543 * docs/man/grub-mount.h2m: New file.
8544 * util/grub-mount.c: Likewise.
8545
8546 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8547
8548 * grub-core/commands/efi/fixvideo.c: Gettextize.
8549 * grub-core/commands/hashsum.c: Likewise.
8550 * grub-core/commands/i386/cmostest.c: Likewise.
8551 * grub-core/commands/i386/pc/drivemap.c: Likewise.
8552 * grub-core/commands/i386/pc/lsapm.c: Likewise.
8553 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8554 * grub-core/commands/lsmmap.c: Likewise.
8555 * grub-core/commands/menuentry.c: Likewise.
8556 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
8557 * grub-core/commands/setpci.c: Likewise.
8558 * grub-core/loader/i386/bsd.c: Likewise.
8559 * grub-core/loader/i386/linux.c: Likewise.
8560 * util/getroot.c: Likewise.
8561 * util/grub-editenv.c: Likewise.
8562 * util/grub-fstest.c: Likewise.
8563 * util/grub-mkfont.c: Likewise.
8564 * util/grub-mkimage.c: Likewise.
8565 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8566 * util/grub-pe2elf.c: Likewise.
8567 * util/grub-probe.c: Likewise.
8568 * util/grub-setup.c: Likewise.
8569 * util/ieee1275/ofpath.c: Likewise.
8570 * util/misc.c: Likewise.
8571 * util/raid.c: Likewise.
8572
8573 2011-11-11 Robert Millan <rmh@gnu.org>
8574
8575 * util/getroot.c (grub_util_get_geom_abstraction): Remove
8576 __attribute__((unused)) from `os_dev', which *is* being used.
8577
8578 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8579
8580 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
8581 forgotten define.
8582 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
8583 GRUB_IA64_DL_GOT_ALIGN.
8584 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
8585 GRUB_IA64_DL_TRAMP_ALIGN.
8586
8587 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 Replace grub_fatal with normal errors in i386 linux loader.
8590
8591 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
8592 (allocate_pages): Check find_efi_mmap_size return value.
8593 (grub_e820_add_region): Return error.
8594 (grub_linux_boot): Check mmap return value.
8595
8596 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8597
8598 * grub-core/commands/acpihalt.c: Gettextized.
8599 * grub-core/commands/cacheinfo.c: Likewise.
8600 * grub-core/commands/cmp.c: Likewise.
8601 * grub-core/commands/efi/loadbios.c: Likewise.
8602 * grub-core/commands/gptsync.c: Likewise.
8603 * grub-core/commands/ieee1275/suspend.c: Likewise.
8604 * grub-core/commands/legacycfg.c: Likewise.
8605 * grub-core/commands/memrw.c: Likewise.
8606 * grub-core/commands/minicmd.c: Likewise.
8607 * grub-core/commands/parttool.c: Likewise.
8608 * grub-core/commands/time.c: Likewise.
8609 * grub-core/commands/videoinfo.c: Likewise.
8610 * grub-core/disk/geli.c: Likewise.
8611 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
8612 * grub-core/disk/luks.c: Likewise.
8613 * grub-core/disk/lvm.c: Likewise.
8614 * grub-core/font/font_cmd.c: Likewise.
8615 * grub-core/fs/zfs/zfscrypt.c: Likewise.
8616 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8617 * grub-core/gfxmenu/view.c: Likewise.
8618 * grub-core/kern/emu/hostdisk.c: Likewise.
8619 * grub-core/kern/emu/main.c: Likewise.
8620 * grub-core/kern/emu/misc.c: Likewise.
8621 * grub-core/kern/emu/mm.c: Likewise.
8622 * grub-core/kern/mips/arc/init.c: Likewise.
8623 * grub-core/kern/mips/loongson/init.c: Likewise.
8624 * grub-core/kern/partition.c: Likewise.
8625 * grub-core/lib/i386/halt.c: Likewise.
8626 * grub-core/lib/mips/arc/reboot.c: Likewise.
8627 * grub-core/lib/mips/loongson/reboot.c: Likewise.
8628 * grub-core/loader/i386/pc/chainloader.c: Likewise.
8629 * grub-core/loader/i386/xnu.c: Likewise.
8630 * grub-core/loader/multiboot.c: Likewise.
8631 * grub-core/net/bootp.c: Likewise.
8632 * grub-core/net/net.c: Likewise.
8633 * grub-core/normal/term.c: Likewise.
8634 * grub-core/partmap/bsdlabel.c: Likewise.
8635 * grub-core/parttool/msdospart.c: Likewise.
8636 * grub-core/term/gfxterm.c: Likewise.
8637 * grub-core/term/terminfo.c: Likewise.
8638 * grub-core/video/i386/pc/vbe.c: Likewise.
8639 * util/grub-menulst2cfg.c: Likewise.
8640 * util/grub-mkdevicemap.c: Likewise.
8641 * util/grub-mklayout.c: Likewise.
8642 * util/grub-mkrelpath.c: Likewise.
8643 * util/grub-script-check.c: Likewise.
8644 * util/ieee1275/grub-ofpathname.c: Likewise.
8645 * util/resolve.c: Likewise.
8646
8647 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8648
8649 Support %1$d syntax.
8650
8651 * tests/printf_unit_test.c: New file.
8652 * Makefile.util.def (printf_test): New test.
8653 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
8654
8655 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8656
8657 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
8658 fix.
8659
8660 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8661
8662 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
8663 dprintf.
8664 * grub-core/font/font.c (grub_font_load): Likewise.
8665
8666 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8667
8668 * util/grub-macho2img.c: Add comment concerning gettext.
8669 * grub-core/lib/legacy_parse.c: Likewise.
8670
8671 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8672
8673 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
8674 (grub_xvasprintf): Likewise.
8675
8676 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 Add const keyword to grub_env_get and gettextize week days.
8679
8680 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
8681 (grub_read_hook_datetime): Return const char *.
8682 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
8683 updated.
8684 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8685 Mark for gettext.
8686 (grub_get_weekday_name): Return const char *. Call gettext.
8687 * grub-core/script/argv.c (grub_script_argv_append): Receive const
8688 char * and len as the argument. All users updated.
8689 (grub_script_argv_split_append): Receive const char *.
8690 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
8691 * include/grub/env.h (grub_env_get): Likewise.
8692 (grub_env_read_hook_t): Return const char *.
8693 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
8694 (grub_script_argv_split_append): Likewise.
8695
8696 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8697
8698 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
8699
8700 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8701
8702 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
8703 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
8704
8705 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
8708 Fix prototype.
8709
8710 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8711
8712 Fix mips compilation.
8713
8714 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
8715 normal decoder.
8716 (hashes): Use in embed decoder as well (for sizes).
8717 (dec_stream_header): Fix embed decompressor logic.
8718 (dec_stream_footer): Likewise.
8719
8720 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8721
8722 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
8723 an error and not a fatal on unrecognised relocation types.
8724
8725 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8726
8727 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8728 Issue error rather than printf on unknown arguments.
8729
8730 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8731
8732 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
8733 Make buf a const.
8734
8735 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8736
8737 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
8738 Fix module name.
8739
8740 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8741
8742 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
8743 leftover debug printf.
8744
8745 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
8748
8749 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8750
8751 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
8752 A stylistic fix.
8753
8754 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8755
8756 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
8757
8758 2011-11-10 Shea Levy <slevy@tieronedesign.com>
8759
8760 Allow all modules to perform serial IO
8761
8762 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
8763 * include/grub/serial.h (grub_serial_port_configure): New inline
8764 function.
8765 (grub_serial_port_fetch): Likewise.
8766 (grub_serial_port_put): Likewise.
8767 (grub_serial_port_fini): Likewise.
8768 (grub_serial_find): New proto.
8769
8770 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8771
8772 Put symlink at the end of the node and fix a potential
8773 memory corruption.
8774
8775 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
8776 Make symlink into an array.
8777 (set_rockridge): Set have_symlink and alloc_dirents.
8778 (grub_iso9660_read_symlink): Use new layout.
8779 (grub_iso9660_iterate_dir): Fix memory corruption.
8780 Use new layout.
8781 (grub_iso9660_dir): Set have_symlink.
8782 (grub_iso9660_open): Likewise.
8783
8784 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8785
8786 Remove local keyword.
8787
8788 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
8789 (version_test_gt): Likewise.
8790 (version_find_latest): Likewise.
8791 (gettext_printf): Likewise.
8792 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
8793
8794 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8795
8796 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
8797
8798 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 Fix ZFS memory and resource leaks.
8801
8802 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
8803 All users updated.
8804 Free type on exit.
8805 (fill_vdev_info): New parameter inserted. All users updated.
8806 (check_pool_label): Likewise.
8807 (scan_disk): Likewise.
8808 (scan_devices): Close non-inserted disks.
8809 (fzap_iterate): Free l.
8810 (unmount_device): Free children descripto memory.
8811
8812 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8813
8814 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
8815 argument (access out of bounds).
8816
8817 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8818
8819 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
8820 >= 6 drives.
8821
8822 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8823
8824 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
8825 Fix declaration.
8826
8827 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 Fix several memory leaks.
8830
8831 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
8832 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
8833 (grub_cpio_dir): Likewise.
8834 * grub-core/fs/fat.c (grub_fat_label): Likewise.
8835 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
8836 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
8837 (grub_romfs_label): Likewise.
8838 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
8839 (squash_unmount): New function.
8840 (grub_squash_dir): Fix memory leak.
8841 (grub_squash_open): Likewise.
8842 (grub_squash_read): Likewise.
8843 (grub_squash_mtime): Likewise.
8844 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
8845 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
8846 * util/grub-fstest.c (fstest): Likewise.
8847
8848 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8849
8850 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
8851 avoid accessing beyond the array.
8852
8853 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8854
8855 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
8856
8857 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8858
8859 Several AFFS fixes.
8860
8861 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
8862 (GRUB_AFFS_FLAG_FFS): Removed.
8863 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
8864 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
8865 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
8866 (grub_fshelp_node): Make block 32-bit.
8867 Add block_cache and last_block_cache.
8868 (grub_affs_read_block): Fill and use block cache.
8869 (grub_affs_read_file): Removed.
8870 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
8871 boot block.
8872 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
8873 safety.
8874 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
8875 space.
8876 (grub_affs_close): Free block cache.
8877 (grub_affs_read): Use grub_fshelp_read_file directly.
8878
8879 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
8882 with no error set.
8883
8884 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8885
8886 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
8887 used variable.
8888 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8889 Likewise.
8890
8891 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
8894
8895 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
8896 byteswap when needed.
8897
8898 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8899
8900 Fix FreeBSD compilation.
8901
8902 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
8903 to avoid circular dependency.
8904 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
8905 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
8906 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
8907
8908 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8909
8910 Fix ZFS crypto error types.
8911
8912 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
8913 (grub_gcm_decrypt): Likewise.
8914 (grub_zfs_load_key_real): Fix error code type. Handle possible error
8915 from PBKDF2.
8916
8917 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8918
8919 Illumos support.
8920
8921 * Makefile.util.def (10_illumos): New script.
8922 * configure.ac: Set COND_HOST_ILLUMOS.
8923 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
8924 Support Illumos calls.
8925 (find_partition_start) [__sun__]: Likewise.
8926 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
8927 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
8928 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
8929 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
8930 device.
8931 * util/grub-probe.c (probe) [__sun__]: Do character check.
8932 * util/grub.d/10_illumos.in: New file.
8933
8934 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8935
8936 Support escaped commas in hostdisk.
8937
8938 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
8939 (find_grub_drive): Use unescape_cmp.
8940 (make_device_name): Escape commas.
8941
8942 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8943
8944 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
8945
8946 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8947
8948 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
8949 variable.
8950
8951 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8952
8953 Support trampoline jumps on powerpc.
8954
8955 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
8956 __ia64__ path.
8957 (grub_dl_load_segments): Set mod->sz.
8958 (grub_dl_flush_cache): Flush whole space occupied by module, not just
8959 segments.
8960 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
8961 (jump): Likewise.
8962 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
8963 function.
8964 (trampoline): New struct.
8965 (trampoline_template): New const.
8966 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
8967 * include/grub/dl.h (grub_dl): Add sz element.
8968 [__powerpc__]: Follow __ia64__.
8969 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
8970 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
8971 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
8972 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
8973
8974 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 ZFS crypto support.
8977
8978 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
8979 * grub-core/Makefile.core.def (zfscrypt): New module.
8980 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
8981 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
8982 it. All users updated.
8983 (grub_zfs_decrypt): New var.
8984 (grub_zfs_load_key): Likewise.
8985 (zio_checksum_functions): Add SHA256+MAC.
8986 (zio_checksum_verify): Handle incomplete comparison due to MAC.
8987 (zio_read): Handle encrypted blocks.
8988 (zap_verify): Remove incorrect check.
8989 (fzap_iterate): Handle non-standard fzap.
8990 (zap_iterate): Likewise.
8991 (zap_iterate_u64): New function.
8992 (dnode_get_fullpath): Load keys.
8993 * grub-core/fs/zfs/zfscrypt.c: New file.
8994 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
8995 (grub_crypto_ecb_encrypt): Make input const.
8996 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
8997 (grub_crypto_ecb_encrypt): Make input const.
8998 (GRUB_CIPHER_AES): New macro.
8999 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
9000 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
9001 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
9002 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
9003 prefix. All users updated.
9004 (grub_zfs_add_key): New proto.
9005 (grub_zfs_decrypt): Likewise.
9006 (grub_zfs_load_key): Likewise.
9007 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
9008 * util/grub-fstest.c (options): Add -K option.
9009 (argp_parser): Likewise.
9010
9011 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 Support zle compression on ZFS.
9014
9015 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
9016 (decomp_table): Add zle.
9017 * include/grub/zfs/zio.h (zio_compress): Add zle.
9018
9019 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
9020
9021 Support BtrFS embedding.
9022
9023 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
9024 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
9025 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
9026 * util/grub-setup.c (setup): Use fs embedding if available.
9027 Add additional sanity check.
9028
9029 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
9030
9031 * util/grub-install.in: Fix condition for config_opt.
9032
9033 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9034
9035 Support third redundancy strip on raidz3.
9036
9037 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
9038 Return error on singularity. All users updated.
9039 (read_device): Don't stop on 3rd failure on raidz3.
9040
9041 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 Support case-insensitive ZFS subvolumes.
9044
9045 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
9046 All users updated.
9047 (zap_hash): Likewise.
9048 (name_cmp): New function.
9049 (zap_leaf_array_equal): New parameter case_insensitive.
9050 All users updated.
9051 (zap_leaf_lookup): Likewise.
9052 (fzap_lookup): Likewise.
9053 (zap_lookup): Likewise.
9054 (dnode_get_path): New parameter case_insensitive. Retrieve case
9055 sensitiviness of a volume. All users updated.
9056 (dnode_get_fullpath): New parameter case_insensitive.
9057 All users updated.
9058 (grub_zfs_dir): Set info.case_insensitiveness.
9059
9060 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9061
9062 Support second redundancy strip on raidz(2,3).
9063
9064 * grub-core/fs/zfs/zfs.c (powx): New array.
9065 (powx_inv): Likewise.
9066 (poly): New const.
9067 (xor_out): New function.
9068 (gf_mul): Likewise.
9069 (recovery): Likewise.
9070 (read_device): Use second redundancy strip.
9071
9072 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9073
9074 Use a power of generator representation of GF(256) multiplication group
9075 to save space time and complexity.
9076
9077 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
9078 (raid6_table2): Likewise.
9079 (powx): New array.
9080 (powx_inv): Likewise.
9081 (poly): New const.
9082 (grub_raid_block_mul): Replace with ...
9083 (grub_raid_block_mulx): ...this.
9084 (grub_raid6_init_table): Rewritten.
9085 (grub_raid6_recover): Use power of generator representation.
9086
9087 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9088
9089 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
9090 for the right device.
9091
9092 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9093
9094 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
9095 expected by grub-mkimage and it's more clear since there is no implicit
9096 padding.
9097
9098 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9099
9100 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
9101 disk.
9102 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
9103
9104 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
9105
9106 * util/grub-mkrescue.in: Fix handling xorriso option.
9107
9108 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
9111 NULL.
9112
9113 2011-11-03 crocket <crockabiscuit@gmail.com>
9114
9115 * util/grub.d/10_linux.in: Add Slackware initrd naming.
9116
9117 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 XZ CRC64 and SHA256 support.
9120
9121 * Makefile.util.def (libgrubmods): Add crc64.c.
9122 * grub-core/Makefile.core.def (crc64): New module.
9123 * grub-core/lib/crc64.c: New file.
9124 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
9125 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
9126 Fix the type.
9127 (MAX_HASH_SIZE): New define.
9128 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
9129 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
9130 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
9131 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
9132 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
9133 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
9134 Handle non-crc32 hashes.
9135 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
9136 (dec_stream_header): Handle non-crc32 hashes.
9137 (dec_stream_footer): Likewise.
9138 (dec_block_header): Likewise.
9139 (dec_main): Likewise.
9140 (xz_dec_init): Likewise.
9141 (xz_dec_reset): Likewise.
9142 (xz_dec_end): Likewise.
9143 * util/import_gcry.py: Add CRC64 line.
9144
9145 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9146
9147 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
9148 as well.
9149
9150 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 Make reiserfs label retrieval similar to other *_label functions.
9153
9154 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
9155 (REISERFS_MAX_LABEL_LENGTH): Removed.
9156 (REISERFS_LABEL_OFFSET): Likewise.
9157 (grub_reiserfs_label): Rewritten.
9158
9159 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
9162 field.
9163
9164 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9165
9166 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
9167
9168 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
9169
9170 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
9171 drive failure on both raidz and raidz2.
9172
9173 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
9174
9175 Fix RAIDZ(2) for >= 5 devices.
9176
9177 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
9178 asize argument. All users updated.
9179
9180 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9181
9182 Fix RAIDZ(2).
9183
9184 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
9185 (fill_vdev_info_real): Set ashift.
9186 (read_device): Rewrite RAIDZ part based on reverse engineering.
9187
9188 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9189
9190 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
9191 don't report potentially unavialiable fields in debug output.
9192 (find_path): Fix double-free and memory leak.
9193
9194 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9195
9196 Read label on UFS1.
9197
9198 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
9199 (grub_ufs_fs): Always set .label.
9200
9201 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9202
9203 Use shifts in UFS.
9204
9205 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
9206 (grub_ufs_data): New field log2_blksz.
9207 (grub_ufs_read_file): Use shifts.
9208 (grub_ufs_mount): Check block size and logarithm it.
9209
9210 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
9213 long symlinks.
9214
9215 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9216
9217 Handle symlinks and long names on tar and cpio.
9218
9219 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
9220 (ATTR_FILE): Likewise.
9221 (ATTR_DIR): Likewise.
9222 (ATTR_LNK): Likewise.
9223 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
9224 (grub_cpio_find_file): Fill mode, handle linkname field as well as
9225 L and K entries.
9226 (grub_cpio_mount): Zero-fill data.
9227 (handle_symlink): New function.
9228 (grub_cpio_dir): Handle symlinks.
9229 (grub_cpio_open): Likewise.
9230 (grub_cpio_close) [MODE_USTAR]: Free linkname.
9231
9232 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9233
9234 Fix iso9660 filename limitations and fix memory leaks.
9235
9236 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
9237 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
9238
9239 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9240
9241 Fix JFS file name length limitations.
9242
9243 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
9244 (grub_jfs_diropen): Fix maximum filename length.
9245 (grub_jfs_getent): Fix filename length.
9246 (grub_jfs_lookup_symlink): Fix size checks.
9247
9248 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
9251 string.
9252
9253 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9254
9255 Leverage BFS implementation to read AFS.
9256
9257 * Makefile.util.def (libgrubmods): Add afs.c.
9258 * grub-core/Makefile.core.def (afs): New module
9259 * grub-core/fs/afs.c: New file.
9260 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
9261
9262 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9263
9264 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
9265
9266 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9267
9268 * grub-core/fs/bfs.c: Run indent.
9269
9270 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9271
9272 BFS implementation based on the specification.
9273
9274 * grub-core/fs/bfs.c: New file.
9275 * Makefile.util.def (libgrubmods): Add bfs.c.
9276 * grub-core/Makefile.core.def (bfs): New module.
9277
9278 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9279
9280 * util/grub-fstest.c (cmd_cp): Clarify error message.
9281 (cmd_cmp): Likewise.
9282
9283 2011-10-30 Yves Blusseau <blusseau@zetam.org>
9284
9285 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
9286 and befs_be.
9287
9288 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
9289
9290 Remove afs and befs because of copyright problem.
9291
9292 * grub-core/fs/afs.c: Removed.
9293 * grub-core/fs/afs_be.c: Removed.
9294 * grub-core/fs/befs.c: Removed.
9295 * grub-core/fs/befs_be.c: Removed.
9296 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
9297 * grub-core/Makefile.core.def (afs): Removed.
9298 (afs_be): Likewise.
9299 (befs): Likewise.
9300 (befs_be): Likewise.
9301
9302 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9303
9304 Prefer rockridge over Joliet.
9305
9306 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
9307 to ...
9308 (set_rockridge): ... here.
9309 (grub_iso9660_mount): Check rockridge on the primary label when
9310 discovering. Ignore Joliet if Rockridge is present.
9311
9312 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9313
9314 Use shifts in nilfs2.
9315
9316 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
9317 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
9318 (grub_nilfs2_palloc_entries_per_group): Replace with ...
9319 (grub_nilfs2_log_palloc_entries_per_group): ... this.
9320 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
9321 (grub_nilfs2_entries_per_block): Replaced with ...
9322 (grub_nilfs2_log_entries_per_block_log): ... this.
9323 (grub_nilfs2_blocks_per_group): Replaced with ...
9324 (grub_nilfs2_blocks_per_group_log): ... this.
9325 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
9326 (grub_nilfs2_blocks_per_desc_block_log): ... this.
9327 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
9328 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
9329 (grub_nilfs2_palloc_entry_offset): Replaced ...
9330 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
9331 (grub_nilfs2_dat_translate): Use shifts.
9332 (grub_nilfs2_read_inode): Likewise.
9333 (GRUB_MOD_INIT): Ensure that logs are correct.
9334
9335 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9336
9337 Use shifts in minix filesystem.
9338
9339 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
9340 (GRUB_MINIX_ZONE2SECT): Likewise.
9341 (grub_minix_data): Replace block_size with log_block_size.
9342 (grub_minix_read_file): Use shifts.
9343 (grub_minix_mount): Check block size and take a logarithm.
9344
9345 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9346
9347 Use shifts in squash4.
9348
9349 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
9350 (squash_mount): Check block size and take logarithm.
9351 (direct_read): Use shifts.
9352
9353 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9354
9355 Correct befs block counting logic.
9356
9357 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
9358 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
9359 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
9360 (grub_afs_read_inode): Use block_shift.
9361 (RANGE_SHIFT): New definition.
9362 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
9363 unexpected conditions, use shifts and appropriate types.
9364 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
9365
9366 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9367
9368 * grub-core/disk/raid.c (scan_devices): Check partition.
9369 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
9370
9371 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
9372
9373 Support BFS (befs) UUID.
9374
9375 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
9376 (grub_afs_small_data_element_header): New struct.
9377 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
9378 (grub_afs_read_attribute) [MODE_BFS]: New function.
9379 (grub_afs_iterate_dir): Allocate for complete inode.
9380 (grub_afs_mount): Likewise.
9381 (grub_afs_uuid) [MODE_BFS]: New function.
9382 (grub_afs_fs) [MODE_BFS]: Add .uuid.
9383
9384 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
9385
9386 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
9387 (zfs_unmount): Fix memory leak.
9388
9389 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9390
9391 Support NTFS reparse points.
9392
9393 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
9394 (symlink_descriptor): New struct.
9395 (grub_ntfs_read_symlink): New function.
9396 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
9397 (grub_ntfs_open): Likewise.
9398
9399 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9400
9401 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
9402
9403 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9404
9405 fstest xnu_uuid subcommand.
9406
9407 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
9408 grub-core/commands/xnu_uuid.c.
9409 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
9410 (fstest): Handle xnu_uuid.
9411 (options): Document xnu_uuid.
9412 (argp_parser): Parse xnu_uuid.
9413
9414 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9415
9416 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
9417 -l argument. Add newline at the end if printing.
9418 (GRUB_MOD_INIT): Document -l.
9419
9420 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9421
9422 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
9423
9424 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9425
9426 ZFS multi-device and version 33 support.
9427
9428 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
9429 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
9430 (grub_zfs_data): Add multidev-ice-related fields.
9431 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
9432 (dva_get_offset): Make dva const.
9433 (zfs_fetch_nvlist): New function.
9434 (fill_vdev_info_real): Likewise.
9435 (fill_vdev_info): Likewise.
9436 (check_pool_label): Likewise.
9437 (scan_disk): Likewise.
9438 (scan_devices): Likewise.
9439 (read_device): Likewise.
9440 (read_dva): Likewise.
9441 (zio_read_gang): Use read_dva.
9442 (zio_read_data): Likewise.
9443 (zap_leaf_lookup): Add missing endian conversion.
9444 (zap_verify): Add missing endian conversion. All users updated.
9445 (fzap_lookup): Likewise.
9446 (fzap_iterate): Likewise.
9447 (dnode_get_path): Handle SA bonus.
9448 (nvlist_find_value): Make input const. All users updated.
9449 (unmount_device): New function.
9450 (zfs_unmount): Use unmount_device.
9451 (zfs_mount): Use scan_disk.
9452 (zfs_mtime): New function.
9453 (grub_zfs_open): Handle system attributes.
9454 (fill_fs_info): Likewise.
9455 (grub_zfs_dir): Likewise.
9456 (grub_zfs_fs): Add mtime.
9457 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
9458 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
9459 (SA_MTIME_OFFSET): Likewise.
9460 (SA_SYMLINK_OFFSET): Likewise.
9461 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
9462 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
9463 (fstest): Support zfsinfo.
9464 (argp_parser): Likewise.
9465
9466 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
9469 error.
9470
9471 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9472
9473 ZFS fixes.
9474
9475 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
9476 sharing the same block. Iterate over correct number of indices.
9477 (dnode_get_path): Handle symlinks correctly.
9478
9479 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
9482
9483 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9484
9485 Read label on HFS+.
9486
9487 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
9488 (grub_hfsplus_btree_search): Fix types.
9489 (grub_hfsplus_label): Implement.
9490
9491 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9492
9493 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
9494
9495 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9496
9497 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
9498
9499 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9500
9501 Fix symlink handling on iso9660.
9502
9503 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
9504 All users updated.
9505 (grub_iso9660_susp_iterate): Accept zero-size iterate.
9506 (grub_iso9660_read_symlink): Moved most of code ...
9507 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
9508
9509 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9510
9511 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9512 Use union to avoid breaking strict-aliasing rules.
9513
9514 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9515
9516 Support multi-extent iso files.
9517
9518 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
9519 Add node.
9520 (grub_fshelp_node): Revamp. All users updated.
9521 (FLAG_*): New enum.
9522 (read_node): New function.
9523 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
9524 All users updated.
9525 (grub_iso9660_mount): Don't attempt to read sua when there is none.
9526 (get_node_size): New function.
9527 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
9528 entries.
9529 Fix memory leak on . and ..
9530 (grub_iso9660_read): Use read_node.
9531 (grub_iso9660_close): Free node.
9532
9533 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9534
9535 Fix tar 4G limit and handle paths containing dot.
9536
9537 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
9538 (canonicalize): New function.
9539 (grub_cpio_find_file): Use canonicalize. Store offs in
9540 grub_disk_addr_t.
9541 (grub_cpio_dir): Use grub_disk_addr_t.
9542 (grub_cpio_open): Likewise.
9543
9544 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9545
9546 Fix handling of uncompressed blocks on squashfs and break 4G limit.
9547
9548 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
9549 unused flags.
9550 (grub_squash_inode): Add long_file and block_size.
9551 (grub_squash_cache_inode): New struct.
9552 (grub_squash_dirent): Make types into enum.
9553 (SQUASH_TYPE_LONG_REGULAR): New type.
9554 (grub_squash_frag_desc): Add field size.
9555 (SQUASH_BLOCK_FLAGS): New enum.
9556 (grub_squash_data): Use grub_squash_cache_inode.
9557 (grub_fshelp_node): Make ino_chunk 64-bit.
9558 (read_chunk): Minor argument change. All users updated.
9559 (squash_mount): Use correct le_to_cpu.
9560 (grub_squash_open): Handle LONG_REGULAR.
9561 (direct_read): New function.
9562 (grub_squash_read_data): Handle blocks correctly.
9563
9564 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9565
9566 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
9567
9568 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9569
9570 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
9571
9572 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9573
9574 Fix 2G limit on ZFS.
9575
9576 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
9577 types.
9578 (uberblock_verify): Likewise.
9579 (dmu_read): Likewise.
9580 (grub_zfs_read): Likewise. Remove invalid cast.
9581
9582 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9583
9584 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
9585 (grub_jfs_blkno): Fix incorrect shift.
9586 (grub_jfs_read_file): Use more appropriate types.
9587
9588 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9589
9590 Support triple indirect on minix2 and minix3.
9591
9592 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
9593 Declare triple_indir_zone.
9594 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
9595 indirect.
9596
9597 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9598
9599 Minix FS fixes.
9600
9601 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
9602 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
9603 Rename ctime to mtime. All users updated.
9604 (grub_minix_get_file_block): Fix types and double indirect computations.
9605
9606 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9607
9608 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
9609 if no label is found.
9610 (grub_fat_iterate_dir): Fix file size type.
9611 (grub_fat_iterate_dir): Likewise.
9612
9613 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9614
9615 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
9616 save some space.
9617 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9618 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9619
9620 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9621
9622 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
9623
9624 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9625
9626 * util/import_gcry.py: Accept space between # and include.
9627
9628 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
9631
9632 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 Fine grainely disable warnings on lexer. Remove Wno-error on it.
9635
9636 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
9637 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
9638 yylex_strncpy.
9639 * grub-core/script/yylex.l: Add fine-grained #pragma.
9640
9641 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9642
9643 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
9644 New inline function.
9645 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
9646 Likewise.
9647 (memset) [GRUB_UTIL]: Likewise.
9648 (memcmp) [GRUB_UTIL]: Likewise.
9649
9650 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9651
9652 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
9653 inline function rather than a define.
9654
9655 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9656
9657 * util/grub-setup.c: Add missing include.
9658
9659 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9660
9661 * util/ieee1275/grub-ofpathname.c: Add missing include.
9662
9663 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9664
9665 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
9666 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
9667 Likewise.
9668
9669 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9670
9671 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
9672 grub_memcmp usage.
9673
9674 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9675
9676 * util/grub-install.in: Add datarootdir as per automake manual
9677 suggestion.
9678 * util/grub-mknetdir.in: Likewise.
9679
9680 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9681
9682 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
9683 suggestion.
9684 * util/grub.d/10_kfreebsd.in: Likewise.
9685 * util/grub.d/10_linux.in: Likewise.
9686 * util/grub.d/10_netbsd.in: Likewise.
9687 * util/grub.d/10_windows.in: Likewise.
9688 * util/grub.d/20_linux_xen.in: Likewise.
9689
9690 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
9691
9692 Remove redundant grub_kernel_image_size.
9693
9694 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
9695 _edata and _start.
9696 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
9697 the small code. It moves it only by few bytes but simplifies the code.
9698 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
9699 _start.
9700 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
9701 (grub_kernel_image_size): Removed.
9702 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
9703 (grub_kernel_image_size): Removed.
9704 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
9705 compiled with Apple toolchain.
9706 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
9707 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
9708 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
9709 (grub_total_module_size): Likewise.
9710 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
9711 Removed.
9712 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
9713 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
9714 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9715 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
9716 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
9717 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
9718 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
9719 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
9720 Removed.
9721 (grub_total_module_size): Removed.
9722 * util/grub-mkimage.c (image_target_desc): Remove image_size.
9723 (image_targets): Likewise.
9724 Set .compressed_size to no field on sparc.
9725 (generate_image): Remove kernel_image_size handling.
9726
9727 2011-10-19 Szymon Janc <szymon@janc.net.pl>
9728
9729 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
9730 NULL pointer dereference.
9731
9732 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9733
9734 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
9735 done with a dedicated section.
9736
9737 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
9738 Ensure the correct position of boot_path.
9739 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
9740 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
9741 other fields.
9742 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
9743 * include/grub/boot.h: Removed. All references removed.
9744 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9745 Removed.
9746 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
9747
9748 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9749
9750 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
9751 name.
9752
9753 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9754
9755 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
9756
9757 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9758
9759 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9760 Don't add the bogus brackets.
9761
9762 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9763
9764 ExFAT support.
9765
9766 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
9767 * grub-core/Makefile.core.def (exfat): New module.
9768 * grub-core/fs/exfat.c: New file.
9769 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
9770 (GRUB_FAT_ATTR_*): Make into an enum.
9771 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
9772 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
9773 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
9774 (GRUB_FAT_MAXFILE): Removed.
9775 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
9776 (grub_current_fat_bpb_t): New type.
9777 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
9778 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
9779 (grub_fat_dir_node_t): New type.
9780 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
9781 (fat_log2) [MODE_EXFAT]: Removed.
9782 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
9783 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
9784 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
9785 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
9786 (grub_fat_label) [MODE_EXFAT]: New function.
9787 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
9788 reserved_first_sector to 0.
9789
9790 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 Move grub_reboot out of the kernel.
9793
9794 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
9795 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
9796 * grub-core/lib/efi/reboot.c: ... here.
9797 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
9798 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
9799 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
9800 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
9801 * grub-core/lib/i386/reboot_trampoline.S: ... here.
9802 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
9803 * grub-core/lib/ieee1275/reboot.c: ... here.
9804 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
9805 * grub-core/lib/mips/arc/reboot.c: ... here.
9806 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
9807 * grub-core/lib/mips/loongson/reboot.c: ...here.
9808 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
9809 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
9810 * include/grub/emu/misc.h (grub_reboot): New function declaration.
9811 * include/grub/i386/reboot.h: New file.
9812 * include/grub/mips/loongson/ec.h: Fix includes.
9813 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
9814 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
9815 * grub-core/lib/i386/reboot.c: New file.
9816
9817 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
9818
9819 Make grub_prefix into module to fix the arbitrary limit and save
9820 some space.
9821
9822 * grub-core/kern/emu/main.c (grub_prefix): Removed.
9823 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
9824 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
9825 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
9826 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
9827 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
9828 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
9829 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
9830 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9831 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
9832 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
9833 * include/grub/ia64/efi/kernel.h: Removed.
9834 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
9835 (grub_prefix): Removed.
9836 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
9837 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
9838 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
9839 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
9840 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
9841 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
9842 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
9843 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
9844 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
9845 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
9846 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9847 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9848 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9849 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9850 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
9851 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
9852 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
9853 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9854 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
9855 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
9856 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
9857 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
9858 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
9859 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
9860 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
9861 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
9862 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
9863 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
9864 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
9865 from module.
9866 * util/grub-mkimage.c (image_target_desc): Removed prefix and
9867 prefix_end.
9868 (image_targets): Likewise.
9869 (generate_image): Put prefix as a module.
9870
9871 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9872
9873 Replace grub_module_iterate with FOR_MODULES.
9874
9875 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
9876 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
9877 (grub_efi_modules_addr): ...this.
9878 * grub-core/kern/efi/init.c (grub_modbase): New variable.
9879 (grub_efi_init): Set grub_modbase.
9880 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
9881 (grub_modbase): New variable.
9882 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
9883 (grub_modbase): New variable.
9884 (grub_machine_init): Set grub_modbase.
9885 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
9886 (grub_modbase): New variable.
9887 (grub_machine_init): Set grub_modbase.
9888 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
9889 (grub_modbase): New variable.
9890 (grub_machine_init): Set grub_modbase.
9891 * grub-core/kern/main.c (grub_module_iterate): Remove.
9892 (grub_modules_get_end): Use grub_modbase.
9893 (grub_load_modules): Use FOR_MODULES.
9894 (grub_load_config): Likewise.
9895 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
9896 (grub_modbase): New variable.
9897 (grub_machine_init): Set grub_modbase.
9898 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
9899 (grub_modbase): New variable.
9900 (grub_machine_init): Set grub_modbase.
9901 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
9902 Removed.
9903 (grub_modbase): New variable.
9904 (grub_machine_init): Set grub_modbase.
9905 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
9906 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
9907 (grub_module_iterate): Likewise.
9908 (grub_modbase): New variable declaration.
9909 (FOR_MODULES): New macro.
9910
9911 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9912
9913 * configure.ac: Check for __ctzdi2 and __ctzsi2.
9914 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
9915
9916 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9917
9918 Fix few obvious type discrepancies.
9919
9920 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
9921 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
9922 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
9923 variable.
9924 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
9925 and connected types.
9926 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
9927 offset.
9928 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
9929 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
9930 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
9931 and connected types.
9932
9933 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9934
9935 Fix python 3.x incompatibilities.
9936
9937 * gentpl.py: Put brackets around print strings.
9938 * util/import_gcry.py: Open explicitly as utf-8.
9939 Use in instead of has_key.
9940
9941 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9942
9943 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
9944 (GRUB_XFS_INO_AGBITS): Make into inline function.
9945 (GRUB_XFS_INO_INOINAG): Likewise.
9946 (GRUB_XFS_INO_AG): Likewise.
9947 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9948 (GRUB_XFS_EXTENT_OFFSET): Likewise.
9949 (GRUB_XFS_EXTENT_BLOCK): Likewise.
9950 (GRUB_XFS_EXTENT_SIZE): Likewise.
9951 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
9952 (GRUB_XFS_NEXT_DIRENT): Likewise.
9953 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
9954 (grub_xfs_read_file): Fix offset type.
9955
9956 2011-10-15 Robert Millan <rmh@gnu.org>
9957
9958 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
9959
9960 2011-10-15 Robert Millan <rmh@gnu.org>
9961
9962 Fix build problem on FreeBSD and GNU/kFreeBSD.
9963
9964 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
9965
9966 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9967
9968 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
9969
9970 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
9971 types.
9972 (grub_hfsplus_btree_recoffset): Likewise.
9973 (grub_hfsplus_btree_recptr): Likewise.
9974 (grub_hfsplus_find_block): Likewise.
9975 (grub_hfsplus_btree_search): Likewise.
9976 (grub_hfsplus_read_block): Likewise.
9977 (grub_hfsplus_read_file): Likewise.
9978 (grub_hfsplus_mount): Likewise.
9979 (grub_hfsplus_btree_iterate_node): Likewise.
9980 (grub_hfsplus_btree_search): Likewise.
9981 (grub_hfsplus_iterate_dir): Likewise.
9982 (grub_hfsplus_read): A small code simplification.
9983
9984 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9985
9986 * grub-core/kern/emu/hostdisk.c
9987 (convert_system_partition_to_system_disk): Don't assume that children
9988 of mapper nodes are mapper nodes.
9989
9990 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9991
9992 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
9993 * include/grub/misc.h (grub_isxdigit): New function.
9994 * grub-core/video/colors.c (my_isxdigit): Removed. All users
9995 switched to grub_isxdigit.
9996 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
9997 number starting with a letter.
9998
9999 2011-10-09 Robert Millan <rmh@gnu.org>
10000
10001 LVM support for FreeBSD and GNU/kFreeBSD.
10002
10003 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
10004 GNU/kFreeBSD.
10005 (LVM_DEV_MAPPER_STRING): Move from here ...
10006 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
10007 * util/getroot.c: Include `<grub/util/lvm.h>'.
10008 (grub_util_get_dev_abstraction): Enable
10009 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
10010 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
10011 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
10012 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
10013 support it.
10014 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
10015 GNU/kFreeBSD.
10016 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
10017 when LVM abstraction is required for ${GRUB_DEVICE}.
10018
10019 2011-10-06 Szymon Janc <szymon@janc.net.pl>
10020
10021 Add support for LZO compression in GRUB:
10022 - import of minilzo library,
10023 - LZO decompression for btrfs,
10024 - lzop files decompression.
10025
10026 * grub-core/io/lzopio.c: New file.
10027 * grub-core/lib/adler32.c: Likewise.
10028 * grub-core/lib/minilzo/lzoconf.h: Likewise.
10029 * grub-core/lib/minilzo/lzodefs.h: Likewise.
10030 * grub-core/lib/minilzo/minilzo.c: Likewise.
10031 * grub-core/lib/minilzo/minilzo.h: Likewise.
10032 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
10033 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
10034 grub-core/lib/minilzo/minilzo.c to common.
10035 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
10036 cflags in cppflags.
10037 * grub-core/Makefile.core.def (btrfs): Likewise.
10038 * grub-core/Makefile.core.def (lzopio): New module.
10039 (adler32): Likewise.
10040 * grub-core/fs/btrfs.c: Include minilzo.h.
10041 (GRUB_BTRFS_COMPRESSION_LZO): New define.
10042 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
10043 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
10044 (grub_btrfs_lzo_decompress): New function.
10045 (grub_btrfs_extent_read): Add support for LZO compression type.
10046 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
10047 (GRUB_USHRT_MAX): Likewise.
10048 (GRUB_UINT_MAX): Likewise.
10049 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
10050 (UINT_MAX): Likewise.
10051 (CHAR_BIT): Likewise.
10052 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
10053 grub-core/lib/posix_wrap/limits.h
10054 (UCHAR_MAX): Likewise.
10055 * include/grub/file.h (grub_file_filter_id): New compression filter
10056 GRUB_FILE_FILTER_LZOPIO.
10057 * include/grub/file.h (grub_file_filter_id): Set
10058 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
10059 * include/grub/types.h (grub_get_unaligned16): New function.
10060 (grub_get_unaligned32): Likewise.
10061 (grub_get_unaligned64): Likewise.
10062 * util/import_gcry.py (cryptolist): Add adler32.
10063
10064 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
10067 in perspective decreases the complexity of build system and fixes
10068 compilation right now.
10069
10070 2011-10-01 Ales Nesrsta <starous@volny.cz>
10071
10072 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
10073 (fixed problem related to using UHCI with coreboot).
10074
10075 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
10076
10077 * gentpl.py: Use Autogen macros so that the output template file
10078 (Makefile.tpl) size is reduced.
10079
10080 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
10081
10082 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
10083 extra_dist.
10084
10085 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10086
10087 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
10088 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
10089
10090 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10091
10092 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
10093 _fullpath.
10094
10095 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10096
10097 Remove extra declaration of sleep for mingw32.
10098
10099 * util/misc.c (sleep) [__MINGW32__]: Removed.
10100 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
10101
10102 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
10103
10104 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
10105 type and packname.
10106 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
10107 Resurrected.
10108 (NETBSD_BTINFO_BOOTWEDGE): New definition.
10109 (grub_netbsd_btinfo_bootwedge): New struct.
10110 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
10111 New function.
10112 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
10113
10114 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
10115
10116 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
10117 loader.
10118
10119 2011-09-28 Andreas Born <futur.andy@googlemail.com>
10120
10121 Fix incorrect identifiers in bash-completion.
10122
10123 * util/bash-completion.d/grub-completion.bash.in
10124 (_grub_mkpasswd-pbkdf2): Rename to ...
10125 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
10126 (_grub_script-check): Rename to ...
10127 (_grub_script_check): ... this. All users updated.
10128
10129 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
10130
10131 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
10132 Return 0 if disk isn't biosdisk.
10133
10134 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
10135
10136 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
10137 on NetBSD.
10138 * Makefile.util.def (grub-fstest): Likewise.
10139
10140 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
10141
10142 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
10143 Get sector size from disk label.
10144
10145 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
10146
10147 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
10148 */README* as well as README*.
10149 Reported by: Axel Beckert.
10150
10151 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10152
10153 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
10154 case of less than 256 MiB of RAM.
10155
10156 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10157
10158 * grub-core/commands/wildcard.c (make_regex): Handle @.
10159
10160 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10161
10162 * util/grub-install.in: Move cryptodisk logic to appropriate place.
10163
10164 2011-08-21 Szymon Janc <szymon@janc.net.pl>
10165
10166 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
10167 AC_LANG_CONFTEST macros.
10168
10169 2011-08-20 Szymon Janc <szymon@janc.net.pl>
10170
10171 Add grub-fstest option to uncompress data for commands.
10172
10173 * util/grub-fstest.c (uncompress): New var.
10174 (options): New option -u.
10175
10176 2011-08-20 Szymon Janc <szymon@janc.net.pl>
10177
10178 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
10179 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
10180
10181 2011-08-20 Szymon Janc <szymon@janc.net.pl>
10182
10183 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
10184 file type was not recognized correctly (not gzip or corrupted).
10185
10186 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10187
10188 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
10189 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
10190
10191 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
10194 loongson.
10195 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
10196 video_radeon_fuloong2e.
10197 * grub-core/video/radeon_fuloong2e.c: New file.
10198 * include/grub/video.h (grub_video_id_t): Add new ID
10199 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
10200
10201 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10202
10203 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
10204 define.
10205 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
10206 that PRID matches the detected subplatform and reset the subplatform
10207 if it doesn't.
10208
10209 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10210
10211 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
10212
10213 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10214
10215 Fix PCI iterating on functions >= 4.
10216
10217 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
10218 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
10219 Removed.
10220 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
10221 (grub_pci_read): Fix bitmask.
10222 (grub_pci_read_word): Likewise.
10223 (grub_pci_read_byte): Likewise.
10224 (grub_pci_write): Likewise.
10225 (grub_pci_write_word): Likewise.
10226 (grub_pci_write_byte): Likewise.
10227
10228 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10229
10230 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
10231 can still be specified in TARGET_CFLAGS)
10232
10233 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10234
10235 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
10236
10237 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
10238 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
10239 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
10240 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
10241 (FULOONG): Rename to ...
10242 (FULOONG2F): ... this. All users updated.
10243 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
10244 (machtype_fuloong2f_str): ... this.
10245 (machtype_fuloong2e_str): New string.
10246 Check for machtype_fuloong2e_str.
10247 * grub-core/loader/mips/linux.c (loongson_machtypes)
10248 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
10249 * grub-core/term/serial.c (loongson_defserial)
10250 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
10251 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
10252 loongson_defserial.
10253 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
10254 Rename to ...
10255 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
10256 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
10257 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
10258 to IMAGE_FULOONG2F_FLASH. All users updated.
10259 (image_targets): Rename images.
10260 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
10261
10262 2011-08-19 Szymon Janc <szymon@janc.net.pl>
10263
10264 Make enable of disk cache statistics code configurable.
10265
10266 * configure.ac: --enable-cache-stats added.
10267 * config.h.in (DISK_CACHE_STATS): New define.
10268 * grub-core/Makefile.core.def (cacheinfo): New command.
10269 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
10270 * grub-core/commands/cacheinfo.c: New file.
10271 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
10272 moved to cacheinfo.c.
10273 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
10274 debug code.
10275 * include/grub/disk.h: Likewise.
10276
10277 2011-08-19 Szymon Janc <szymon@janc.net.pl>
10278
10279 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
10280 * grub-core/Makefile.am: Likewise.
10281
10282 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10283
10284 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
10285 non-zero pull.
10286
10287 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10288
10289 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
10290 All users updated.
10291 (grub_jfs_lookup_symlink): Use correct starting inode.
10292
10293 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10294
10295 * util/grub-setup.c (main): Add missing gcry initialisation.
10296
10297 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10298
10299 Don't accept text modes on EFI when booting Linux.
10300
10301 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
10302 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
10303
10304 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
10305 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
10306
10307 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
10308 use of "/path/.." as in grub-install for EFI as well as handling
10309 symlinks correctly.
10310 Fixes Debian bug #637768.
10311
10312 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
10313
10314 * util/grub-probe.c: Remove duplicate #include.
10315
10316 2011-08-10 Robert Millan <rmh@gnu.org>
10317
10318 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
10319
10320 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
10321 function.
10322 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
10323 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
10324
10325 2011-08-03 Robert Millan <rmh@gnu.org>
10326
10327 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
10328 la_array as packed.
10329 Reported by: Zachary Bedell
10330
10331 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
10332
10333 * configure.ac: The Loongson port requires grub-mkfont due to its
10334 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
10335 be built.
10336
10337 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
10338
10339 * util/grub-install.in: Don't source grub-mkconfig_lib until after
10340 processing arguments (otherwise help2man fails when GRUB has not yet
10341 been installed).
10342
10343 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10344
10345 New script grub-mkstandalone.
10346
10347 * Makefile.util.def (grub-mkstandalone): New script.
10348 * docs/man/grub-mkstandalone.h2m: New file.
10349 * util/grub-mkstandalone.in: Likewise.
10350
10351 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10352
10353 Support ATA disks with 4K sectors.
10354
10355 * include/grub/ata.h (grub_ata): New member log_sector_size.
10356 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
10357 (grub_ata_identify): Read sector size.
10358 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
10359
10360 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10361
10362 * util/grub-install.in: Don't use uhci outside of x86.
10363
10364 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10365
10366 * util/grub-mkrescue.in: Add missing quotes.
10367
10368 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10369
10370 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
10371 dereference.
10372
10373 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10374
10375 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
10376
10377 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10378
10379 * include/grub/video.h: add missing EXPORT_FUND on
10380 grub_video_edid_checksum and grub_video_edid_preferred_mode.
10381
10382 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 * include/grub/mips/kernel.h: Fix define conflict.
10385
10386 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10387
10388 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
10389 all four ways.
10390
10391 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
10392
10393 Preferred resolution detection for VBE.
10394
10395 * grub-core/video/video.c (grub_video_edid_checksum): New function.
10396 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
10397 the Flat Panel extension, in line with the X.org VESA driver.
10398 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
10399 New function.
10400 (grub_vbe_bios_get_ddc_capabilities): Likewise.
10401 (grub_vbe_bios_read_edid): Likewise.
10402 (grub_vbe_get_preferred_mode): Likewise.
10403 (grub_video_vbe_setup): When the mode is "auto", try to get the
10404 preferred mode from VBE, and use the largest mode that is no larger
10405 than the preferred mode (some BIOSes expose a preferred mode that is
10406 not in their mode list!). If this fails, fall back to 640x480 as a
10407 safe conservative choice.
10408 (grub_video_vbe_get_edid): New function.
10409 (grub_video_vbe_adapter): Add get_edid.
10410 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
10411 (struct grub_video_adapter): Add get_edid.
10412 (grub_video_edid_checksum): Add prototype.
10413 (grub_video_edid_preferred_mode): Likewise.
10414 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
10415 structure.
10416
10417 * grub-core/commands/videoinfo.c (print_edid): New function.
10418 (grub_cmd_videoinfo): Print EDID if available.
10419
10420 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
10421 is more appropriate on a wider range of platforms than 640x480.
10422 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
10423 documentation.
10424
10425 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10426
10427 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
10428
10429 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10430
10431 * po/POTFILES.in: Regenerate.
10432
10433 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10434
10435 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
10436 incorrect memory usage.
10437
10438 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 * util/grub-install.in: Source grub-mkconfig_lib.
10441
10442 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
10443
10444 Remove getroot.c from core on emu platform.
10445
10446 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
10447 kern/emu/raid.c.
10448 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
10449 useless.
10450 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
10451 * util/getroot.c (get_win32_path): ... here.
10452 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
10453 * util/getroot.c (fini_libzfs): ... here.
10454 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
10455 * util/getroot.c (grub_get_libzfs_handle): ... here.
10456 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
10457 Moved from here...
10458 * util/getroot.c (grub_find_zpool_from_dir): ... here.
10459 * grub-core/kern/emu/misc.c
10460 (grub_make_system_path_relative_to_its_root): Moved from here...
10461 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
10462 * grub-core/kern/emu/getroot.c: Moved from here ...
10463 * util/getroot.c: ... here. All users updated.
10464 * grub-core/kern/emu/raid.c: Moved from here ...
10465 * util/raid.c: ... here. All users updated.
10466
10467 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
10468
10469 * po/POTFILES.in: Regenerate.
10470
10471 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10472
10473 Fix compilation on GNU/Linux.
10474
10475 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
10476 Disable geli.
10477 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
10478 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
10479 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
10480
10481 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10482 2011-07-07 Michael Gorven <michael@gorven.za.net>
10483 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
10484
10485 LUKS and GELI support.
10486
10487 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
10488 grub-core/disk/luks.c, grub-core/disk/geli.c,
10489 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
10490 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
10491 grub-core/lib/arg.c.
10492 (libgrubmods.a): Remove gcrypts cflags and cppflags.
10493 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
10494 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
10495 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
10496 (grub-bin2h): Add libgcry.a.
10497 (grub-mkimage): Likewise.
10498 (grub-mkrelpath): Likewise.
10499 (grub-script-check): Likewise.
10500 (grub-editenv): Likewise.
10501 (grub-mkpasswd-pbkdf2): Likewise.
10502 (grub-pe2elf): Likewise.
10503 (grub-fstest): Likewise.
10504 (grub-mkfont): Likewise.
10505 (grub-mkdevicemap): Likewise.
10506 (grub-probe): Likewise.
10507 (grub-ofpath): Likewise.
10508 (grub-mklayout): Likewise.
10509 (example_unit_test): Likewise.
10510 (grub-menulst2cfg): Likewise.
10511 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
10512 * grub-core/Makefile.core.def (cryptodisk): New module.
10513 (luks): Likewise.
10514 (geli): Likewise.
10515 * grub-core/disk/AFSplitter.c: New file.
10516 * grub-core/disk/cryptodisk.c: Likewise.
10517 * grub-core/disk/geli.c: Likewise.
10518 * grub-core/disk/luks.c: Likewise.
10519 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
10520 grub_util_is_lvm.
10521 (grub_util_get_dm_abstraction): New function.
10522 (grub_util_follow_gpart_up): Likewise.
10523 (grub_util_get_geom_abstraction): Likewise.
10524 (grub_util_get_dev_abstraction): Use new functions.
10525 (grub_util_pull_device): Pull GELI and LUKS.
10526 (grub_util_get_grub_dev): Handle LUKS and GELI.
10527 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
10528 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
10529 (follow_geom_up): Removed.
10530 (grub_util_fd_seek): New function.
10531 (open_device): Use grub_util_fd_seek.
10532 (nread): Rename to ..
10533 (grub_util_fd_read): ... this. All users updated.
10534 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
10535 (grub_crypto_cbc_decrypt): Likewise.
10536 (grub_crypto_hmac_write): Likewise.
10537 (grub_crypto_hmac_buffer): Likewise.
10538 (grub_password_get): Extend to util.
10539 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
10540 New member modname.
10541 (gcry_md_spec) [GRUB_UTIL]: Likewise.
10542 * include/grub/cryptodisk.h: New file.
10543 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
10544 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
10545 LUKS and GELI.
10546 (grub_util_follow_gpart_up): New proto.
10547 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
10548 (grub_util_fd_read): Likewise.
10549 (grub_cryptodisk_cheat_mount): Likewise.
10550 (grub_util_cryptodisk_print_uuid): Likewise.
10551 (grub_util_get_fd_sectors): Likewise.
10552 * util/grub-fstest.c (mount_crypt): New var.
10553 (fstest): Mount crypto if requested.
10554 (options): New option -C.
10555 (argp_parser): Parse -C.
10556 (main): Init and fini gcry.
10557 * util/grub-install.in: Support cryptodisk install.
10558 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
10559 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
10560 cryptodisk.
10561 (prepare_grub_to_access_device): Likewise.
10562 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
10563 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
10564 (probe_cryptodisk_uuid): New function.
10565 (probe_abstraction): Likewise.
10566 (probe): Use new functions.
10567 * util/import_gcry.py: Create Makefile.utilgcry.def.
10568 Add modname member.
10569
10570 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10571
10572 Lazy device scanning.
10573
10574 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
10575 (grub-setup): Remove util/raid.c.
10576 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
10577 * grub-core/disk/lvm.c (scan_depth): New variable.
10578 (grub_lvm_iterate): Rescan if necessary.
10579 (find_lv): New function based on grub_lvm_open.
10580 (grub_lvm_open): Use find_lv. Rescan on error.
10581 (is_node_readable): New function.
10582 (is_lv_readable): Likewise.
10583 (grub_lvm_scan_device): Skip already found disks.
10584 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
10585 Stop if searched device is found and readable.
10586 * grub-core/disk/raid.c (inscnt): New variable.
10587 (scan_depth): Likewise.
10588 (scan_devices): New function based on grub_raid_register. Abort if
10589 looked for device is found.
10590 (grub_raid_iterate): Rescan if needed.
10591 (find_array): NEw function based on -grub_raid_open.
10592 (grub_raid_open): Use find_array and rescan.
10593 (insert_array): Set became_readable_at.
10594 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
10595 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
10596 New function.
10597 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
10598 (grub_util_pull_device): New function.
10599 (grub_util_get_grub_dev): Call grub_util_pull_device.
10600 * util/raid.c: Moved to ..
10601 * grub-core/kern/emu/raid.c: ... here.
10602 (grub_util_raid_getmembers): New parameter "bootable".
10603 All users updated. Support 1.x.
10604 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
10605 All users updated.
10606 * include/grub/disk.h (grub_disk_pull_t): New enum.
10607 (grub_disk_dev): Change iterate prototype.
10608 All users updated.
10609 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
10610 New proto.
10611 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
10612 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
10613 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
10614 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
10615 All users updated.
10616 * include/grub/util/raid.h: Removed.
10617
10618 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 * po/POTFILES.in: Regenerate.
10621
10622 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10623
10624 Unify sparc init with other ieee1275.
10625
10626 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
10627 instead of kern/sparc64/ieee1275/init.c.
10628 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
10629 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
10630 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
10631 grub/machine/kernel.h.
10632 (grub_ieee1275_original_stack) [__sparc__]: New variable.
10633 (grub_claim_heap) [__sparc__]: Use sparc version.
10634 (grub_machine_init): Moved args parsing to
10635 (grub_parse_cmdline): ...this.
10636 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
10637 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
10638 New definition.
10639 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
10640
10641 Move BOOTP to separate file.
10642
10643 * grub-core/Makefile.core.def (net): Add net/bootp.c.
10644 * grub-core/net/net.c: Move all BOOTP functions to
10645 * grub-core/net/bootp.c: ... here.
10646
10647 Use frame interface on PXE.
10648
10649 * grub-core/Makefile.core.def (pxecmd): Removed.
10650 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
10651 * grub-core/commands/i386/pc/pxecmd.c: Removed.
10652 * grub-core/i386/pc/pxe.c: Moved from here ...
10653 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
10654 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
10655 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
10656
10657 EFI network support.
10658
10659 * grub-core/Makefile.core.def (efinet): New module.
10660 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
10661 here...
10662 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
10663 All users updated.
10664 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
10665 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
10666 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
10667 * grub-core/net/drivers/efi/efinet.c: New file.
10668 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
10669 (grub_efi_net_config): New extern var.
10670
10671 Various cleanups and bugfixes.
10672
10673 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
10674 error.
10675 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
10676 disk declared as partition.
10677 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
10678 leak on failure.
10679 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
10680 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
10681 (grub_debug_zalloc): Likewise.
10682 (grub_debug_realloc): Likewise.
10683 (grub_debug_memalign): Likewise.
10684 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
10685 Check that target is IPv4.
10686 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
10687 local-mac-address as fallback.
10688 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
10689 memory leak.
10690 * grub-core/net/ip.c (ipchksum): Rename to ...
10691 (grub_net_ip_chksum): ... this. All users updated.
10692 (grub_net_recv_ip_packets): Special handling for DHCP.
10693 * util/grub-mkimage.c (generate_image): Zero-out aout header.
10694
10695 Unify prefix handling
10696
10697 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
10698 (grub_machine_get_bootlocation): ... this.
10699 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
10700 (grub_machine_get_bootlocation): ... this.
10701 (grub_prefix): New variable.
10702 (prefix): Removed.
10703 (root_dev): New variable.
10704 (dir): Likewise.
10705 (main): Use new variables.
10706 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
10707 Revamped into ...
10708 (grub_machine_get_bootlocation): ... this.
10709 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
10710 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
10711 (grub_machine_get_bootlocation): ... this.
10712 (grub_machine_set_prefix): Removed.
10713 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
10714 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
10715 Revamped into ...
10716 (grub_machine_get_bootlocation): ... this.
10717 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
10718 (grub_set_prefix_and_root): ... this. All users updated.
10719 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
10720 Revamped into ...
10721 (grub_machine_get_bootlocation): ... this.
10722 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
10723 (grub_machine_get_bootlocation): New proto.
10724 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
10725
10726 Less intrusive and more reliable seek on network implementation.
10727
10728 * grub-core/kern/file.c (grub_file_net_seek): Removed.
10729 (grub_file_seek): Don't call grub_file_net_seek.
10730 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
10731 (grub_net_fs_read_real): .. this.
10732 (grub_net_seek_real): Use net->offset.
10733 (grub_net_fs_read): Seek if necessary.
10734
10735 Unify IEEE1275 netwotk config with the other platforms.
10736
10737 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
10738 New variable.
10739 (grub_machine_get_bootlocation): Support network.
10740 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10741 Support type and device parsing.
10742 (grub_ieee1275_get_device_type): New function.
10743 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
10744 into ...
10745 (grub_ieee1275_net_config_real): ... this.
10746 (grub_ofnet_probecards): Removed.
10747 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
10748 * include/grub/ieee1275/ofnet.h: Removed.
10749 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
10750 extern var.
10751 (grub_ieee1275_get_device_type): New function.
10752
10753 Unify network device closing across platforms and make more robust.
10754
10755 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
10756 grub_grubnet_fini.
10757 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
10758 already.
10759 * grub-core/net/net.c (grub_net_network_level_interface_register):
10760 Update num_ifaces.
10761 (grub_net_card_unregister): Close all interfaces.
10762 (receive_packets): Don't poll if no iterfaces are registered.
10763 Open if necessary.
10764 (grub_net_fini_hw): New function.
10765 (grub_net_restore_hw): Likewise.
10766 (fini_hnd): New variable.
10767 (GRUB_MOD_INIT): Register preboot hook.
10768 (GRUB_MOD_FINI): Run and unregister preboot hook.
10769
10770 Poll network cards when idle.
10771
10772 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
10773 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
10774 * grub-core/net/net.c (receive_packets): Save last poll time.
10775 (grub_net_poll_cards_idle_real): New function.
10776 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
10777 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
10778 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
10779
10780 Rename ofnet interfaces.
10781
10782 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
10783 (grub_ofnet_findcards): Use ofnet_%s names.
10784
10785 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
10786
10787 Cleanup socket opening.
10788
10789 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
10790 (grub_net_fs_close): Likewise.
10791 (grub_net_fs_read_real): Use eof member.
10792 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
10793 (+grub_net_udp_close): New inline function.
10794
10795 * include/grub/net/tftp.h: Moved to the top of ...
10796 * grub-core/net/tftp.c: ... here.
10797 * include/grub/net/ip.h: Moved mostly to the top of ...
10798 * grub-core/net/ip.c: ... here.
10799 * include/grub/net/ethernet.h: Moved mostly to the top of ...
10800 * grub-core/net/ethernet.c: ... here.
10801
10802 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
10803
10804 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
10805 FS name.
10806
10807 * include/grub/net/ip.h (ipv4_ini): Removed.
10808 (ipv4_fini): Likewise.
10809
10810 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
10811 (grub_net_send_ip_packets): Likewise.
10812
10813 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10814
10815 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
10816 grub_read_cmos prototype.
10817
10818 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10819
10820 VGA text support in qemu-mips
10821
10822 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
10823 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
10824 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
10825 text.
10826 * grub-core/kern/i386/qemu/init.c: Renamed to ...
10827 * grub-core/kern/vga_init.c: ... this.
10828 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
10829 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
10830 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
10831 Adjust.
10832 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
10833 GRUB_MACHINE_PCI_IO_BASE.
10834
10835 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10836
10837 MIPS qemu flash support.
10838
10839 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
10840 magic.
10841 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
10842 (grub_machine_init): Probe memory if its size isn't known.
10843 * util/grub-mkimage.c (image_targets): Add flash targets.
10844 (generate_image): Handle flash targets.
10845
10846 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10847
10848 MIPS qemu at_keyboard support.
10849
10850 * gentpl.py (videoinkernel): Add qemu-mips.
10851 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
10852 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
10853 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
10854 modules.
10855 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
10856 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
10857 * grub-core/term/serial.c (grub_serial_register)
10858 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
10859
10860 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10861
10862 CMOS support on sparc.
10863
10864 * gentpl.py (cmos): Add powerpc and sparc.
10865 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
10866 powerpc and sparc.
10867 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
10868 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
10869 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
10870 grub_set_datetime_cmos.
10871 * grub-core/lib/ieee1275/cmos.c: New file.
10872 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
10873 (find_rtc): Set no_ieee1275_rtc on error.
10874 (grub_get_datetime): Call grub_get_datetime_cmos on error.
10875 (grub_set_datetime): Call grub_set_datetime_cmos on error.
10876 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
10877 fail. Move value to argument. All users updated
10878 (grub_cmos_write): Likewise.
10879 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
10880 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
10881 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
10882 grub_get_datetime_cmos and grub_set_datetime_cmos.
10883
10884 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10885
10886 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
10887 sourcing grub-mkconfig_lib.
10888 * util/update-grub_lib.in: Likewise.
10889 * util/grub.d/00_header.in: Likewise.
10890 * util/grub.d/10_hurd.in: Likewise.
10891 * util/grub.d/10_kfreebsd.in: Likewise.
10892 * util/grub.d/10_linux.in: Likewise.
10893 * util/grub.d/10_netbsd.in: Likewise.
10894 * util/grub.d/10_windows.in: Likewise.
10895 * util/grub.d/20_linux_xen.in: Likewise.
10896 * util/grub.d/30_os-prober.in: Likewise.
10897
10898 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
10899
10900 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
10901 default_bg_color rather than black.
10902 (grub_gfxterm_fullscreen): Likewise.
10903 (grub_gfxterm_background_color_cmd): Save new background color in
10904 default_bg_color.
10905
10906 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10907
10908 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
10909
10910 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10911
10912 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
10913 mismerge.
10914
10915 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10916
10917 Chainloading on coreboot support.
10918
10919 * grub-core/Makefile.core.def (chain): Add coreboot.
10920 * grub-core/loader/i386/coreboot/chainloader.c: New file.
10921
10922 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10923
10924 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
10925 if it happens.
10926
10927 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10928
10929 Implement time command.
10930
10931 * grub-core/Makefile.core.def (time): New module.
10932 * grub-core/commands/time.c: New file.
10933 * grub-core/script/parser.y: Remove "time" keyword.
10934 * grub-core/script/yylex.l: Likewise.
10935
10936 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10937
10938 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
10939
10940 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10941
10942 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
10943 when handling leftovers.
10944
10945 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10946
10947 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
10948 so that help2man doesn't fail.
10949
10950 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10951
10952 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
10953 type in pointers on sparc64.
10954 (get_card_packet): Likewise.
10955
10956 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
10957
10958 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
10959 with `*'.
10960 (grub_cmd_videoinfo): Fetch current video mode.
10961
10962 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10963
10964 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
10965 because of underlying system restrictions.
10966
10967 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10968
10969 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
10970 necessary.
10971
10972 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10973
10974 Coreboot video support.
10975
10976 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
10977 (vbe): Likewise.
10978 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
10979 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
10980 here ...
10981 * grub-core/kern/i386/int.S: ... here.
10982 * grub-core/video/i386/pc/vbe.c: Updated includes.
10983 * grub-core/video/i386/pc/vga.c: Likewise.
10984 * include/grub/i386/coreboot/memory.h
10985 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
10986 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
10987 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
10988 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
10989 Disable interrupts.
10990 * include/grub/i386/pc/vga.h: Removed. All users updated.
10991
10992 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10993
10994 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
10995 definitions for dprintf.
10996 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
10997
10998 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10999
11000 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
11001 prototype.
11002 (get_card_packet): Likewise.
11003
11004 2011-06-26 Yves Blusseau <blusseau@zetam.org>
11005
11006 Display the path of the file when file is not found
11007
11008 * grub-core/fs/fat.c: Display the filename when file is not found.
11009 * grub-core/fs/fshelp.c: Likewise.
11010 * grub-core/fs/hfs.c: Likewise.
11011 * grub-core/fs/jfs.c: Likewise.
11012 * grub-core/fs/minix.c: Likewise.
11013 * grub-core/fs/ufs.c: Likewise.
11014 * grub-core/fs/btrfs.c: Likewise.
11015 * grub-core/commands/i386/pc/play.c: Likewise.
11016
11017 2011-06-26 Szymon Janc <szymon@janc.net.pl>
11018
11019 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
11020 pointer checks before calling grub_free().
11021 * grub-core/commands/wildcard.c (match_devices): Likewise.
11022 * grub-core/commands/wildcard.c (match_files): Likewise.
11023 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
11024 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
11025 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
11026 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
11027 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
11028 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
11029 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
11030 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
11031 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
11032
11033 2011-06-25 Patrick <p55@mailinator.com>
11034
11035 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
11036
11037 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
11038
11039 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
11040 (grub_pxe_send): Likewise.
11041 (GRUB_MOD_INIT): Fix types.
11042
11043 2011-06-24 Szymon Janc <szymon@janc.net.pl>
11044
11045 * grub-core/io/xzio.c: Fix code style issues
11046
11047 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11048 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
11049
11050 Network infrastructure.
11051 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
11052
11053 * include/grub/net/arp.h: New file.
11054 * include/grub/net/device.h: Likewise.
11055 * include/grub/net/ethernet.h: Likewise.
11056 * include/grub/net/ip.h: Likewise.
11057 * include/grub/net/netbuff.h: Likewise.
11058 * include/grub/net/tftp.h: Likewise.
11059 * include/grub/net/udp.h: Likewise.
11060 * include/grub/ieee1275/ofnet.h: Likewise.
11061 * include/grub/emu/export.h: Likewise.
11062 * include/grub/net.h: Likewise.
11063 * grub-core/net/arp.c: Likewise.
11064 * grub-core/net/ethernet.c: Likewise.
11065 * grub-core/net/ip.c: Likewise.
11066 * grub-core/net/udp.c: Likewise.
11067 * grub-core/net/tftp.c: Likewise.
11068 * grub-core/net/netbuff.c: Likewise.
11069 * grub-core/net/net.c: Likewise.
11070 * grub-core/net/drivers/emu/emunet.c: Likewise.
11071 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
11072 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
11073 export.h.
11074 * grub-core/Makefile.core.def (net): New module.
11075 (tftp): Likewise.
11076 (ofnet): Likewise.
11077 (emunet): Likewise.
11078 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
11079 network protocols.
11080 * grub-core/kern/device.c (grub_net_open) : New variable.
11081 (grub_device_open): Handle network device.
11082 (grub_device_close): Likewise.
11083 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
11084 (grub_grubnet_fini): Likewise.
11085 (grub_file_seek): Seek in network device.
11086 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
11087 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
11088 network root.
11089 (grub_machine_fini): Call grub_grubnet_fini.
11090 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
11091 network.
11092 (grub_ieee1275_get_aliasdevname): New function.
11093 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11094 Add unofficial Solaris network info.
11095 (grub_multiboot_make_mbi): Likewise.
11096 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
11097 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
11098 * include/grub/device.h (grub_fs): Removed.
11099 * include/grub/err.h (grub_err_t): Add network-related values.
11100 * include/grub/i386/pc/pxe.h: Removed bootp parts.
11101 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
11102 (grub_ieee1275_get_aliasdevname): New proto.
11103 * include/grub/net.h: Rewritten.
11104
11105 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11106
11107 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
11108 names.
11109
11110 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11111
11112 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
11113 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
11114 it truncates the output.
11115 Reported by: Ximin Luo.
11116
11117 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11118
11119 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
11120
11121 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11122
11123 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
11124 partmap before abstraction.
11125
11126 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
11127
11128 * util/grub-mkconfig_lib.in: Add missing quotes.
11129
11130 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11131
11132 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
11133 old method if mountinfo would return /dev/root and /dev/root doesn't
11134 exist.
11135
11136 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11137
11138 ZFS zlib support
11139
11140 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
11141 (decomp_table): Add zlib entries.
11142 (zio_read): USe 8 bits for compression function rather than 3.
11143 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
11144
11145 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11146
11147 * grub-core/disk/ahci.c: Add missing license statements.
11148 * grub-core/fs/romfs.c: Likewise.
11149 * grub-core/lib/ia64/setjmp.S: Likewise.
11150 * grub-core/loader/i386/pc/freedos.c: Likewise.
11151 * grub-core/loader/ia64/efi/linux.c: Likewise.
11152 * grub-core/video/colors.c: Likewise.
11153 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
11154
11155 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11156
11157 AHCI support.
11158
11159 * grub-core/Makefile.core.def (ata_pthru): Removed.
11160 (ahci): New module.
11161 (pata): Likewise.
11162 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
11163 on unload.
11164 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
11165 readwrite.
11166 (grub_hdparm_do_check_powermode_cmd): Likewise.
11167 (grub_hdparm_do_smart_cmd): Likewise.
11168 (grub_hdparm_set_val_cmd): Likewise.
11169 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
11170 * grub-core/disk/ahci.c: New file.
11171 * grub-core/disk/ata.c: Factor out the low-level part into ...
11172 * grub-core/disk/pata.c: ... here.
11173 * grub-core/disk/ata_pthru.c: Contents moved to ...
11174 * grub-core/disk/pata.c: ... here.
11175 * grub-core/disk/scsi.c (grub_scsi_names): New array.
11176 (grub_scsi_iterate): Use grub_scsi_names.
11177 (grub_scsi_open): Likewise.
11178 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
11179 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
11180 (grub_ata_regs_t): New struct.
11181 (grub_disk_ata_pass_through_parms): Likewise.
11182 (grub_ata_device): Renamed to ...
11183 (grub_ata): ... this.
11184 (grub_ata_dev): New struct.
11185 Removed all low-level inline functions.
11186 * include/grub/scsi.h: Add PATA and AHCI subsystems.
11187 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
11188 iterate hooks and open. All users updated.
11189 * util/grub-install.in: Handle AHCI disk module.
11190
11191 2011-06-23 Szymon Janc <szymon@janc.net.pl>
11192
11193 Add support for DRI and RSTn markers in JPEG files.
11194
11195 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
11196 (JPEG_MARKER_RST0): Likewise.
11197 (JPEG_MARKER_RST1): Likewise.
11198 (JPEG_MARKER_RST2): Likewise.
11199 (JPEG_MARKER_RST3): Likewise.
11200 (JPEG_MARKER_RST4): Likewise.
11201 (JPEG_MARKER_RST5): Likewise.
11202 (JPEG_MARKER_RST6): Likewise.
11203 (JPEG_MARKER_RST7): Likewise.
11204 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
11205 (grub_jpeg_decode_dri): New function.
11206 (grub_jpeg_decode_sos): Move image data related part into
11207 grub_jpeg_decode_data function.
11208 (grub_jpeg_decode_data): New function.
11209 (grub_jpeg_reset): New function.
11210 (grub_jpeg_decode_jpeg): Handle new markers.
11211
11212 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11213
11214 * util/ieee1275/ofpath.c (check_sas): Close fd.
11215 (main): Free of_path.
11216 Reported by: David Volgyes <dvolgyes>.
11217
11218 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11219
11220 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
11221 Reported by: David Volgyes <dvolgyes>.
11222
11223 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11224
11225 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
11226 file after stat.
11227 Reported by: David Volgyes <dvolgyes>.
11228
11229 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11230
11231 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
11232
11233 Reported by: David Volgyes <dvolgyes>.
11234
11235 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11236
11237 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
11238 Prevent memory leak.
11239
11240 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11241
11242 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
11243 (main): Close file.
11244 Reported by: David Volgyes <dvolgyes>.
11245
11246 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11247
11248 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
11249 to continue if allocation is failed.
11250
11251 Reported by: David Volgyes <dvolgyes>.
11252
11253 2011-06-23 David Volgyes <dvolgyes>
11254
11255 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
11256 dereference.
11257
11258 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11259
11260 Fix spurious warning.
11261
11262 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
11263 (acorn_partition_map_find): Use .bin member.
11264
11265 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11266
11267 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
11268 /dev/root as a valid device.
11269
11270 2011-06-23 Jim Meyering <meyering@redhat.com>
11271
11272 Avoid NULL deref in grub_device_open.
11273
11274 * grub-core/kern/device.c (grub_device_open): Don't dereference
11275 a NULL pointer upon failed grub_env_get.
11276
11277 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11278
11279 Support non-512B sectors and agglomerate reads.
11280
11281 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
11282 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
11283 (disk_io_guid): Removed.
11284 (make_devices): Locate solely by BlockIO.
11285 (grub_efidisk_open): Fill log_sector_size and total_sectors.
11286 (grub_efidisk_read): Use read_blocks.
11287 (grub_efidisk_write): Use write_blocks.
11288 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
11289 log_sector_size.
11290 (get_safe_sectors): Handle non-512B sectors.
11291 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
11292 sectors.
11293 (grub_biosdisk_write): Handle non-512B sectors.
11294 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
11295 (grub_scsi_read): Remove special non-512B block handling (now handled
11296 one level up).
11297 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
11298 and do sanity checks.
11299 (grub_disk_adjust_range): Handle non-512B sectors.
11300 (transform_sector): New function.
11301 (grub_disk_read_small): Likewise.
11302 (grub_disk_read): Rewritten.
11303 (grub_disk_write): Handle non-512B sectors.
11304 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
11305 log_sector_size.
11306 (open_device): Use log_sector_size.
11307 (grub_util_biosdisk_read): Likewise.
11308 (grub_util_biosdisk_write): Likewise.
11309 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
11310 non-512B sectors.
11311 (pc_partition_map_embed): Likewise.
11312 * include/grub/disk.h (grub_disk): New field log_sector_size.
11313 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
11314 (GRUB_DISK_CACHE_BITS): Increased to 6.
11315 * util/grub-fstest.c (fstest): New command testload.
11316 (argp_parser): Likewise.
11317
11318 2011-06-16 Robert Millan <rmh@gnu.org>
11319
11320 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
11321 `ata' driver on kernel of FreeBSD 9.
11322
11323 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
11324 (get_ataraid_disk_name): New functions.
11325 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
11326 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
11327 get_ataraid_disk_name() and get_ada_disk_name().
11328
11329 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
11330
11331 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
11332 input format.
11333
11334 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
11335
11336 * docs/grub.texi (Obtaining and Building GRUB): Substitute
11337 `ftp.gnu.org' for `alpha.gnu.org'.
11338
11339 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
11340
11341 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
11342 partitions under /dev/disk/by-id/.
11343
11344 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
11345
11346 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
11347 after ten consecutive open failures. Scanning all the way up to
11348 10000 is excessive and can cause serious performance problems in
11349 some configurations.
11350 Fixes Ubuntu bug #787461.
11351
11352 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11353
11354 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
11355 opening new one.
11356
11357 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
11358 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11359
11360 Don't stat devices unless we have to.
11361
11362 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
11363 dir == /dev/mapper.
11364 (grub_guess_root_device): Use already known os_dev if possible.
11365 * grub-core/kern/emu/hostdisk.c
11366 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
11367 if device is known to be a dm one.
11368
11369 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
11370
11371 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
11372 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
11373 Reported by: Pawel Tecza.
11374
11375 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
11376
11377 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
11378 (lsefisystab): Likewise.
11379 (lssal): Likewise.
11380 (lsefimmap): Likewise.
11381 (hdparm): Enable on qemu-mips.
11382 (setjmp): Add ia64 nodist.
11383 (serial): Simplify tags.
11384
11385 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11386
11387 * Makefile.util.def (grub-ofpathname): Install manual page.
11388
11389 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11390
11391 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
11392
11393 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11394
11395 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
11396
11397 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11398
11399 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
11400 into dprintf.
11401
11402 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11403
11404 Use full 64-bit division.
11405
11406 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
11407 (grub_divmod64): ... this.
11408 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
11409 version.
11410
11411 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11412
11413 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
11414 `source'.
11415
11416 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11417
11418 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
11419 to avoid accidents when debugging with 'sh -x'.
11420 * grub-core/gensyminfo.sh.in: Likewise.
11421 * tests/example_scripted_test.in: Likewise.
11422 * tests/grub_cmd_regexp.in: Likewise.
11423 * tests/grub_script_blanklines.in: Likewise.
11424 * tests/grub_script_dollar.in: Likewise.
11425 * tests/grub_script_expansion.in: Likewise.
11426 * tests/grub_script_final_semicolon.in: Likewise.
11427 * tests/partmap_test.in: Likewise.
11428 * tests/util/grub-shell-tester.in: Likewise.
11429 * tests/util/grub-shell.in: Likewise.
11430
11431 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11432
11433 Move gfxmenu color handling to video, so that gfxterm can use it
11434 too.
11435
11436 * grub-core/gfxmenu/named_colors.c: Move to ...
11437 * grub-core/video/colors.c: ... here. Rename
11438 grub_gui_get_named_color to grub_video_get_named_color.
11439 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
11440 * grub-core/video/colors.c (my_isxdigit): ... here.
11441 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
11442 Move to ...
11443 * grub-core/video/colors.c (parse_hex_color_component): ... here.
11444 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
11445 to ...
11446 * grub-core/video/colors.c (grub_video_parse_color): ... here.
11447
11448 * include/grub/gui.h (grub_gui_color_t): Move to ...
11449 * include/grub/video.h (grub_video_rgba_color_t): ... here.
11450 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
11451 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
11452 * include/grub/gui.h (grub_gui_map_color): Move to ...
11453 * include/grub/video.h (grub_video_map_rgba_color): ... here.
11454 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
11455 to ...
11456 * include/grub/video.h (grub_video_get_named_color): ... here.
11457 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
11458 * include/grub/video.h (grub_video_parse_color): ... here.
11459
11460 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
11461 video/colors.c.
11462 (gfxmenu): Remove gfxmenu/named_colors.c.
11463 (video) [videomodules]: Add video/colors.c.
11464
11465 Add a background_color command.
11466
11467 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
11468 function.
11469 (GRUB_MOD_INIT): Register background_color command.
11470 (GRUB_MOD_FINI): Unregister background_color command.
11471 (redraw_screen_rect): Allow blend/replace of text layer to be
11472 controlled independently from whether there is a background bitmap.
11473 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
11474 changing bitmap.
11475
11476 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11477
11478 Patch BPB in ntldr and chainloader --bpb.
11479
11480 * grub-core/fs/fat.c: Include grub/fat.h.
11481 (grub_fat_bpb): Moved to ...
11482 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
11483 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
11484 grub/ntfs.h.
11485 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
11486 Moved from here...
11487 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
11488 here.
11489 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
11490 New function.
11491 (grub_chainloader_cmd): Patch BPB if --bpb is given.
11492 (GRUB_MOD_INIT): Show --bpb.
11493 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
11494 * grub-core/normal/main.c (features): New variable.
11495 (GRUB_MOD_INIT): Set feature_* variables.
11496 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
11497 proto.
11498 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
11499
11500 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11501
11502 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
11503 for cleanness.
11504
11505 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11506
11507 FreeDOS direct loading support.
11508
11509 * docs/grub.texi (Supported OS): Add FreeDOS.
11510 * grub-core/Makefile.core.def (freedos): New module.
11511 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
11512 variable.
11513 (grub_relocator16_boot): Handle %ebx.
11514 * grub-core/lib/i386/relocator16.S: Likewise.
11515 * grub-core/loader/i386/pc/freedos.c: New file.
11516
11517 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11518
11519 Long Linux command line support.
11520
11521 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
11522 (maximal_cmdline_size): New variable.
11523 (allocate_pages): Use maximal_cmdline_size.
11524 (grub_cmd_linux): Set and use maximal_cmdline_size.
11525 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
11526 (allocate_pages): Use maximal_cmdline_size.
11527 (grub_cmd_linux): Set and use maximal_cmdline_size.
11528 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
11529 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
11530 and cmdline_size.
11531
11532 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11533 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11534
11535 Improve devmapper support
11536
11537 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
11538 (grub_util_is_lvm): New function.
11539 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
11540 than lvm if not dmraid.
11541 Handle mapped md nodes.
11542 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
11543 (grub_util_device_is_mapped): ... this. Make always available. All users
11544 updated.
11545 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
11546 (convert_system_partition_to_system_disk): Handle lvm, mpath and
11547 dmraid nodes.
11548 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
11549
11550 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11551
11552 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
11553
11554 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
11555 * grub-core/modinfo.sh.in: New file.
11556 * grub-core/Makefile.core.def (modinfo.sh): New script.
11557 * util/grub-mknetdir.in: Use modinfo.sh.
11558 * util/grub-mkrescue.in: Likewise.
11559
11560 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11561
11562 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11563 Fix potential usage of Elf32 instead of Elf64 when compiling on
11564 32-bit architecture. Add endianness macros while on it.
11565
11566 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11567
11568 Use mipsel- rather than mips- in directories involving mipsel ports to
11569 allow both endiannesses coexist.
11570
11571 * configure.ac: proparate target_cpu=mipsel rather than resetting to
11572 mips. All conditions adjusted.
11573 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
11574 variable.
11575 * util/grub-install.in: Adjust conditions to take renaming into account.
11576 * util/grub-mkimage.c (image_targets): Likewise. New target
11577 mips-qemu_mips-elf for bigendian mips.
11578
11579 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11580
11581 Avoid unnecessary copying on MIPS.
11582
11583 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
11584 early if src == dest.
11585 * util/grub-mkimage.c (generate_image): Arange for src == dest if
11586 compression is none.
11587
11588 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11589
11590 Reduce memory footprint on SGI by putting modules before the kernel
11591 as opposed to after.
11592
11593 * grub-core/Makefile.core.def (kernel): Increase linking address.
11594 (none_decompress): Likewise.
11595 (xz_decompress): Likewise.
11596 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
11597 address.
11598 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
11599 layout change.
11600 (grub_arch_modules_addr): New function.
11601 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
11602 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
11603 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
11604 here.
11605 * grub-core/kern/mips/startup.S (total_size): Rename to ...
11606 (grub_total_modules_size): ... this. Make global.
11607 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
11608 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
11609 New definition.
11610 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
11611 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
11612 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
11613 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
11614 * util/grub-mkimage.c (image_target_desc): New flag
11615 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
11616 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
11617 (generate_image): Handle images with modules before kernel.
11618
11619 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11620
11621 Prevent potential loss of memory map by overwrite on qemu-mips.
11622
11623 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11624 Save ram size in $s4.
11625 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
11626 All users changed to grub_arch_memsize.
11627 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
11628 Loongson.
11629 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
11630 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
11631 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
11632 external variable.
11633
11634 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
11635
11636 * .bzrignore: Remove grub-dumpbios.
11637
11638 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
11639
11640 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
11641 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
11642 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
11643 existing options which append).
11644 * docs/grub.texi (Simple configuration): Document new options.
11645 Reported by: Ian Jackson. Fixes Debian bug #617538.
11646
11647 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
11648
11649 * util/grub-fstest.c (cmd_cat): New function.
11650 (fstest): Handle CMD_CAT.
11651 (options): Add cat.
11652 (argp_parser): Handle cat.
11653
11654 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
11655
11656 * Makefile.util.def (grub-bin2h): Don't install.
11657 * docs/man/grub-bin2h.h2m: Remove.
11658
11659 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11660
11661 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
11662 place.
11663
11664 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11665
11666 Reenable qemu-mips port.
11667
11668 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
11669 Fix small arc bug while on it.
11670 * gentpl.py: Handle qemu_mips.
11671 * grub-core/Makefile.am: Likewise.
11672 * grub-core/Makefile.core.def: Likewise.
11673 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
11674 inappropriate includes.
11675 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
11676 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
11677 * grub-core/kern/main.c (grub_modules_get_end)
11678 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
11679 * grub-core/kern/mips/qemu-mips: Moved to ..
11680 * grub-core/kern/mips/qemu_mips: ... this.
11681 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
11682 (grub_machine_init): Call terminfo_init and serial_init.
11683 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
11684 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11685 New variable.
11686 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
11687 parameter passing.
11688 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
11689 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
11690 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
11691 * include/grub/mips/qemu_mips/cmos.h: New file.
11692 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
11693 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
11694 Removed.
11695 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
11696 Use correct mips-style address.
11697 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
11698 (GRUB_TICKS_PER_SECOND): Removed.
11699 (grub_get_rtc): Likewise.
11700 (grub_cpu_idle): Likewise.
11701 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
11702 New definition.
11703 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
11704 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
11705 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
11706 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
11707 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
11708 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
11709 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
11710 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
11711
11712 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11713
11714 SGI ARCS port.
11715
11716 * Makefile.util.def (libgrubmods.a): Add dvh.c.
11717 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
11718 platforms.
11719 * configure.ac: New target mips-arc.
11720 * gentpl.py: Likewise.
11721 * grub-core/Makefile.am: Likewise.
11722 * grub-core/Makefile.core.def: Likewise.
11723 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
11724 (none_decompress): Likewise.
11725 (lsdev): New module.
11726 (datetime): Use lib/arc/datetime.c on ARC.
11727 (part_dvh): New module.
11728 * grub-core/commands/arc/lsdev.c: New file.
11729 * grub-core/disk/arc/arcdisk.c: Likewise.
11730 * grub-core/kern/mips/arc/init.c: Likewise.
11731 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
11732 aligned addresses.
11733 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
11734 support.
11735 (grub_arch_dl_relocate_symbols): Likewise.
11736 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
11737 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
11738 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
11739 platforms.
11740 * grub-core/lib/arc/datetime.c: New file.
11741 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
11742 pci.h on non-loongson.
11743 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
11744 (grub_linux_boot): Set unused registers to 0.
11745 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
11746 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
11747 * grub-core/mmap/mips/uppermem.c: ...here.
11748 * grub-core/partmap/dvh.c: New file.
11749 * grub-core/term/arc/console.c: Likewise.
11750 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
11751 (grub_terminfo_set_current): Add terminal "arc".
11752 (grub_terminfo_readkey): Support ARC sequences.
11753 * include/grub/arc/arc.h: New file.
11754 * include/grub/arc/console.h: Likewise.
11755 * include/grub/disk.h (grub_disk_dev_id): Add
11756 GRUB_DISK_DEVICE_ARCDISK_ID.
11757 * include/grub/mips/arc/kernel.h: New file.
11758 * include/grub/mips/arc/memory.h: Likewise.
11759 * include/grub/mips/arc/time.h: Likewise.
11760 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
11761 * include/grub/mips/kernel.h (grub_halt): ... here.
11762 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
11763 here...
11764 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
11765 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
11766 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
11767 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
11768 proto.
11769 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
11770 from here ...
11771 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
11772 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
11773 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
11774 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
11775 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
11776 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
11777 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
11778 (grub_phys_addr_t): Moved from here ...
11779 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
11780 (grub_vtop): Moved from here ...
11781 * include/grub/mips/memory.h (grub_vtop): ... here.
11782 (grub_map_memory): Moved from here ...
11783 * include/grub/mips/memory.h (grub_map_memory): ... here.
11784 (grub_unmap_memory): Moved from here ...
11785 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
11786 (grub_machine_mmap_iterate): Moved from here ...
11787 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
11788 (grub_mmap_get_lower): Moved from here ...
11789 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
11790 (grub_mmap_get_upper): Moved from here ...
11791 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
11792 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11793 here ...
11794 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11795 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
11796 here ...
11797 * include/grub/mips/time.h (grub_get_rtc): ... here.
11798 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11799 here ...
11800 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11801 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
11802 here ...
11803 * include/grub/mips/time.h (grub_cpu_idle): ... here.
11804 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
11805 definition.
11806 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
11807 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
11808 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
11809 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
11810 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11811 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11812 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
11813 (GRUB_MACHINE_LINK_ADDR): Likewise.
11814 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
11815 to 6.
11816 * util/grub-install.in: Run dvhtool on ARC.
11817 * util/grub-mkimage.c (image_targets): Add mips-arc.
11818 (generate_image): Handle ECOFF output for mips-arc.
11819
11820 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11821
11822 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
11823 blocks.
11824
11825 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11826
11827 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
11828 after enabling port.
11829
11830 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11831
11832 Skip incorrect USB devices.
11833
11834 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
11835 configcnt == 0.
11836 * include/grub/usb.h (grub_usb_err_t): New enum value
11837 GRUB_USB_ERR_BADDEVICE.
11838
11839 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11840
11841 Fuloong video init support.
11842
11843 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
11844 well.
11845 (grub_vga_read_arx): New function.
11846 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
11847 definition.
11848 (framebuffer): New members io, mmioptr and mmiobase.
11849 (read_sis_cmd): New function.
11850 (write_sis_cmd): Likewise.
11851 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
11852 rather than 640x400.
11853 * grub-core/video/sis315_init.c: New file.
11854
11855 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11856
11857 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
11858 non-loongson.
11859 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
11860 to grub_dl_register_symbol.
11861
11862 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11863
11864 Fix compilation errors.
11865
11866 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
11867 potentially unused.
11868 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
11869 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
11870 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
11871 to loongson machines.
11872
11873 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11874
11875 Several FS mtime support.
11876
11877 * grub-core/fs/affs.c (grub_affs_time): New struct.
11878 (grub_affs_file): New field mtime.
11879 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
11880 type. Removed 'size'. New field 'di'. All users updated.
11881 (grub_affs_mount): Simplify checsum checking.
11882 (grub_affs_iterate_dir): New helper grub_affs_create_node.
11883 (grub_affs_dir): Handle mtime.
11884 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
11885 (grub_cpio_dir): Likewise.
11886 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
11887 (grub_hfs_filerec): New field mtime.
11888 (grub_hfs_dir): Handle mtime.
11889 (grub_hfs_mtime): New function.
11890 (grub_hfs_fs): Register grub_hfs_mtime.
11891 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
11892 (grub_iso9660_dir): New field mtime.
11893 (grub_fshelp_node): New field dirent.
11894 (iso9660_to_unixtime): New function.
11895 (iso9660_to_unixtime2): Likewise.
11896 (grub_iso9660_read_symlink): Use node->dirent.
11897 (grub_iso9660_iterate_dir): Likewise.
11898 (grub_iso9660_dir): Set mtime.
11899 (grub_iso9660_mtime): New function.
11900 (grub_iso9660_fs): Register grub_iso9660_mtime.
11901 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
11902 (grub_jfs_inode): New fields atime, ctime and mtime.
11903 (grub_jfs_dir): Set mtime.
11904 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11905 * grub-core/fs/ntfs.c (list_file): Set mtime.
11906 (grub_ntfs_dir): Likewise.
11907 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
11908 (grub_reiserfs_iterate_dir): Set mtime.
11909 (grub_reiserfs_dir): Likewise.
11910 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
11911 (grub_fshelp_node): Likewise.
11912 (grub_sfs_iterate_dir): Set mtime.
11913 (grub_sfs_dir): Likewise.
11914 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
11915 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
11916 (grub_xfs_inode): New fields atime, mtime, ctime.
11917 (grub_xfs_dir): Set mtime.
11918 * include/grub/datetime.h (grub_datetime2unixtime): New function.
11919 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
11920 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
11921
11922 Support UDF symlinks.
11923
11924 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
11925 (grub_ufs_read_symlink): New function. All users updated.
11926
11927 Check amiga partmap checksum.
11928
11929 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
11930 (grub_amiga_partition): Likewise.
11931 (amiga_partition_map_checksum): New function.
11932 (amiga_partition_map_iterate): Check checksum.
11933
11934 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11935
11936 ROMFS support.
11937
11938 * Makefile.util.def (libgrubmods.a): Add romfs.
11939 * grub-core/Makefile.core.def (romfs): New module.
11940 * grub-core/fs/romfs.c: New file.
11941
11942 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11943
11944 Squashfs v4 support.
11945
11946 * Makefile.util.def (libgrubmods.a): Add squash4.
11947 * grub-core/Makefile.core.def (squash4): New module.
11948 * grub-core/fs/squash4.c: New file.
11949 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
11950 disk_input_start, disk_input.
11951 (get_byte): Handle disk_input.
11952 (grub_zlib_disk_read): New function.
11953 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
11954
11955 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11956 2011-05-15 Feiran Zheng <famcool@gmail.com>
11957
11958 * Makefile.util.def (libgrubmods.a): Add minix3.
11959 * grub-core/Makefile.core.def (minix3): New module.
11960 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
11961 (GRUB_MINIX_BSIZE): Removed.
11962 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
11963 (grub_minix_ino_t): New type.
11964 (grub_minix_le_to_cpu_ino): New macro.
11965 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
11966 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
11967 (grub_minix_data): New field block_size.
11968 (grub_minix_read_file): Handle 64-bit correctly.
11969 * grub-core/fs/minix3.c: New file.
11970
11971 2011-05-15 Tristan Gingold <gingold@free.fr>
11972 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
11973 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11974
11975 IA64 support.
11976
11977 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
11978 * configure.ac: Add ia64-efi target.
11979 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
11980 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
11981 * gentpl.py: Add ia64_efi platform.
11982 Rename x86_efi to efi and Add ia64-efi. All users updated.
11983 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
11984 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
11985 Remove kern/generic/rtc_get_time_ms.c on EFI.
11986 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
11987 kern/ia64/dl_helper.c on ia64-efi.
11988 Add kern/emu/cache.c on emu.
11989 (linux): Use on loader/ia64/efi/linux.c on ia64.
11990 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
11991 whether symbol is a function.
11992 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
11993 (grub_symbol): New field 'isfunc'.
11994 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
11995 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
11996 (grub_dl_load_segments): Place all sections into the same region.
11997 [__ia64__]: Create trampolines and got.
11998 [GRUB_MACHINE_EMU]: Call mprotect.
11999 (grub_dl_resolve_symbols): Resolve symbol type as well.
12000 [__ia64__]: Create function descriptors.
12001 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
12002 (grub_rtc_get_time_ms): ... this. Expressions simplified.
12003 (grub_get_rtc): New function.
12004 * grub-core/kern/emu/cache.c [__ia64__]: New file.
12005 * grub-core/kern/emu/cache.S: Renamed to ...
12006 * grub-core/kern/emu/cache_s.S: ... this.
12007 [__ia64__]: Add a nop.
12008 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
12009 [__ia64__]: New function.
12010 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
12011 * grub-core/kern/ia64/dl.c: New file.
12012 * grub-core/kern/ia64/dl_helper.c: Likewise.
12013 * grub-core/kern/ia64/efi/init.c: New file.
12014 * grub-core/kern/ia64/efi/startup.S: Likewise.
12015 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
12016 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
12017 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
12018 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
12019 * grub-core/loader/ia64/efi/linux.c: New file.
12020 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
12021 (GRUB_MOD_DEP): Likewise.
12022 (grub_dl) [__ia64__]: New fields got and tramp.
12023 (grub_dl): New field 'base'.
12024 (grub_dl_register_symbol): New argument isfunc. All users updated.
12025 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
12026 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
12027 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
12028 (grub_ia64_dl_get_tramp_got_size): New proto.
12029 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
12030 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
12031 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
12032 * include/grub/efi/api.h: Skip call wrappers on ia64.
12033 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
12034 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
12035 * include/grub/elf.h (ELF_ST_INFO): New definition.
12036 * include/grub/ia64/efi/kernel.h: New file.
12037 * include/grub/ia64/efi/memory.h: Likewise.
12038 * include/grub/ia64/efi/time.h: Likewise.
12039 * include/grub/ia64/kernel.h: Likewise.
12040 * include/grub/ia64/setjmp.h: Likewise (from glibc).
12041 * include/grub/ia64/time.h: New file.
12042 * include/grub/ia64/types.h: Likewise.
12043 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
12044 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
12045 New protos.
12046 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
12047 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
12048 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
12049 * util/grub-mkimage.c (image_target_desc): New field pe_target.
12050 All users updated.
12051 (EFI64_HEADER_SIZE): New definition. All users updated.
12052 (image_targets): Add ia64-efi.
12053 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
12054 jumpers_addr. All users updated.
12055 Create function descriptors.
12056 (count_funcs): New function.
12057 (unaligned_uint32): New struct.
12058 (MASK20): New definition.
12059 (MASK19): Likewise.
12060 (MASKF21): Likewise.
12061 (add_value_to_slot_20b): New function.
12062 (add_value_to_slot_21_real): Likewise.
12063 (add_value_to_slot_21): Likewise.
12064 (ia64_kernel_trampoline): New struct.
12065 (nopm): New variable.
12066 (jump): Likewise.
12067 (make_trampoline): New function.
12068 (relocate_addresses): Handle ia64.
12069 (make_reloc_section): Likewise.
12070 (load_image): Likewise.
12071
12072 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12073
12074 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
12075 warning. Move variables before code while on it.
12076
12077 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12078
12079 Fuloong support.
12080
12081 * configure.ac: Rename yeeloong platform to loongson. All users updated.
12082 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
12083 * grub-core/boot/mips/loongson/fuloong.S: New file.
12084 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
12085 Explicitly init CS5536.
12086 [FULOONG]: Don't use serial until CS5536 is available.
12087 Set GPIO based on dumps.
12088 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
12089 [FULOONG]: Handle GPIO and memory controller differences.
12090 Parse machine type in $a2.
12091 * grub-core/boot/mips/startup_raw.S: Determine and save the
12092 architecture.
12093 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
12094 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
12095 init on architecture type.
12096 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
12097 SIS315E. Don't init at_keyboard on fuloong.
12098 (grub_halt): Support Fuloong.
12099 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
12100 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
12101 (loongson_machtypes): New array.
12102 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
12103 type.
12104 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
12105 config. All users updated. Handle CS5536 serial.
12106 * grub-core/term/serial.c (grub_serial_register): Conditionalise
12107 default port on machine type. Register serial as inactive.
12108 * grub-core/video/sis315pro.c: New file.
12109 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
12110 definition.
12111 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
12112 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
12113 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
12114 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
12115 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
12116 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
12117 to ...
12118 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
12119 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
12120 definition.
12121 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
12122 (grub_arch_machine): New extern var.
12123 * include/grub/mips/loongson/serial.h
12124 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
12125 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
12126 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
12127 (GRUB_MACHINE_SERIAL_PORT0): ... this.
12128 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
12129 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
12130 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
12131 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
12132 * include/grub/term.h (grub_term_register_input_inactive): New inline
12133 function.
12134 (grub_term_register_output_inactive): Likewise.
12135 * include/grub/video.h (grub_video_driver_id): New value
12136 GRUB_VIDEO_DRIVER_SIS315PRO.
12137 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
12138 New field "names". All users updated.
12139 New field value IMAGE_FULOONG_FLASH.
12140 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
12141
12142 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
12143
12144 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
12145 and add some clarification.
12146
12147 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12148
12149 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
12150 platforms if kernel is compressed.
12151
12152 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12153
12154 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
12155 unused modules since currently referrence counter isn't reliable and
12156 there isn't much memory to recover there anyway.
12157
12158 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12159
12160 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
12161 rather than resetting it to allow modules to reference themselves
12162 in init.
12163
12164 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12165
12166 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
12167 counter on dependencies since grub_dl_unref already handles this.
12168
12169 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12170
12171 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
12172 on error if not already done.
12173
12174 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12175
12176 Fix few potential memory misusage.
12177
12178 * grub-core/font/font.c (load_font_index): Don't free char_index to
12179 avoid double free.
12180 (grub_font_load): Zero-fill font at alloc for safety.
12181 Close file on error.
12182 (free_font): Free bmp_idx.
12183
12184 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12185
12186 * docs/grub.texi (Installation): Fix several outdated claims.
12187
12188 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12189
12190 Handle module_license on windows.
12191
12192 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
12193 sections shifted.
12194 (insert_string): Make argument const char * instead of char *.
12195 (write_section_data): Handle long section names.
12196 Handle module_license.
12197
12198 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12199
12200 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
12201 handle class-free menuentries.
12202 (grub_normal_add_menu_entry): Add a check to be sure.
12203
12204 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12205
12206 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
12207 PgUp and PgDown.
12208
12209 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12210
12211 * configure.ac: Bump version to 1.99.
12212
12213 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12214
12215 Give ATA device a bit more time on first try in order to allow disks
12216 to spin up.
12217
12218 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
12219 if dev->present is 1. Reset dev->present on failure.
12220 (grub_ata_device_initialize): Set dev->present to 1.
12221 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
12222 (grub_ata_device): New member 'present'.
12223
12224 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12225
12226 * util/grub-mkimage.c (generate_image): Update hash.
12227
12228 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12229
12230 Flush caches on DMA memory.
12231
12232 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
12233 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
12234 (grub_dma_free): Likewise.
12235 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
12236
12237 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12238
12239 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
12240 to avoid asm treating ld and sd as macros.
12241
12242 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12243
12244 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
12245 decompressor.
12246
12247 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12248
12249 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
12250 grub_decompress_core since later would fail if grub_decompress_core
12251 is too far.
12252
12253 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12254
12255 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
12256 R_MIPS_JALR since it's used by newer compiler.
12257
12258 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
12259
12260 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
12261
12262 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12263
12264 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
12265 file_path to 0 for surety.
12266 (grub_chainloader_boot): Set exit_data to NULL.
12267 Unset the loader once done.
12268 (grub_cmd_chainloader): Fix confusing error message if file is empty.
12269
12270 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12271
12272 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
12273 unknown key into a dprintf.
12274
12275 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12276
12277 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
12278 on first non-existant partition.
12279
12280 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12281
12282 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
12283 openning fails.
12284 Reported by: Mark Korenberg.
12285
12286 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12287
12288 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
12289 overflow.
12290
12291 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12292
12293 * util/grub-mkimage.c (main): Explicitely flush and sync the output
12294 before closing to ensure that it will be readable by grub-setup.
12295
12296 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12297
12298 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
12299 (devpath_1): Use MAKE_PIWG_PATH.
12300 (devpath_2): Likewise.
12301 (devpath_3): Likewise.
12302 (devpath_4): Likewise.
12303 (devpath_5): Likewise.
12304 (devpath_6): Likewise.
12305
12306 The appleldr.mod was checked that to be binary identical to previous
12307 version.
12308
12309 2011-05-05 Zach <mikezackles>
12310
12311 Support 2010 Macbooks.
12312
12313 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
12314 (devs): Add devpath_6.
12315
12316 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
12319 /dev/random. /dev/urandom is good enough for our purposes (salting).
12320
12321 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12322
12323 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
12324
12325 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12326
12327 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
12328 hexadecimal.
12329
12330 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12331
12332 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
12333 and not 0 on failure.
12334
12335 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
12336
12337 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
12338 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
12339 disk; otherwise grub_fs_probe will not fall back to the next
12340 filesystem.
12341 (grub_pxefs_open): Likewise, for consistency.
12342 Reported and tested by: Ezekiel Grave.
12343
12344 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
12345
12346 * tests/partmap_test.in: Don't hardcode path to parted.
12347 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
12348
12349 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
12350
12351 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
12352 of `ls' to find out which devices are available.
12353
12354 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12355
12356 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
12357 than source address for efi mmap buffer.
12358
12359 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12360
12361 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
12362 wrong action on non-detecting the magic.
12363
12364 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12365
12366 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
12367 already supplied by another part of the module (fixes compilation on
12368 FreeBSD).
12369
12370 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12371
12372 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
12373 match the one used by mdadm.
12374
12375 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
12376
12377 * po/README: Add instructions for creating po/LINGUAS.
12378
12379 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
12380
12381 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
12382 #551428.
12383
12384 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
12385 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
12386 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
12387 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
12388 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
12389 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
12390 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
12391 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
12392 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
12393 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
12394 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
12395 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
12396 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
12397 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
12398 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
12399 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
12400 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
12401 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
12402 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
12403 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
12404 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
12405 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
12406
12407 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
12408
12409 * grub-core/kern/emu/getroot.c
12410 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
12411 test that was incorrectly reintroduced in r3214.
12412 Reported by: Ian Dall. Fixes Savannah bug #33133.
12413
12414 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
12415
12416 Fix stack pointer handling in 16-bit relocator.
12417
12418 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
12419 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
12420 Fixes Ubuntu bug #683904.
12421
12422 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12423
12424 * configure.ac: Bump version to 1.99~rc2.
12425
12426 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12427
12428 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
12429 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
12430 * grub-core/lib/x86_64/setjmp.S: Likewise.
12431 * grub-core/lib/mips/setjmp.S: Likewise.
12432 * grub-core/lib/powerpc/setjmp.S: Likewise.
12433 * grub-core/lib/sparc64/setjmp.S: Likewise.
12434
12435 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12436
12437 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
12438 * grub-core/lib/efi/datetime.c: Likewise.
12439
12440 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12441
12442 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
12443 New function.
12444 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
12445 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
12446 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
12447
12448 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12449
12450 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
12451 bitmap.
12452 (grub_gfxterm_term_init): Likewise.
12453
12454 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12455
12456 Take into account the decorations the computing menu entry width.
12457
12458 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
12459 (grub_gfxmenu_create_box): Register get_border_width.
12460 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
12461 if available.
12462 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
12463 get_border_width.
12464
12465 2011-04-18 Endres Puschner <code@e7p.de>
12466
12467 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
12468 Don't skip first class.
12469
12470 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12471
12472 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
12473 chunks.
12474 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
12475
12476 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12477
12478 Complete 64-bit division support.
12479
12480 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
12481 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
12482 * include/grub/misc.h (grub_divmod64): Rename to ...
12483 (grub_divmod64_full): ... this.
12484 (grub_divmod64): New inline function.
12485
12486 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12487
12488 * util/grub-mkimage.c (generate_image): Add forgotten comma.
12489
12490 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12491
12492 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
12493 performing the necessary test.
12494
12495 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12496
12497 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
12498 (kfreebsd.elf): Likewise.
12499 (pc-chainloader.elf): Likewise.
12500 (ntldr.elf): Likewise.
12501
12502 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12503
12504 Identify RAID by its UUID rather than (guessed) name.
12505
12506 * grub-core/disk/raid.c (ascii2hex): New function.
12507 (grub_raid_open): Accept mduuid/%s specification.
12508 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
12509 (get_mdadm_uuid): ... this.
12510 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
12511
12512 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
12513
12514 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
12515 to negative size.
12516
12517 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
12518
12519 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
12520 btrfs subvolume.
12521 * util/grub.d/20_linux_xen.in: Likewise.
12522
12523 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
12524
12525 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
12526 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
12527
12528 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
12529 Build a list of relevant visible mounts using the mnt_id and
12530 parent_mnt_id fields, and then scan that list at the end.
12531
12532 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
12533
12534 * docs/grub.texi (normal): New section.
12535 (normal_exit): New section.
12536 (Embedded configuration): Add reference to normal.
12537 (GRUB only offers a rescue shell): Likewise.
12538 * docs/grub-dev.texi (Error Handling): Fix typo.
12539
12540 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
12541
12542 * NEWS: Drop obsolete entry about probe-only btrfs support.
12543
12544 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
12545
12546 * util/import_gcry.py: Fix typo.
12547
12548 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12549
12550 * NEWS: Add btrfs support.
12551
12552 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12553 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
12554
12555 BtrFS support. Written by me (Vladimir) with important bugfixes and
12556 even more important testing by Colin.
12557
12558 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
12559 * grub-core/Makefile.core.def (btrfs): Add crc.c.
12560 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
12561 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
12562 mem_input_off and mem_input. All users updated to accept in-RAM input.
12563 (gzio_seek): New function.
12564 (test_zlib_header): Likewise.
12565 (grub_gzio_read): Likewise.
12566 (grub_zlib_decompress): Likewise.
12567 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
12568 Accept partial and non-virtual mounts.
12569 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
12570 avoid receiving /dev/dm-X as device.
12571 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
12572 Handle bind and partial mounts.
12573 * grub-core/lib/crc.c: New file.
12574 * include/grub/deflate.h: Likewise.
12575 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
12576 proto.
12577 * include/grub/lib/crc.h: New file.
12578
12579 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12580
12581 Implement automatic module license checking according to new GNU
12582 guidelines.
12583
12584 * grub-core/kern/dl.c (grub_dl_check_license): New function.
12585 (grub_dl_load_core): Use grub_dl_check_license.
12586 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
12587 (GRUB_MOD_LICENSE): Likewise.
12588 (GRUB_MOD_DUAL_LICENSE): Likewise.
12589 All modules updated.
12590
12591 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
12592
12593 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
12594 reserved_first_sector to 1. btrfs reserves plenty of space for boot
12595 loaders.
12596 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
12597
12598 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12599
12600 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
12601
12602 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12603
12604 * util/grub-fstest.c (read_file): Report GRUB error if file opening
12605 failed.
12606
12607 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12608
12609 * grub-core/kern/file.c (grub_file_open): Don't take into account the
12610 parenthesis in the middle of the filename.
12611
12612 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12613
12614 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
12615 rather than trying to put initrd way too high.
12616 Reported by: Ryan Lortie <desrt@desrt.ca>
12617
12618 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12619
12620 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
12621 improperly removed string.
12622
12623 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12624
12625 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
12626 is_disk.
12627 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
12628 (open_device) Likewise.
12629 (grub_util_biosdisk_close): Likewise.
12630 Reported by: Mark Korenberg.
12631
12632 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
12633
12634 * util/grub-mkconfig_lib.in: Add missing quotes.
12635
12636 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
12637
12638 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
12639 is NULL.
12640
12641 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12642
12643 Dynamically count the number of lines for the lower banner.
12644
12645 * grub-core/normal/menu_entry.c (per_term_screen): New member
12646 num_entries.
12647 (print_down): Use num_entries.
12648 (update_screen): Likewise.
12649 (grub_menu_entry_run): Set num_entries.
12650 * grub-core/normal/menu_text.c (menu_viewer_data): New member
12651 num_entries.
12652 (grub_print_message_indented): Move real part to ...
12653 (grub_print_message_indented_real): ... here. Additional argument
12654 dry_run.
12655 (draw_border): Additional argument num_entries.
12656 (print_message): Additional argument dry_run.
12657 (print_entries): Receive menu viewer data.
12658 (grub_menu_init_page): New argment num_entries.
12659 (menu_text_set_chosen_entry): Use num_entries.
12660 (grub_menu_try_text): Likewise.
12661 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
12662 All users updated.
12663 (grub_ucs4_count_lines): New function.
12664 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
12665 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
12666 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
12667 (grub_term_border_height): Likewise.
12668 (grub_term_num_entries): Likewise.
12669
12670 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12671
12672 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
12673 Remove now unused string.
12674
12675 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
12676
12677 * docs/grub-dev.texi (Finding your way around): Update for 1.99
12678 build system.
12679 (Getting started): GRUB is developed in Bazaar now, not Subversion.
12680
12681 (Comment): Fix typo.
12682 (Getting started): General copy-editing.
12683 (Typical Development Experience): Likewise.
12684 (Error Handling): Likewise.
12685 (Video API): Likewise.
12686
12687 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
12688
12689 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
12690 throughout.
12691
12692 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12693
12694 * util/grub-mkimage.c (main): Handle special naming of yeeloong
12695 directory.
12696
12697 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
12698
12699 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
12700 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
12701 "development".
12702
12703 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12704
12705 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
12706 grub_strcpy since the lines aren't necessarily 0-terminated.
12707
12708 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12709
12710 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
12711 root on legacy.
12712
12713 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12714
12715 * grub-core/commands/probe.c (options): Argument to set isn't optional.
12716 (GRUB_MOD_INIT): DEVICE isn't optional.
12717
12718 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12719
12720 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
12721 word on new line if it's too long anyway. Fixes a hang.
12722
12723 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12724
12725 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
12726 const.
12727 * util/grub-setup.c (main): Reuse md device name if available.
12728 * util/raid.c (grub_util_raid_getmembers): Receive device name and
12729 not GRUB name as argument.
12730 Based on patch by: Florian Wagner <fwagner>.
12731
12732 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12733
12734 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12735 Place mbi on low memory for better compatibility.
12736
12737 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12738
12739 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
12740
12741 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12742 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
12743
12744 * autogen.sh: Ensure that collate and ctype locale is C.
12745 * conf/Makefile.common: Likewise.
12746
12747 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12748
12749 * grub-core/normal/menu.c: Add missing include.
12750
12751 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12752
12753 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
12754
12755 2011-04-08 Martin Zuther <mzuther@mzuther.de>
12756
12757 * util/grub-mkconfig.in: Ignore emacsen backup.
12758
12759 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12760
12761 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
12762 on open.
12763 (grub_util_biosdisk_close): Likewise.
12764
12765 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12766
12767 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
12768 const attribute and use grub_isdigit.
12769
12770 2011-04-06 Andrey <dev_null@ukr.net>
12771
12772 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
12773 gcc warning.
12774
12775 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12776
12777 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
12778 useful grub_dprintf's.
12779
12780 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12781
12782 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
12783
12784 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12785
12786 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
12787
12788 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12789
12790 Output errors if theme loading failed.
12791
12792 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
12793 grub_gfxterm_fullscreen on error paths to ...
12794 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
12795 theme loading error.
12796
12797 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12798
12799 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
12800 space for older compilers.
12801 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12802
12803 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12804
12805 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
12806 and report them as not RAID members since they are useless for GRUB.
12807 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12808
12809 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12810
12811 Increase LVM implementation robustness in order not to crash on
12812 configurations like pvmove. Previously code assumed that in some places
12813 only lvs or only pvs are used whereas it seems that they are used
12814 interchangeably.
12815
12816 * grub-core/disk/lvm.c (read_node): New function.
12817 (read_lv): Use read_node.
12818 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
12819 Match volumes only at the end when all lvs are found. Take both
12820 pvs (first) and lvs (second) into account.
12821 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
12822 mirror_* into node_*. All users updated.
12823 (grub_lvm_stripe): Merge this ...
12824 (grub_lvm_mirror): ... and this ...
12825 (grub_lvm_node): ... into this. All users updated.
12826
12827 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12828
12829 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
12830 of function to allow further scanning for LVMs.
12831
12832 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12833
12834 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
12835 on failed seek as it breaks open fd reusage.
12836
12837 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12838
12839 * util/grub-install.in: Add a recommendation to use --recheck before
12840 reporting bugs.
12841
12842 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12843
12844 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
12845 are obtained.
12846
12847 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12848
12849 GRUB developper manual based on existing Internals section and
12850 contributions by the various authors with active copyright assignment.
12851
12852 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
12853 * docs/font_char_metrics.png: New file.
12854 * docs/font_char_metrics.txt: Likewise.
12855 * docs/grub-dev.texi: Likewise.
12856 * docs/grub.texi (Internals): Move from here ...
12857 * docs/grub-dev.texi: ... here.
12858
12859 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12860
12861 Store the loopback device as data on loopback grub_disk structures,
12862 rather than the file it points to. This fixes use of freed memory
12863 if an existing loopback device is replaced.
12864
12865 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
12866 disk->data, not dev->file.
12867 (grub_loopback_read): Adjust file assignment to match.
12868 Fixes Ubuntu bug #742967.
12869
12870 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12871
12872 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
12873 when replacing an existing device.
12874
12875 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
12876
12877 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
12878 memory corruptions.
12879
12880 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
12881 unsigned.
12882 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
12883 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
12884 (grub_jfs_read_inode): Likewise.
12885 (grub_jfs_opendir): Likewise. Remove now useless casts.
12886 (grub_jfs_getent): Likewise.
12887 Make ino a grub_uint32_t rather than int.
12888 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
12889 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
12890 division and module with bit operations.
12891 (grub_jfs_find_file): Make ino a grub_uint32_t.
12892 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
12893
12894 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12895
12896 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
12897 warning. (This was in fact always initialised before use, but GCC
12898 wasn't smart enough to prove that.)
12899 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12900
12901 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12902
12903 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
12904 stack alignment.
12905 (efi_wrap_1): Likewise.
12906 (efi_wrap_2): Likewise.
12907 (efi_wrap_3): Likewise.
12908 (efi_wrap_4): Likewise.
12909 (efi_wrap_5): Likewise.
12910 (efi_wrap_6): Likewise.
12911 (efi_wrap_10): Likewise.
12912 Based on information by: Red Hat/Peter Jones.
12913
12914 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
12915
12916 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
12917 set-but-not-used variable.
12918
12919 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
12920
12921 * docs/grub.texi (Simple configuration): Be more explicit about
12922 GRUB_DEFAULT, and add an example.
12923 Reported by: Leslie Rhorer.
12924
12925 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12926
12927 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
12928 shell".
12929
12930 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12931
12932 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
12933 * util/grub.d/20_linux_xen.in: Likewise.
12934
12935 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12936
12937 * util/grub.d/10_linux.in: Try alternative config filenames where
12938 we parse config file.
12939 * util/grub.d/20_linux_xen.in: Likewise.
12940
12941 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12942
12943 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
12944 * util/grub.d/20_linux_xen.in: Likewise.
12945
12946 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12947
12948 * grub-core/disk/raid.c (insert_array): Add few potentially
12949 useful grub_util_info.
12950 (grub_raid_register): Likewise.
12951
12952 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12953
12954 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
12955 Preserve partition number in mdadm code path.
12956
12957 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12958
12959 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
12960 few potentially useful grub_util_info.
12961
12962 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12963
12964 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
12965
12966 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12967
12968 * docs/grub.texi (default): Use @example rather than nested
12969 itemized lists to avoid breaking gendocs.
12970
12971 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12972
12973 * docs/grub.texi (Future): Update.
12974
12975 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12976
12977 * docs/grub.texi (Environment): New chapter.
12978 (Changes from GRUB Legacy): Link to "Environment block" section for
12979 details of limitations.
12980 (Simple configuration): Likewise. Link to documentation of gfxmode
12981 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
12982 respectively.
12983 (Shell-like scripting): Note that normal variables are stored in the
12984 environment.
12985 (gettext): Link to documentation of lang and locale_dir.
12986 (list_env): New section.
12987 (load_env): New section.
12988 (save_env): New section.
12989
12990 (Reporting bugs): Fix typo.
12991
12992 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12993
12994 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
12995 the example.
12996
12997 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12998
12999 * grub-core/term/at_keyboard.c (set_scancodes)
13000 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
13001
13002 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13003
13004 * docs/grub.texi (Menu-specific commands): Remove some semantics
13005 that were true in GRUB Legacy but not in GRUB 2.
13006 (submenu): New section.
13007 (false): New section.
13008 (read): New section.
13009 (true): New section.
13010
13011 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13012
13013 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
13014
13015 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13016
13017 * docs/grub.texi (Simple configuration): Explain some of the
13018 current limitations of grub-mkconfig.
13019 Reported by: Leslie Rhorer.
13020
13021 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13022
13023 Old macs search for boot.efi rather than for bootia32.efi.
13024
13025 * util/grub-install.in: Copy bootia32.efi to boot.efi.
13026 * util/grub-mkrescue.in: Likewise.
13027 Suggested by: Peter Jones.
13028
13029 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13030
13031 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
13032
13033 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13034
13035 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
13036 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
13037 (grub_lvm_mirror): New struct.
13038 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
13039 (grub_lvm_iterate): Iterate only visible volumes.
13040 (grub_lvm_read): Factor out to ..
13041 (read_lv): ... this. Support mirrors.
13042 (grub_lvm_read): New wrapper function.
13043 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
13044 stripped or mirrored.
13045
13046 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13047
13048 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
13049
13050 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
13051
13052 * docs/grub.texi (loopback): New section.
13053
13054 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
13055
13056 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
13057 removed -p option.
13058
13059 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
13060
13061 * docs/grub.texi (BIOS installation): New section, partly based on
13062 previous text in other sections.
13063 (Installing GRUB using grub-install): Replace BIOS discussion with a
13064 cross-reference.
13065 (Images): Likewise.
13066
13067 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13068
13069 * grub-core/kern/emu/hostdisk.c (find_partition_start)
13070 [HAVE_DIOCGDINFO]: Add safety checks.
13071
13072 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13073
13074 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
13075 per default compiled in kernel and prior to 8.0 isn't shipped at all.
13076
13077 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
13078
13079 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
13080 real_sb->size is zero (e.g. RAID-0), get the disk size from
13081 real_sb->data_size instead.
13082 Fixes Ubuntu bug #743136.
13083
13084 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13085
13086 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
13087 printf clauses for printing size and start.
13088
13089 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13090
13091 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
13092 Reported and tested by: Timothy Nikkel.
13093
13094 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13095
13096 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
13097 (dirty_region_add_real): ... this.
13098 (dirty_region_add): Don't discard margin refresh when performing
13099 scheduled repaint.
13100
13101 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13102
13103 * grub-core/lib/relocator.c (allocate_regstart)
13104 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
13105 terminals are capabple of malloc-free operation.
13106 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
13107 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
13108
13109 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
13110
13111 * util/grub-setup.c: Copy the partition table zone if floppy support
13112 is disabled, even if no partition table is found.
13113
13114 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
13115 during POST if an invalid partition table is contained in the PBR
13116 of the active partition when GRUB is installed to a partition.
13117
13118 2011-03-28 Colin Watson <cjwatson@debian.org>
13119
13120 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
13121 comment.
13122
13123 2011-03-28 Colin Watson <cjwatson@debian.org>
13124
13125 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
13126 to be specific about what kind of RAID device we're scanning for.
13127
13128 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
13129
13130 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
13131 return freed string.
13132
13133 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13134
13135 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
13136
13137 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13138
13139 Use libgeom on FreeBSD to detect partitions.
13140
13141 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
13142 (grub-mkrelpath): Likewise.
13143 (grub-script-check): Likewise.
13144 (grub-editenv): Likewise.
13145 (grub-mkpasswd-pbkdf2): Likewise.
13146 (grub-fstest): Likewise.
13147 (grub-mkfont): Likewise.
13148 (grub-mkdevicemap): Likewise.
13149 (grub-probe): Likewise.
13150 (grub-setup): Likewise.
13151 (grub-ofpathname): Likewise.
13152 (grub-mklayout): Likewise.
13153 (example_unit_test): Likewise.
13154 (grub-menulst2cfg): Likewise.
13155 * grub-core/Makefile.core.def (grub-emu): Likewise.
13156 (grub-emu-lite): Likewise.
13157 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
13158 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
13159 define HAVE_DIOCGDINFO.
13160 (follow_geom_up) [FreeBSD]: New function.
13161 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
13162 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
13163 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
13164 unconditionally of HAVE_DIOCGDINFO.
13165
13166 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13167
13168 Fix FreeBSD compilation problem.
13169
13170 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
13171 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
13172
13173 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
13174
13175 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
13176 Switch back to page zero before loading a kernel, since some kernel
13177 drivers expect that.
13178 Thanks to: Felix Kuehling.
13179
13180 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13181
13182 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
13183 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
13184 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
13185
13186 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13187
13188 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
13189 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
13190
13191 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13192
13193 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
13194 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
13195 malloc is disabled.
13196
13197 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13198
13199 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
13200 for modules headers when counting the needed allocation size.
13201
13202 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13203
13204 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
13205 if no ASCII character is found to prevent crash.
13206
13207 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
13208
13209 * grub-core/video/bitmap.c (match_extension): Ignore case.
13210
13211 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13212
13213 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
13214
13215 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13216
13217 * grub-core/script/parser.y: Declare "time" as valid argument.
13218
13219 2011-03-23 Peter Jones <pjones@redhat.com>
13220
13221 Fix incorrect assert failure reporting.
13222
13223 * grub-core/tests/example_functional_test.c (example_test): Add
13224 a failure comment.
13225 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
13226 (failure_start): ...this. Check that malloc succeeded.
13227 Don't call xvasprintf. Return failure struct.
13228 (failure_append_vtext): New function.
13229 (failure_append_text): Likewise.
13230 (add_failure): Likewise.
13231 (grub_test_assert_helper): Likewise.
13232 * include/grub/test.h (grub_test_assert_helper): New declaration.
13233 (grub_test_assert): Macro rewritten.
13234
13235 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13236
13237 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
13238
13239 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13240
13241 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
13242
13243 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13244
13245 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
13246 into GRUB-style one.
13247
13248 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13249
13250 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
13251 error and not grub_errno.
13252 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
13253
13254 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13255
13256 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
13257 GRUB_USB_SPEED_NONE in case of failure and not the error code.
13258
13259 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13260
13261 * grub-core/efiemu/i386/pc/cfgtables.c
13262 (grub_machine_efiemu_init_tables): Make declaration a prototype.
13263 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
13264 (grub_xnu_unlock): Likewise.
13265 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
13266
13267 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13268
13269 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
13270 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
13271 * grub-core/commands/hashsum.c (aliases): Likewise.
13272 * grub-core/commands/setpci.c (pci_registers): Likewise.
13273 * grub-core/disk/usbms.c (attach_hook): Likewise.
13274 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
13275 (zio_checksum_table): Likewise.
13276 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
13277 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
13278 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
13279 * grub-core/lib/relocator.c (leftovers): Likewise.
13280 (extra_blocks): Likewise.
13281 * grub-core/loader/i386/bsd.c (relocator): Likewise.
13282 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
13283 (modules_last): Likewise.
13284 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
13285 (devices): Likewise.
13286 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
13287 (modules_last): Likewise.
13288 * grub-core/normal/auth.c (users): Likewise.
13289 * grub-core/normal/context.c (initial_menu): Likewise.
13290 (current_menu): Likewise.
13291 * grub-core/normal/crypto.c (crypto_specs): Likewise.
13292 * grub-core/term/serial.c (grub_serial_ports): Likewise.
13293 (grub_serial_terminfo_input_template): Likewise.
13294 (grub_serial_terminfo_output_template): Likewise.
13295 (grub_serial_terminfo_input): Likewise.
13296 (grub_serial_terminfo_output): Likewise.
13297 (registered): Likewise.
13298 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
13299
13300 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13301
13302 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
13303 grub_video_mode_type_t.
13304 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
13305 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
13306 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
13307
13308 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13309
13310 * util/grub-install.in: Correct the x86-64 name as x86_64.
13311
13312 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
13313
13314 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
13315 initial chunk read from the kernel always includes GRUB's multiboot
13316 header, which is now outside the first sector.
13317
13318 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
13319
13320 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
13321 cached mmap_size, so that this works correctly when called multiple
13322 times.
13323 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
13324
13325 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
13326
13327 * docs/grub.texi (Simple configuration): Tidy up formatting.
13328
13329 2011-03-07 Szymon Janc <szymon@janc.net.pl>
13330
13331 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
13332 Set-but-not-used variable removed.
13333
13334 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13335
13336 Workaround yet another IEEE1275 bug.
13337
13338 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
13339 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
13340 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
13341 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
13342 is set.
13343 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13344 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
13345
13346 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13347
13348 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
13349 error.
13350
13351 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
13352
13353 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
13354 empty, since in that case we can only generate either nothing or a
13355 syntactically invalid configuration file.
13356 Reported by: Michal Suchanek. Fixes Debian bug #612898.
13357
13358 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
13359
13360 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
13361 (Making a GRUB bootable CD-ROM): Likewise.
13362 (Invoking grub-mkrescue): New section.
13363 Reported by: Yann Dirson. Fixes Debian bug #612585.
13364
13365 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
13366
13367 * util/grub-install.in: Remove unnecessary brackets from tr
13368 arguments.
13369 * util/grub.d/10_hurd.in: Likewise.
13370 * util/grub.d/10_kfreebsd.in: Likewise.
13371 * util/grub.d/10_linux.in: Likewise.
13372 * util/grub.d/20_linux_xen.in: Likewise.
13373 Reported by: Jamie Heilman. Fixes Debian bug #612564.
13374
13375 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
13376
13377 * include/grub/file.h (not_easly_seekable): Rename to ...
13378 (not_easily_seekable): ... this. Update all users.
13379
13380 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
13381
13382 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
13383 grub-mkrescue.
13384
13385 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13386
13387 * util/grub-mkimage.c (generate_image): Refuse to create the images
13388 bigger than the actual flash (512K) in Loongson machines. 512K is also
13389 the biggest chip supported by them.
13390
13391 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13392
13393 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
13394
13395 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
13396
13397 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
13398 super_offset field.
13399
13400 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13401
13402 * util/grub-install.in: Ignore install device on platforms
13403 where it doesn't make sense. Always use UUIDs except on pc, efi and
13404 sparc64.
13405 Reported by: Daniel Kahn Gillmor.
13406
13407 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13408
13409 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
13410
13411 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13412
13413 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
13414 (iterate_real): Don't rely on partition being non-NULL.
13415
13416 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13417
13418 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
13419 supported platforms. Put a compile time assert for this rather than
13420 generate a warning with 32-bit shift.
13421
13422 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13423
13424 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
13425 logical expression more readable.
13426
13427 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13428
13429 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
13430 even if some elements have a name.
13431 Reported by: Alexander GQ Gerasiov.
13432
13433 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
13434
13435 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
13436 path unreadable if `grub-probe -t abstraction' fails, for example if
13437 memberlist fails on an LVM volume group.
13438 Reported by: Darius Jahandarie.
13439
13440 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
13441
13442 * docs/grub.texi (Simple configuration): Document
13443 GRUB_PRELOAD_MODULES.
13444
13445 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
13446
13447 * .bzrignore: Remove nonexistent grub-pbkdf2.
13448
13449 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
13450
13451 * configure.ac: Bump version to 1.99~rc1.
13452
13453 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13454
13455 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
13456 for safety.
13457
13458 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13459
13460 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
13461 module.
13462
13463 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13464
13465 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
13466
13467 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13468
13469 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
13470 diskdevid.
13471
13472 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13473
13474 Fix compilation on cygwin.
13475
13476 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
13477 -R .drectve on cygwin.
13478 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
13479 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
13480 (COND_CYGWIN): New condition.
13481 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
13482 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
13483 not @TARGET_OBJ2ELF@.
13484 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
13485 type to determine whether aux is to be used.
13486
13487 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13488
13489 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
13490 realpath'ed device string.
13491 Handle floppy (somewhat).
13492 Issue error in unknown case rather than garbage.
13493 Reported by: Axel Beckert.
13494
13495 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13496
13497 * util/grub.d/00_header.in (load_video): Handle the case when no video
13498 drivers available.
13499 Thanks to: Axel Beckert.
13500
13501 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13502
13503 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
13504 variable. Fixes problem on big endian platforms.
13505
13506 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13507
13508 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
13509 It doesn't work well there.
13510
13511 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13512
13513 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
13514 warning.
13515 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
13516 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
13517 counter.
13518
13519 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13520
13521 Use alias->path rather than buggy "canon".
13522
13523 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
13524 (ofdisk_hash_add): New argument curcan. All users updated.
13525
13526 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
13527
13528 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
13529
13530 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13531
13532 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
13533 loadmask before doing any calculations. Use correct type for offset.
13534 (grub_linux_load64): Likewise.
13535
13536 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
13537
13538 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
13539 with NULL.
13540 (console_grub_equivalences_unshift): Likewise.
13541 Reported by: Daniel Dehennin.
13542
13543 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13544
13545 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
13546 (set_env_limn_ro): Likewise.
13547 (GRUB_MOD_INIT): Likewise.
13548 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
13549 ARRAY_SIZE while on it.
13550 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
13551 * grub-core/normal/context.c (grub_env_export): Move from here ...
13552 * grub-core/kern/env.c (grub_env_export): ... here.
13553 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
13554 prefix.
13555 * grub-core/kern/main.c (grub_main): Export root and prefix.
13556 * include/grub/env.h (grub_env_export): Export.
13557 Reported by: Seth Goldberg.
13558
13559 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13560
13561 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13562 Take into account space used by ELF sections and multiboot palette.
13563 Reported by: Grégoire Sutre.
13564
13565 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13566
13567 * BUGS: New file.
13568
13569 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13570
13571 Pass more appropriate video id to Linux.
13572
13573 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
13574 grub_video_get_driver_id and variable gfxpayloadforcelfb to
13575 fill have_vga.
13576 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
13577 shift params->lfb_size.
13578 * include/grub/i386/linux.h: Make an enume out of have_vga values.
13579
13580 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13581
13582 * util/grub-menulst2cfg.c: Add missing include of misc.h.
13583
13584 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13585
13586 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
13587 separator and pass bootpath/devid even if only one of them is available.
13588 Reported by: Seth Goldberg.
13589
13590 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13591
13592 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
13593 implementations bug on them.
13594
13595 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
13596 memory.
13597 (filter_memory_map): Likewise.
13598
13599 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13600
13601 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
13602 Reported by: nebuchadnezzar.
13603
13604 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13605
13606 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
13607 Reported by: nebuchadnezzar.
13608
13609 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13610
13611 Submenu default support.
13612
13613 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
13614 auto_boot. All users updated.
13615 Declared static.
13616 Handle chosen and default with submenus.
13617 (grub_menu_execute_with_fallback): Declared static.
13618 Don't notify failure if autobooted. Upper level does it.
13619 (menuentry_eq): New function.
13620 (get_entry_number): Use menuentry_eq.
13621 (show_menu): New parameter "autobooted". All users updated.
13622 (grub_show_menu): Likewise.
13623 * include/grub/normal.h (grub_show_menu): Likewise.
13624 * include/grub/menu.h (grub_menu_execute_entry): Removed.
13625 (grub_menu_execute_with_fallback): Likewise.
13626
13627 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13628
13629 * util/grub-mklayout.c (usage): Update help text.
13630
13631 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
13634
13635 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13636
13637 * util/grub-menulst2cfg.c (main): Trim the line.
13638
13639 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13640
13641 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
13642 (grub_machine_init): Don't check amount of low memory as reportedly
13643 INT 12h can be broken and if low memory is too low we wouldn't have
13644 gotten into grub_machine_init anyway.
13645
13646 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13647
13648 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
13649 (grub_machine_mmap_iterate): Take low memory into account
13650
13651 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13652
13653 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
13654 badfs.
13655 Reported by: TiCPU.
13656
13657 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13658
13659 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
13660 members errors.
13661
13662 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13663
13664 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
13665 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
13666
13667 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13668
13669 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
13670 openbsd and netbsd types being in part_bsd module.
13671
13672 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13673
13674 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
13675 (_FILE_OFFSET_BITS): Likewise.
13676 Reported by: Seth Goldberg.
13677
13678 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13679
13680 * configure.ac: Check for libdevmapper header.
13681
13682 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13683
13684 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
13685 avoid aliasing.
13686 (fzap_lookup): Likewise.
13687 (dnode_get): Likewise.
13688 (make_mdn): Likewise.
13689 (zfs_mount): Likewise.
13690 (fzap_iterate): Use temporary pointer to avoid aliasing.
13691 (grub_zfs_read): Likewise.
13692 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
13693 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
13694 pointers to avoid aliasing.
13695 (grub_cmd_xnu_kernel64): Likewise.
13696 (grub_xnu_load_driver): Likewise.
13697
13698 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13699
13700 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
13701 aliasing warning.
13702 (grub_cmd_terminal_output): Likewise.
13703 Reported and tested by: Grégoire Sutre.
13704
13705 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13706
13707 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
13708 warning.
13709 Reported and tested by: Grégoire Sutre.
13710
13711 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13712
13713 * configure.ac: Do CPU substitution even if it's specified explicitly.
13714 Reported and tested by: Alain Greppin.
13715
13716 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13717
13718 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
13719 Reported and tested by: Alain Greppin.
13720
13721 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13722
13723 Satisfy some bison versions need for inttypes.h.
13724
13725 * grub-core/lib/posix_wrap/inttypes.h: New file.
13726 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
13727 (int16_t): Likewise.
13728 (int32_t): Likewise.
13729 (int64_t): Likewise.
13730 Reported and tested by: Alain Greppin.
13731
13732 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13733
13734 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
13735 Silence spurious warning.
13736 Reported and tested by: Alain Greppin.
13737
13738 2011-01-07 Szymon Janc <szymon@janc.net.pl>
13739
13740 * docs/grub.texi (Support automatic decompression): Update with xz
13741 decompression support.
13742
13743 2011-01-07 Szymon Janc <szymon@janc.net.pl>
13744
13745 Improve loaders' kernel command line handling.
13746
13747 * grub-core/lib/cmdline.c: New file.
13748 * include/grub/lib/cmdline.h: Likewise.
13749 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
13750 grub_create_loader_cmdline to create kernel command line.
13751 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13752 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
13753 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
13754 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
13755 (linux): Add lib/cmdline.c on common.
13756
13757 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13758
13759 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
13760 inopos might be unaligned.
13761
13762 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13763
13764 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
13765 endian transformations.
13766 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13767 Based on report by: Doug Nazar.
13768
13769 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
13770
13771 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
13772 array->members[i].start_sector.
13773 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
13774
13775 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13776
13777 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
13778 Reported and tested by: Grégoire Sutre.
13779
13780 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
13781
13782 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
13783 avoid causing test failures by clearing the screen.
13784
13785 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
13786
13787 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13788 Fix prefix check to handle the case where dir ends with a slash
13789 (most significantly, "/" itself).
13790 Reported by: Michael Vogt.
13791
13792 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13793
13794 Run terminfo_cls on initing terminfo output to clear the screen and
13795 move the cursor to (0,0).
13796
13797 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
13798 Call grub_terminfo_output_init.
13799 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
13800 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
13801 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
13802
13803 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13804
13805 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
13806 only when needed.
13807
13808 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13809
13810 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
13811 CTRL.
13812
13813 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13814
13815 The E820 type 5 is BADRAM, not EXEC_CODE.
13816
13817 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13818 (GRUB_E820_BADRAM): New define.
13819 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
13820 into reserved. Propagate BADRAM.
13821 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13822 (GRUB_E820_BADRAM): New define.
13823
13824 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13825
13826 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
13827 Ignore the memory post-4G.
13828 (grub_relocator_firmware_alloc_region): Additional debug statement.
13829
13830 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13831
13832 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
13833 names.
13834 Reported by: David Pravec.
13835
13836 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13837
13838 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
13839 BIOSes.
13840
13841 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13842
13843 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
13844 Prevent overflow.
13845 (grub_reed_solomon_recover): Likewise.
13846
13847 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13848
13849 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
13850
13851 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13852
13853 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
13854 variable.
13855
13856 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
13857
13858 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
13859 descriptions of extract_legacy_entries_source and
13860 extract_legacy_entries_configfile.
13861 Reported by: Seung Soo, Ha.
13862
13863 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
13864
13865 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
13866 on devices that do not implement function 0.
13867
13868 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
13869
13870 * grub-core/fs/hfsplus.c: Make parent unsigned.
13871 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
13872 overflows.
13873 (grub_hfsplus_cmp_extkey): Likewise
13874
13875 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13876
13877 * util/grub-install.in: Correctly use bootloader_id and not
13878 GRUB_DISTRIBUTOR on efibootmgr line.
13879
13880 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13881
13882 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
13883
13884 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
13885
13886 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
13887 Xen and reorder menu item wording to make it clearer that this entry
13888 will launch Xen. Print separate messages when loading Xen and
13889 Linux.
13890
13891 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13892
13893 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
13894 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
13895 loop in case of incorrect amiga partmap.
13896
13897 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13898
13899 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
13900 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
13901 Reported by:EHeM.
13902
13903 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13904
13905 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
13906 spurious warning.
13907 Reported by: crocket
13908
13909 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13910
13911 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
13912 Preload EFIemu.
13913 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
13914
13915 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13916
13917 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
13918 is loaded
13919 (grub_cmd_xnu_kextdir): Likewise.
13920 (grub_cmd_xnu_splash): Likewise.
13921
13922 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13923
13924 Avoid using Reed-Solomon with 0 redundancy.
13925
13926 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
13927 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
13928 or 0 redundancy.
13929 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
13930 (grub_reed_solomon_recover): Likewise.
13931
13932 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13933
13934 Don't use disk subsystem in freebsd_boot.
13935
13936 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
13937 (freebsd_biosdev): Likewise.
13938 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
13939 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
13940
13941 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13942
13943 Handling of files of unknown size is currently limited. They can't be
13944 used e.g. for initrd or modules. Moreover gzip handling of not
13945 easily seekable files is buggy. Disable unknown file size for now. May
13946 be inefficient but works.
13947
13948 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
13949 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
13950
13951 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
13952
13953 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
13954 floppy probe.
13955
13956 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
13957
13958 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
13959
13960 2010-12-25 Shea Levy <shlevy>
13961
13962 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
13963
13964 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13965
13966 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
13967 Windows Server 2008.
13968 Reported by: Devin Giddings.
13969
13970 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13971
13972 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
13973 writing an error message because of async power management.
13974 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
13975 (grub_reboot): Likewise.
13976
13977 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
13978
13979 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
13980 keep unit tests from failing when they shouldn't.
13981
13982 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13983
13984 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
13985 previous patch increased the size of the RS code by 20 bytes (at
13986 least with gcc-4.4), so increase this by 20 bytes to match.
13987 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13988
13989 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13990
13991 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
13992 scratch area. Make sure to initialise chosen in standalone mode as
13993 well as non-standalone.
13994 Reported by: Robert Hooker and Andy Whitcroft.
13995 Tested by: Andy Whitcroft.
13996
13997 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13998
13999 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
14000 constructing a new unescaped string and passing it to grub_xputs in
14001 one go, rather than passing characters to grub_printf one at a time.
14002
14003 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
14004
14005 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
14006 initialising utf16.
14007
14008 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
14009
14010 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
14011 comment. Add an extra layer of quotation, requiring the output of
14012 this function to be used in a printf format string.
14013 (gettext_printf): New function.
14014 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
14015 Extract translatable strings from here-documents and use a temporary
14016 variable instead, so that xgettext can find them.
14017 * util/grub.d/10_kfreebsd.in: Likewise.
14018 * util/grub.d/10_linux.in: Likewise.
14019 * util/grub.d/20_linux_xen.in: Likewise.
14020
14021 * po/grub.d.sed: New file.
14022 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
14023 arguments. Set c-format flags on all strings extracted from
14024 util/grub.d/ (xgettext refuses to include these itself for strings
14025 it extracted from a shell file, but these really are c-format).
14026
14027 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
14028
14029 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
14030 Avoid next pointing to nowhere.
14031
14032 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14033
14034 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
14035 rather than assuming than rootblock is exactly in the middle.
14036 (grub_affs_label): Likewise.
14037
14038 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14039
14040 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
14041 reserved_first_sector to 0.
14042 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
14043 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
14044 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
14045
14046 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14047
14048 Fix handling of UTF-16 UDF labels.
14049
14050 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
14051 (read_string): .. here.
14052 (grub_udf_label): Use read_string.
14053
14054 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
14055
14056 * grub-core/normal/menu_entry.c (run): Execute commands from menu
14057 editor under argument scope.
14058 Reported by: Jordan Uggla
14059
14060 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
14061
14062 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
14063
14064 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
14065
14066 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
14067 line, and other keys scroll an entire page (previous handling was
14068 for \r and \n to scroll a page and other keys to scroll two lines).
14069
14070 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
14071
14072 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
14073 Set ptrdest to correct get_physical_target_address rather than
14074 incorrect get_virtual_current_address.
14075
14076 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
14077
14078 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
14079 correct cat to grub_uint8_t * rather than grub_uint32_t *.
14080
14081 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
14082
14083 * .bzrignore: Ignore grub-core/rs_decoder.S.
14084
14085 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
14086
14087 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
14088 .mo/.mo.gz opening sequence to ...
14089 (grub_mofile_open_lang): ... here.
14090 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
14091 * util/grub.d/00_header.in (grub_lang): Include country part of
14092 locale.
14093 Reported by: Mario Limonciello.
14094
14095 2010-12-09 Robert Millan <rmh@gnu.org>
14096
14097 * NEWS: Document addition of ZFS support.
14098
14099 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
14100
14101 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
14102 rather than `/ 2', as the latter requires -Wa,--divide which would
14103 require bumping our minimum binutils version.
14104
14105 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
14106
14107 * util/grub-script-check.c (main): Print script line number on
14108 error.
14109
14110 2010-12-01 Robert Millan <rmh@gnu.org>
14111
14112 * grub-core/fs/zfs/zfs.c: New file.
14113 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
14114 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
14115 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
14116 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14117
14118 * include/grub/zfs/dmu.h: Likewise.
14119 * include/grub/zfs/dmu_objset.h: Likewise.
14120 * include/grub/zfs/dnode.h: Likewise.
14121 * include/grub/zfs/dsl_dataset.h: Likewise.
14122 * include/grub/zfs/dsl_dir.h: Likewise.
14123 * include/grub/zfs/sa_impl.h: Likewise.
14124 * include/grub/zfs/spa.h: Likewise.
14125 * include/grub/zfs/uberblock_impl.h: Likewise.
14126 * include/grub/zfs/vdev_impl.h: Likewise.
14127 * include/grub/zfs/zap_impl.h: Likewise.
14128 * include/grub/zfs/zap_leaf.h: Likewise.
14129 * include/grub/zfs/zfs.h: Likewise.
14130 * include/grub/zfs/zfs_acl.h: Likewise.
14131 * include/grub/zfs/zfs_znode.h: Likewise.
14132 * include/grub/zfs/zil.h: Likewise.
14133 * include/grub/zfs/zio.h: Likewise.
14134 * include/grub/zfs/zio_checksum.h: Likewise.
14135
14136 * Makefile.util.def: Build ZFS into libgrubmods.
14137 * grub-core/Makefile.core.def: Build zfs.mod.
14138
14139 2010-11-30 Szymon Janc <szymon@janc.net.pl>
14140
14141 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
14142 variable.
14143 * grub-core/commands/wildcard.c (match_files): Likewise.
14144
14145 2010-11-30 Robert Millan <rmh@gnu.org>
14146
14147 * grub-core/loader/i386/bsd.c
14148 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
14149 whether kernel is loaded using grub_loader_is_loaded(), rather
14150 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
14151 certain error conditions.
14152
14153 2010-11-30 Robert Millan <rmh@gnu.org>
14154
14155 * grub-core/commands/echo.c: Include `<grub/term.h>'.
14156 (grub_cmd_echo): Call grub_refresh() after printing a message.
14157
14158 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
14159
14160 Avoid using tricks for initialising endian variables.
14161
14162 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
14163 Make const.
14164 (GRUB_MOD_INIT): Don't byte-swap.
14165 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
14166 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
14167 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
14168 (grub_swap_bytes32_compile_time): Likewise.
14169 (grub_cpu_to_le32_compile_time): Likewise.
14170 (grub_cpu_to_le16_compile_time): Likewise.
14171
14172 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
14173
14174 * util/grub-setup.c (setup): Stop recommending --force. People who
14175 understand the dangers of blocklists are able to find this option
14176 anyway and the ones who don't shouldn't use it anyway.
14177
14178 2010-11-26 Robert Millan <rmh@gnu.org>
14179
14180 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
14181 Update all users.
14182
14183 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
14184
14185 Fix LVM-on-RAID probing.
14186
14187 * util/grub-probe.c (probe): Remember which disk was detected as
14188 RAID (perhaps an LVM physical volume). Use that disk's raidname
14189 rather than that of the top-level disk.
14190
14191 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
14192
14193 Fix cmdline argument quotes for setparams command of menuentry
14194 definitions.
14195
14196 * grub-core/commands/menuentry.c (setparams_prefix): Use single
14197 quotes for arguments.
14198 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
14199 grub_strchrsub function instead.
14200
14201 * include/grub/misc.h (grub_strchrsub): New function.
14202
14203 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
14204
14205 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
14206 effort by skipping "." and ".." entries up-front.
14207 Suggested by: Michael Lazarev.
14208
14209 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
14210
14211 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
14212 ldflags to ldadd, to fix link line ordering.
14213 (none_decompress): Likewise.
14214
14215 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
14216
14217 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
14218 platforms.
14219 (grub-emu-lite): Remove kern/emu/cache.S.
14220
14221 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14222
14223 * util/deviceiter.c (compare_devices): If the by-id link for a
14224 device couldn't be resolved, fall back to sorting by the by-id link
14225 rather than segfaulting.
14226 Reported and tested by: Daniel Mierswa.
14227
14228 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14229
14230 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
14231 ldflags, to fix link line ordering.
14232
14233 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14234
14235 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
14236 linkers are picky about this.
14237
14238 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14239
14240 * grub-core/Makefile.am (command.lst): Adjust sed expression
14241 ordering so that extended and priority commands aren't treated as
14242 ordinary commands.
14243
14244 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14245
14246 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
14247 Remove byte-swapping function calls, which are not valid in
14248 structure initialisers.
14249 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
14250 non-const.
14251 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
14252 grub_gpt_partition_type_bios_boot.
14253
14254 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
14255
14256 Fix test program build on GNU/kFreeBSD.
14257
14258 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
14259 $(LIBNVPAIR)' library dependencies.
14260
14261 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
14262
14263 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
14264
14265 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
14266
14267 * util/grub-install.in: Remove excessive quoting that broke
14268 installations to RAID devices.
14269
14270 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14271
14272 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
14273 bootloader version instead of 0.
14274
14275 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14276
14277 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
14278 warning.
14279
14280 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14281
14282 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
14283 retrieve the metadat sector if size isn't known.
14284 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14285
14286 2010-11-18 Robert Millan <rmh@gnu.org>
14287
14288 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
14289 with grub_memcmp().
14290
14291 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
14292
14293 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
14294 arrow.
14295 Reported by: Jordan Uggla.
14296
14297 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14298
14299 Make better UTF compliant.
14300
14301 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
14302 sequences as incorrect.
14303 (grub_is_valid_utf8): Likewise.
14304 (grub_utf8_to_ucs4): Likewise.
14305 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
14306 (grub_ucs4_to_utf8_alloc): Likewise.
14307 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
14308
14309 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14310
14311 Make legacy_source behave like source.
14312
14313 * grub-core/commands/legacycfg.c (legacy_file): Don't call
14314 grub_show_menu.
14315 (grub_cmd_legacy_source): Call grub_show_menu if needed.
14316
14317 2010-11-16 Colin Watson <cjwatson@debian.org>
14318
14319 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
14320 (-Wunused implies -Wunused-parameter, but not vice versa).
14321
14322 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
14323
14324 * configure.ac: Make error messages less confusing by testing for
14325 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
14326 accepted, but produces a diagnostic if something else is wrong).
14327
14328 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
14329
14330 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
14331 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
14332 (now unused).
14333 (grub_keyboard_controller_init)
14334 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
14335 read the initial state since controller isn't inited yet.
14336
14337 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
14338
14339 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
14340 allocate_regbeg may need to create new chunk header.
14341
14342 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14343
14344 Fix quoting in legacy parser.
14345
14346 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
14347 single quotes.
14348 (grub_legacy_parse): Likewise.
14349 Reported by: Jordan Uggla.
14350 Tested by: Jordan Uggla.
14351
14352 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14353
14354 Don't add -lgcc on i386 and x86_64.
14355
14356 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
14357 * conf/Makefile.common (LDADD_KERNEL): Likewise.
14358 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
14359
14360 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14361
14362 * configure.ac: Add -Wno-trampolines when supported.
14363
14364 2010-11-14 Modestas Vainius <modax@debian.org>
14365
14366 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
14367 fakeraid.
14368
14369 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14370
14371 Add generic logical block size support for UDF.
14372
14373 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
14374 (GRUB_UDF_BLKSZ): Removed.
14375 (struct grub_udf_data): New field "lbshift" to hold the logical block
14376 size of the file system in log2 format. All users updated.
14377 (sblocklist): Change type to unsigned.
14378 (grub_udf_mount): Change type of "sblklist" to unsigned.
14379 Move AVDP search before VRS recognition, because the latter requires
14380 knowledge of the logical block size, which is detected during the
14381 former.
14382 Detect and validate logical block size during AVDP search, adding
14383 support for block sizes 512, 1024 and 4096.
14384 Make VRS recognition independent of block size.
14385
14386 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14387
14388 Properly handle deleted files on UDF.
14389
14390 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
14391 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
14392 set.
14393
14394 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14395
14396 Support reading files larger than 2 GiB.
14397
14398 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
14399 "offset" to grub_off_t.
14400 (grub_udf_read_file): Likewise for parameter "pos".
14401
14402 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14403
14404 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
14405 unavailable.
14406 (Simple configuration): Refer to Changes from GRUB Legacy about
14407 save_env availability.
14408
14409 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14410
14411 * util/grub-install.in: Ignore empty partition table detection
14412 instead of trying to include part_ module.
14413
14414 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14415
14416 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
14417 LVM on RAID support.
14418
14419 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14420
14421 Properly define WORDS_BIGENDIAN in wrapped environments.
14422
14423 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
14424 definition.
14425 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
14426
14427 Reported by: Manoel Rebelo Abranches.
14428 Tested by: Manoel Rebelo Abranches.
14429
14430 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14431
14432 * util/grub-mkconfig.in: Fix quoting.
14433
14434 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14435
14436 Support big ext2 files.
14437
14438 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
14439 (grub_ext2_read_block): Support triple indirect blocks.
14440 (grub_ext2_read_file): Use 64-bit types and read size_high.
14441 (grub_ext2_open): Read size_high.
14442 Reported by: Ximin Luo.
14443 Tested by: Manoel Rebelo Abranches.
14444
14445 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14446
14447 * util/grub-install.in: Handle filenames containing spaces.
14448 Reported by: Jordan Uggla.
14449 Tested by: Jordan Uggla.
14450
14451 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14452
14453 * util/grub-mkconfig.in (grub_script_check): New variable.
14454 Use grub_script_check instead of grub-script-check.
14455 Reported by: Barry Jackson.
14456
14457 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14458
14459 * docs/grub.texi (menu): Correct the order.
14460 Reported by: D. Hugh Redelmeier.
14461
14462 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14463
14464 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
14465 jump.
14466
14467 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
14468
14469 * include/grub/elfload.h (grub_elf32_size): New parameter.
14470 All users updated.
14471 Return maximum segments alignment.
14472 (grub_elf64_size): Likewise.
14473 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
14474 Return maximum segments alignment.
14475 (grub_elf64_size): Likewise.
14476 * grub-core/loader/powerpc/ieee1275/linux.c:
14477 (grub_linux_claimmap_iterate): New function. Uses the
14478 "available" property in the "memory" node for memory allocation
14479 for kernel in the PowerPC loader.
14480 (grub_linux_load32): Correctly find linux entry point offset.
14481 (grub_linux_load64): Likewise.
14482
14483 2010-11-07 Robert Millan <rmh@gnu.org>
14484
14485 On mips-yeeloong, build with -march=loongson2f when this flag is
14486 available (GCC >= 4.4).
14487 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
14488 `-march=mips3'.
14489 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
14490 or otherwise add -march=mips3.
14491
14492 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
14493
14494 Suppress shell expansion on echo '*' and echo "*" like cases.
14495 Reported by: Jordan Uggla.
14496
14497 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
14498 string arguments before shell expansion.
14499 * tests/grub_cmd_echo.in: New testcases.
14500
14501 2010-11-07 Robert Millan <rmh@gnu.org>
14502
14503 * conf/mips-qemu-mips.rmk: Remove stale file from previous
14504 transition.
14505
14506 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
14507
14508 * grub-core/kern/emu/hostdisk.c
14509 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
14510
14511 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14512
14513 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
14514 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
14515 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
14516
14517 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14518
14519 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
14520
14521 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14522
14523 * util/grub-install.in: Replace useless recomendation to pass
14524 --modules with a recomendation to report a bug.
14525
14526 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14527
14528 Properly register serial terminfo.
14529 Reported by: Jordan Uggla
14530
14531 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
14532 const.
14533 (grub_serial_terminfo_output_template): Likewise.
14534 (grub_cmd_serial): Register "serial" with terminfo.
14535 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
14536 grub_serial_terminfo_output.
14537
14538 2010-11-05 Robert Millan <rmh@gnu.org>
14539
14540 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
14541 needed).
14542
14543 2010-11-05 Robert Millan <rmh@gnu.org>
14544
14545 On Yeeloong, pass machine type information to Linux.
14546
14547 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
14548 (LOONGSON_MACHTYPE): New macro, set to
14549 "machtype=lemote-yeeloong-2f-8.9inches".
14550 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
14551 additional argument to Linux.
14552
14553 2010-11-04 Robert Millan <rmh@gnu.org>
14554
14555 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
14556 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
14557 (its SATA disks are detected as slaveless IDE master drives on
14558 kFreeBSD).
14559 Reported by Carsten Aulbert.
14560
14561 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
14562
14563 * util/bin2h.c (main): Fix spelling error in generated output.
14564
14565 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
14566
14567 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
14568
14569 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14570
14571 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
14572 vga= option is supplied.
14573
14574 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14575
14576 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
14577 * util/grub.d/10_kfreebsd.in: Likewise.
14578 * util/grub.d/10_linux.in: Likewise.
14579 * util/grub.d/20_linux_xen.in: Likewise.
14580
14581 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14582
14583 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
14584 argument as an argument to no-argument option.
14585
14586 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14587
14588 * util/grub.d/10_linux.in: Add missing load_video with explicit
14589 GRUB_GFXPAYLOAD_LINUX.
14590
14591 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14592
14593 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
14594
14595 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14596
14597 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
14598 elements with invlid index.
14599 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14600 * grub-core/disk/raid.c (insert_array): Automatically reallocate
14601 members.
14602 * include/grub/raid.h (grub_raid_member): New struct.
14603 (grub_raid_array): Transform devices and start_sector into usage of
14604 grub_raid_member. All users updated
14605 (allocated_devs): New member.
14606
14607 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14608
14609 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
14610 is modified
14611
14612 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
14613
14614 NetBSD build fix for getline function conflict from gnulib.
14615
14616 * Makefile.util.def (libgrubkern.a): New library for grub kernel
14617 components that depend on gnulib headers.
14618 (libgrubmods.a): Renamed from earlier libgrub.a.
14619 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
14620
14621 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14622
14623 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
14624 install rather than creating a broken install.
14625
14626 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14627
14628 * util/grub-setup.c (argp): Remove misleading example of installing to
14629 a partition.
14630
14631 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14632
14633 * util/grub-setup.c (setup): Clarify the error message.
14634
14635 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14636
14637 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
14638
14639 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14640
14641 * grub-core/kern/emu/misc.c
14642 (grub_make_system_path_relative_to_its_root)
14643 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
14644
14645 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14646
14647 * grub-core/kern/emu/misc.c
14648 (grub_make_system_path_relative_to_its_root): Revert r2882.
14649
14650 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
14651
14652 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
14653 useless field head. All users updated.
14654 (free_subchunk): Correct handling of IN_REGION subchunk.
14655
14656 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
14657
14658 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
14659 (Supported kernels): Likewise.
14660
14661 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14662
14663 Make mktemp invocations portable.
14664
14665 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
14666 exit if mktemp fails.
14667 * tests/grub_script_blockarg.in: Likewise.
14668 * tests/partmap_test.in: Likewise.
14669 * tests/util/grub-shell-tester.in: Likewise.
14670 * tests/util/grub-shell.in: Likewise.
14671 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14672 * Makefile.am: Likewise, and chain shell commands with `&&'
14673 instead of ';'.
14674 * util/grub-mkrescue.in: Use the same explicit template as above, and
14675 exit if mktemp fails.
14676
14677 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
14678
14679 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
14680 Linux kernel, reported by Dennis Schridde.
14681
14682 2010-10-17 Szymon Janc <szymon@janc.net.pl>
14683
14684 * grub-core/normal/auth.c (grub_auth_check_authentication):
14685 Set-but-not-used variable removed.
14686
14687 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14688
14689 * docs/grub.texi (GNU/Linux): Document APM unavailability with
14690 32-bit linux protocol.
14691
14692 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14693
14694 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
14695 cursor shape for sanity.
14696
14697 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14698
14699 * docs/grub.texi (Installation): Document buggy BIOS install.
14700
14701 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14702
14703 * docs/grub.texi (Installation): Indent.
14704
14705 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14706
14707 * util/grub-setup.c (setup): New parameter allow_floppy.
14708 (arguments): New member allow_floppy.
14709 (argp_parser): Handle --allow-floppy.
14710 (main): Pass allow_floppy.
14711 * util/grub-install.in: New option --allow-floppy passed though to
14712 grub-setup.
14713
14714 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14715
14716 * util/grub-install.in: Handle partitionless disks.
14717
14718 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14719
14720 * util/grub-setup.c (setup): Don't clean blocklists before readability
14721 verfification.
14722
14723 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14724
14725 * docs/grub.texi (Installation): Document embedding zone. Remove
14726 obsolete grub-install example.
14727
14728 2010-10-16 Szymon Janc <szymon@janc.net.pl>
14729
14730 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
14731 Set-but-not-used variable ifdef'ed.
14732 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
14733 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
14734 variable removed.
14735 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
14736 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
14737 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14738 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
14739 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
14740 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
14741 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
14742 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
14743 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
14744 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
14745 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
14746 Likewise.
14747
14748 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14749
14750 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
14751 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
14752 enum value.
14753
14754 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14755
14756 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
14757 synonym to _S5_. Needed for some DSDTs.
14758
14759 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14760
14761 Userspace ACPI parser debugging.
14762
14763 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
14764 headers and add relevant defines. Don't include standard headers.
14765 (main) [GRUB_DSDT_TEST]: New function.
14766 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
14767 Don't declare functions.
14768
14769 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14770
14771 Remove dead grub_efi_mm_fini.
14772
14773 * grub-core/kern/efi/mm.c (allocated_page): Removed.
14774 (ALLOCATED_PAGES_SIZE): Likewise.
14775 (MAX_ALLOCATED_PAGES): Likewise.
14776 (allocated_pages): Likewise.
14777 (grub_efi_allocate_pages): Don't record allocated pages.
14778 (grub_efi_free_pages): Likewise.
14779 (grub_efi_mm_init): Likewise.
14780 (grub_efi_mm_fini): Removed.
14781
14782 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14783
14784 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
14785 (grub_efi_mm_init): Take into account the memory map size increase.
14786
14787 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14788
14789 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
14790 (serial_hw_put): Wait based on real time rather than port reads. Don't
14791 roken ports.
14792 * include/grub/serial.h (grub_serial_port): New field broken.
14793
14794 2010-10-16 Robert Millan <rmh@gnu.org>
14795
14796 * grub-core/kern/emu/misc.c
14797 (grub_make_system_path_relative_to_its_root): Fix premature return
14798 when processing non-root ZFS filesystems.
14799 Reported by Sergio Talens-Oliag.
14800
14801 2010-10-15 Robert Millan <rmh@gnu.org>
14802
14803 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
14804 guarantee compressed ones are processed first.
14805
14806 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14807
14808 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
14809 grub_efiemu_autocore.
14810
14811 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14812
14813 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
14814 rather than 0x1b.
14815 (grub_console_getkey): Use correct jae opcode rather than ja.
14816
14817 2010-10-12 Robert Millan <rmh@gnu.org>
14818
14819 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
14820 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
14821 variable. All references updated.
14822
14823 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
14824
14825 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
14826
14827 Correctly distinguish mdraid flavours.
14828
14829 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
14830 (insert_array): New argument raid.
14831 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
14832 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
14833 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
14834
14835 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
14836
14837 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
14838 handling of special keys.
14839
14840 2010-10-02 Aleš Nesrsta <starous@volny.cz>
14841
14842 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
14843 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
14844
14845 2010-10-02 Aleš Nesrsta <starous@volny.cz>
14846
14847 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
14848 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
14849 users updated.
14850 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
14851 Use right endpoint when querying descriptor.
14852
14853 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14854
14855 Clear out 0x80 color bit on EFI.
14856 Tested by: decoder
14857 Reported by: decoder and meta tech.
14858
14859 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
14860 (grub_console_setcolorstate): Clear out 0x80 bit.
14861 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
14862 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
14863 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
14864
14865 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14866
14867 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
14868 Set to "auto".
14869
14870 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14871
14872 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
14873 mo_file after freeing.
14874
14875 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14876
14877 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
14878
14879 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14880
14881 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
14882 flags.
14883
14884 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14885
14886 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
14887 usage.
14888
14889 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14890
14891 Put terminfo into core on ieee1275 and yeeloong (needed for console).
14892
14893 * gentpl.py: New groups terminfoinkernel and terminfomodule.
14894 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
14895 and terminfo.h when needed.
14896 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
14897 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
14898 (terminfo): Enable only on terminfokernel.
14899 (extcmd): Likewise.
14900 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
14901 * include/grub/lib/arg.h: Likewise.
14902 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
14903 incorrect usage of ->.
14904
14905 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14906
14907 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
14908 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
14909
14910 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14911
14912 Fix coreboot compilation.
14913
14914 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14915 Take VBE info into account even if only text is supported.
14916 (fill_vbe_info): Take into account the case when only VGA text
14917 is supported.
14918 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
14919 on coreboot, multiboot and qemu.
14920
14921 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14922
14923 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
14924 debug messages.
14925 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
14926
14927 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14928
14929 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
14930 parameters.
14931
14932 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14933
14934 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
14935 if they were BSD-style.
14936
14937 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14938
14939 * grub-core/boot/i386/pc/lnxboot.S: Replace
14940 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
14941 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
14942
14943 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14944
14945 Write embedding zone using Reed-Solomon.
14946
14947 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
14948 * grub-core/Makefile.am (rs_decoder.S): New target.
14949 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
14950 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
14951 (multiboot): Move to RS part.
14952 (post_reed_solomon): New label.
14953 (grub_boot_drive): Move to non-RS part since it's modified in memory
14954 on boot.
14955 Include rs_decoder.S.
14956 * grub-core/lib/reed_solomon.c: New file.
14957 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
14958 New definition.
14959 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
14960 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
14961 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
14962 * include/grub/partition.h (grub_partition_map): Change prototype of
14963 embed to allow returning additional sectors.
14964 * include/grub/reed_solomon.h: New file.
14965 * util/grub-setup.c (setup): Handle Reed-Solomon.
14966
14967 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
14968
14969 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14970 i386 and x86-64 definedness tests.
14971
14972 2010-09-27 Yves Blusseau <blusseau@zetam.org>
14973
14974 Fix generation of kernel_syms.lst
14975
14976 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
14977 ASM_PREFIX
14978
14979 2010-09-26 Robert Millan <rmh@gnu.org>
14980
14981 Support degraded ZFS arrays in "grub-probe -t device" resolution.
14982
14983 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
14984 the pool is an array of devices, iterate through it and return the
14985 first device that passes a stat() test (instead of blindly returning
14986 the first one).
14987
14988 2010-09-26 Robert Millan <rmh@gnu.org>
14989
14990 Build fixes for GNU/kFreeBSD.
14991
14992 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
14993 to programs that require ZFS conversion.
14994 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
14995 kernels that don't have FLOPPY_MAJOR.
14996
14997 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14998
14999 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
15000
15001 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
15002
15003 Fix grub-emu build.
15004
15005 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
15006 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
15007 mdraid09 and mdraid1x.
15008
15009 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
15010
15011 Re-enable grub-extras.
15012
15013 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
15014 avoid confusing Automake. Run autogen only twice, once for the top
15015 level and once for grub-core. Add Makefile.util.def and
15016 Makefile.core.def from extra modules to the appropriate autogen
15017 invocations. If Makefile.common exists in an extra module, include
15018 it in both Makefile.util.am and grub-core/Makefile.core.am;
15019 similarly, include any Makefile.util.common file in Makefile.util.am
15020 and any Makefile.core.common file in grub-core/Makefile.core.am.
15021 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
15022 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
15023 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
15024 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
15025
15026 * gentpl.py (gvar_add): Turn GVARS into a set.
15027 (global_variable_initializers): Sort global variables on output.
15028 (vars_init): New function.
15029 (first_time): Likewise.
15030 (library): Ensure that non-global variable initialisations are
15031 emitted before the first time we emit code for a library block.
15032 Append to variables rather than setting them. Only emit
15033 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
15034 each conditional path.
15035 (program): installdir() emits an Autogen macro, so must be passed to
15036 var_add rather than gvar_add.
15037 (data): Likewise.
15038 (script): Likewise.
15039 (rules): New function, centralising handling for different target
15040 types. Set up Guile association lists for first_time and vars_init,
15041 and send most output to a diversion so that variable initialisations
15042 can be emitted first.
15043 (module_rules): Use new rules function.
15044 (kernel_rules): Likewise.
15045 (image_rules): Likewise.
15046 (library_rules): Likewise.
15047 (program_rules): Likewise.
15048 (script_rules): Likewise.
15049 (data_rules): Likewise.
15050
15051 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
15052
15053 * .bzrignore: Add contrib and grub-core/contrib. Remove
15054 grub-core/Makefile.gcry.am.
15055
15056 2010-09-24 Yves Blusseau <blusseau@zetam.org>
15057
15058 * grub-core/lib/LzFind.c: Add missing include.
15059 * grub-core/lib/LzmaEnc.c: Likewise.
15060 * grub-core/script/lexer.c: Likewise.
15061 * grub-core/script/yylex.l: Likewise.
15062 * util/grub-macho2img.c: Likewise.
15063 * util/grub-menulst2cfg.c: Likewise.
15064 * util/grub-mklayout.c: Likewise.
15065 * util/grub-mkpasswd-pbkdf2.c
15066 * util/grub-mkrelpath.c: Likewise.
15067 * util/resolve.c: Likewise.
15068
15069 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
15070
15071 * Makefile.util.def (example_unit_test): Add
15072 grub-core/gnulib/libgnu.a.
15073
15074 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
15075
15076 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
15077
15078 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
15079
15080 Support xz compression on yeeloong.
15081
15082 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
15083 * configure.ac: Check for LZMA.
15084 * grub-core/Makefile.core.def (xz_decompress): New target.
15085 (none_decompress): Likewise.
15086 * grub-core/boot/decompressor/minilib.c: New file.
15087 * grub-core/boot/decompressor/none.c: Likewise.
15088 * grub-core/boot/decompressor/xz.c: Likewise.
15089 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
15090 * grub-core/kern/mips/cache_flush.S: Likewise.
15091 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
15092 * grub-core/kern/mips/startup.S: Move first stage to ...
15093 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
15094 nomacro.
15095 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
15096 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
15097 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
15098 Allocate statically.
15099 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
15100 Allocate statically or use scratch. Don't check CRC32.
15101 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
15102 Allocate statically. Don't check CRC32.
15103 * include/grub/decompressor.h: New file.
15104 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
15105 Removed.
15106 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
15107 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
15108 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
15109 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
15110 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
15111 * util/grub-mkimage.c (grub_compression_t): New type.
15112 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
15113 (image_target_desc): New field default_compression.
15114 (image_targets): Adjust yeeloong targets.
15115 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
15116 (compress_kernel): New parameter comp.
15117 (generate_image): Likewise. Handle new compression case.
15118 (options): New option --compression
15119 (help): Likewise.
15120 (main): Handle new option.
15121
15122 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
15123
15124 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
15125
15126 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
15127
15128 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
15129 typo in __i386__ conditional.
15130
15131 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
15132
15133 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
15134 include.
15135
15136 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
15137
15138 Implement EFI and ACPI multiboot2 extensions.
15139
15140 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
15141 new tags as supported.
15142 (acpiv2_size): New function.
15143 (grub_multiboot_get_mbi_size): Take new tags into account.
15144 (grub_multiboot_make_mbi): Add new tags.
15145 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
15146
15147 2010-09-21 Aleš Nesrsta <starous@volny.cz>
15148
15149 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
15150 Added missing configuration of USB device.
15151
15152 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15153
15154 * grub-core/normal/menu_entry.c (run): Make sure we always return
15155 a value.
15156
15157 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15158
15159 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
15160 NumberOfPages is UINT64 according to the UEFI specification, not
15161 UINTN. Fix printf format.
15162
15163 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15164
15165 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
15166 `err' to grub_usb_err_t.
15167 Reported and tested by: KESHAV P.R.
15168
15169 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15170
15171 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
15172 tpart non-const, so that we can assign to it. (Since this is a
15173 typedef, the constness refers to the pointer rather than what it
15174 points to.)
15175
15176 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15177
15178 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
15179 $(top_srcdir)/grub-core/gnulib as well as
15180 $(top_builddir)/grub-core/gnulib.
15181 Reported by: KESHAV P.R.
15182
15183 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15184
15185 * util/grub-install.in: Fix the bootloader ID option to be
15186 consistently --bootloader-id, not --bootloader_id.
15187 Reported by: KESHAV P.R.
15188
15189 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15190
15191 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
15192 check hash checksum." consistently translatable.
15193
15194 2010-09-21 Yves Blusseau <blusseau@zetam.org>
15195
15196 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
15197 $(top_builddir).
15198
15199 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15200
15201 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
15202 (GRUB_MOD_INIT): Register sha1sum command.
15203 (GRUB_MOD_FINI): Unregister sha1sum command.
15204
15205 2010-09-21 Yves Blusseau <blusseau@zetam.org>
15206
15207 Keep boot and grub directory names in sync with utils scripts
15208
15209 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
15210 * config.h.in: Add previous macros.
15211 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
15212 * util/grub-install.in: Use $bootdir and $grubdir variables.
15213
15214 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15215
15216 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
15217 convert partition names to disk names if the new `convert' parameter
15218 is set.
15219 (grub_util_biosdisk_get_grub_dev): If opening the disk device
15220 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
15221 disk in its own right. This can happen with Xen disk images.
15222
15223 2010-09-21 Yves Blusseau <blusseau@zetam.org>
15224
15225 * util/grub-editenv.c: Update strings to avoid warnings when generating
15226 grub.pot file.
15227 * util/grub-setup.c: Likewise.
15228
15229 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
15230
15231 * configure.ac: Change version to 1.99~beta0.
15232
15233 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
15234
15235 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
15236 Add BADRAM.
15237 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
15238 Likewise.
15239 * include/multiboot.h: Resynced with specification.
15240 * include/multiboot2.h: Likewise.
15241
15242 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15243
15244 Fix po directory handling.
15245
15246 * configure.ac: Create po/Makefile.in rather than po/Makefile.
15247 * grub-core/gnulib/Makefile.am: Import gettext module.
15248 * m4/gnulib-cache.m4: Likewise.
15249 * m4/gnulib-comp.m4: Likewise.
15250 * m4/gettext.m4: New file, from gnulib.
15251 * m4/glibc2.m4: Likewise.
15252 * m4/iconv.m4: Likewise.
15253 * m4/intdiv0.m4: Likewise.
15254 * m4/intl.m4: Likewise.
15255 * m4/intldir.m4: Likewise.
15256 * m4/intlmacosx.m4: Likewise.
15257 * m4/intmax.m4: Likewise.
15258 * m4/inttypes-pri.m4: Likewise.
15259 * m4/lcmessage.m4: Likewise.
15260 * m4/lib-ld.m4: Likewise.
15261 * m4/lib-link.m4: Likewise.
15262 * m4/lib-prefix.m4: Likewise.
15263 * m4/lock.m4: Likewise.
15264 * m4/nls.m4: Likewise.
15265 * m4/po.m4: Likewise.
15266 * m4/printf-posix.m4: Likewise.
15267 * m4/progtest.m4: Likewise.
15268 * m4/threadlib.m4: Likewise.
15269 * m4/uintmax_t.m4: Likewise.
15270 * m4/visibility.m4: Likewise.
15271 * po/Makefile.am: Remove.
15272 * po/Makefile.in.in: New file, from gettext.
15273 ($(DOMAIN).pot-update): Support POTFILES-shell.
15274 * po/Makevars: New file.
15275 * po/POTFILES-shell: Rename to ...
15276 * po/POTFILES-shell.in: ... this. Update.
15277 * po/POTFILES: Rename to ...
15278 * po/POTFILES.in: ... this. Update.
15279 * po/Rules-quot: New file, from gettext.
15280 * po/boldquot.sed: Likewise.
15281 * po/en@boldquot.header: Likewise.
15282 * po/en@quot.header: Likewise.
15283 * po/insert-header.sin: Likewise.
15284 * po/quot.sed: Likewise.
15285 * po/remove-potcdate.sin: Likewise.
15286
15287 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15288
15289 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
15290
15291 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15292
15293 * util/grub.d/20_linux_xen.in: Use submenus.
15294
15295 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15296
15297 Support submenus.
15298
15299 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
15300 parameter submenu. All users updated.
15301 * grub-core/normal/main.c (free_menu): Rename to ...
15302 (grub_normal_free_menu): ... this. Made global.
15303 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
15304 if requested.
15305 * grub-core/normal/menu_entry.c (screen): New field submenu.
15306 (make_screen): Set submenu.
15307 (run): Open new context if requested.
15308 * include/grub/menu.h (grub_menu_entry): New field submenu.
15309 * include/grub/normal.h (grub_normal_free_menu): New proto.
15310
15311 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15312
15313 Menu entries extractor.
15314
15315 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
15316 variants.
15317 (GRUB_MOD_INIT): Register new variants.
15318 (GRUB_MOD_FINI): Unregister new variants.
15319 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
15320 into grub_cmd_legacy_source.
15321 (grub_cmd_legacy_source): Implement extractor variants.
15322 (GRUB_MOD_INIT): Register new variants.
15323 (GRUB_MOD_FINI): Unregister new variants.
15324 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
15325 as an extractor.
15326 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
15327 search as an extractor.
15328 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
15329 test as an extractor.
15330 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
15331 as an extractor.
15332 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
15333 (grub_env_new_context): New function.
15334 (grub_env_context_open): Likewise.
15335 (grub_env_extractor_open): Likewise.
15336 (grub_env_extractor_close): Likewise.
15337 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15338 grub_extractor_level.
15339 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
15340 * include/grub/env.h (grub_env_extractor_open): New proto.
15341 (grub_env_extractor_close): Likewise.
15342 * include/grub/normal.h (grub_extractor_level): New external variable.
15343
15344 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15345
15346 Make cutmem accept a region specification.
15347 Suggested by: Samuel Thibault
15348
15349 * grub-core/mmap/mmap.c (parsemem): New function.
15350 (grub_cmd_cutmem): Handle new arguments.
15351
15352 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15353
15354 New command cutmem.
15355
15356 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
15357 (GRUB_MOD_INIT): Register new command.
15358 (GRUB_MOD_FINI): Unregister new command.
15359
15360 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15361
15362 Support some annoying BSD and Minix subpartitions.
15363
15364 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
15365 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
15366 Properly handle concatenation.
15367 * grub-core/kern/device.c (grub_device_iterate): Likewise.
15368 * grub-core/normal/completion.c (iterate_partition): Likewise.
15369 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
15370 contain partition. All users updated.
15371 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
15372 struct.
15373 (grub_openbsdlabel_partition_map): Likewise.
15374 (bsdlabel_partition_map_iterate): Rename to ..
15375 (iterate_real): ... this. New arguments sector, freebsd and pmap.
15376 (bsdlabel_partition_map_iterate): New function.
15377 (netopenbsdlabel_partition_map_iterate): Likewise.
15378 (netbsdlabel_partition_map_iterate): Likewise.
15379 (openbsdlabel_partition_map_iterate): Likewise.
15380 (GRUB_MOD_INIT): Register new partmaps.
15381 (GRUB_MOD_FINI): Unregister new partmaps.
15382 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
15383 (grub_partition_msdos_iterate): ... this. All users updated.
15384 Don't support embedding other than in a minix partition.
15385 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
15386 proto.
15387 * include/grub/partition.h (grub_partition): New field msdostype.
15388 * util/grub-install.in: Handle openbsd and netbsd types being in
15389 part_bsd module.
15390
15391 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15392
15393 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
15394
15395 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
15396 * grub-core/Makefile.core.def (mdraid): Renamed to ...
15397 (mdraid09): ... this.
15398 (mdraid1x): New module.
15399 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
15400 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
15401
15402 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15403
15404 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
15405 vsprintf.
15406
15407 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15408
15409 * grub-core/commands/efi/lsefimmap.c: Correct header.
15410 * NEWS: Update.
15411
15412 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15413
15414 * util/grub-editenv.c (argp_parser): Don't pass translated strings
15415 as printf format strings; the translations might contain '%' which
15416 could cause a crash.
15417 (main): Likewise.
15418 * util/grub-fstest.c (argp_parser): Likewise.
15419 * util/grub-setup.c (argp_parser): Likewise.
15420 (main): Likewise.
15421
15422 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15423
15424 Use argp in grub-fstest.
15425
15426 * util/grub-fstest.c: Don't include getopt.h.
15427 Include argp.h.
15428 (root): New variable.
15429 (args_count): Likewise.
15430 (nparm): Likewise.
15431 (num_disks): Likewise.
15432 (images): Likewise.
15433 (cmd): Likewise.
15434 (debug_str): Likewise.
15435 (args): Likewise.
15436 (options): Transformed to argp.
15437 (usage): Removed.
15438 (main): Split argument parsing into ...
15439 (argp_parser): ... this. Changed to argp format.
15440 (argp): New variable.
15441 (main): Use argp_parse.
15442
15443 2010-09-20 Tristan Gingold <gingold@free.fr>
15444 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
15445 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15446
15447 * grub-core/commands/efi/lsefimmap.c: New file.
15448 * grub-core/Makefile.core.def (lsefimmap): New module.
15449 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
15450
15451 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15452
15453 Pause the execution (10s max) if any errors are displayed so the user
15454 has a chance to see them.
15455
15456 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
15457 (grub_print_error): Increment grub_err_printed_errors.
15458 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
15459 execution if any errors were displayed.
15460 (show_menu): Remove old code for pause.
15461 * grub-core/normal/menu_entry.c (run): Likewise.
15462 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
15463 users updated.
15464 (grub_normal_get_char_counter): Likewise.
15465 * include/grub/err.h (grub_err_printed_errors): New external variable.
15466 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
15467
15468 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15469
15470 Support multiboot VBE info.
15471
15472 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
15473 Take VBE info into account.
15474 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
15475 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
15476 Call fill_vbe_info when appropriate.
15477 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
15478 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
15479 as supported.
15480 (grub_multiboot_get_mbi_size): Take new tags into account.
15481 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
15482 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
15483 Call fill_vbe_tag when appropriate.
15484 (grub_multiboot_make_mbi): Properly align tags.
15485 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
15486 function.
15487 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
15488 proto.
15489 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
15490
15491 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15492
15493 Suport manual terminal geometry specification.
15494
15495 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
15496 Save state in grub_ofconsole_terminfo_output.
15497 (grub_ofconsole_term): Use grub_terminfo_getwh.
15498 (grub_ofconsole_getwh): Removed.
15499 * grub-core/term/serial.c (grub_serial_getwh): Removed.
15500 (grub_serial_term): Use grub_terminfo_getwh.
15501 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
15502 (options): New struct.
15503 (OPTION_*): New enum.
15504 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
15505 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
15506 width and height.
15507 (grub_terminfo_getwh): New proto.
15508 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
15509
15510 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15511
15512 Handle legacy "terminal" command.
15513
15514 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
15515 and FLAG_TERMINAL.
15516 (legacy_commands): Add terminal and title.
15517 (grub_legacy_parse): Handle terminal. Simplify title handling.
15518
15519 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15520
15521 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
15522 parameters overflow.
15523
15524 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15525
15526 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
15527 widthspec.h.
15528
15529 * docs/grub.texi (Shell-like scripting): Document `!'.
15530 (Network): Simplify using new i386-pc-pxe format. Mention
15531 grub-mknetdir.
15532
15533 * NEWS: Update.
15534
15535 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15536
15537 * Makefile.am (SUBDIRS): Restore "."; it's important to force
15538 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
15539 when needed.
15540
15541 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15542
15543 * grub-core/commands/efi/lsefisystab.c: Correct header.
15544 * grub-core/commands/efi/lssal.c: Likewise.
15545 * grub-core/commands/testload.c: Likewise.
15546
15547 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15548
15549 * util/grub-mkrescue.in: Add explicit root argument to --set to
15550 prevent the UUID being interpreted as an argument to --set (matches
15551 previous change to prepare_grub_to_access_device).
15552
15553 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15554
15555 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
15556 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
15557 the verbosity of later #ifs.
15558 (find_partition_start): Define this function on FreeBSD too.
15559 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
15560 function.
15561 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
15562 on FreeBSD.
15563
15564 2010-09-20 Yves Blusseau <blusseau@zetam.org>
15565
15566 * util/grub-editenv.c: Use argp instead of getopt.
15567
15568 2010-09-20 Yves Blusseau <blusseau@zetam.org>
15569
15570 * util/grub-setup.c: Use argp instead of getopt.
15571
15572 2010-09-20 Yves Blusseau <blusseau@zetam.org>
15573
15574 Use gnulib-tool to create gnulib source files.
15575
15576 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
15577 grub-core/gnulib directories
15578 * .bzignore: Add **/.deps and autogenerated gnulib files
15579 * configure.ac: Assign auxiliary directory to build-aux, add invocation
15580 of gnulib macros, add grub-core/gnulib/Makefile
15581 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
15582 include m4 directory to aclocal.
15583 * Makefile.util.def: Remove direct compilation of gnulib source files
15584 and use the new grub-core/gnulib/libgnu.a.
15585 * build-aux/config.rpath: move config.rpath from top directory to
15586 build-aux
15587 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
15588 in gnulib headers
15589 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
15590 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
15591 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
15592 header.
15593 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
15594 string.
15595
15596 2010-09-20 Yves Blusseau <blusseau@zetam.org>
15597
15598 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
15599 grub-core/genmod.sh and grub-core/gensyminfo.sh
15600
15601 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
15602
15603 Add a test for echo command options.
15604
15605 * tests/grub_cmd_echo.in: New test.
15606 * Makefile.util.def: Rules for new test.
15607
15608 2010-09-20 Szymon Janc <szymon@janc.net.pl>
15609
15610 Remove crc.mod and move crc command to hashsum.mod.
15611 Remove lib/crc.c - users updated to use gcrypt implementation.
15612
15613 * grub-core/commands/crc.c: Removed.
15614 * grub-core/Makefile.core.def (crc): Module removed.
15615 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
15616 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
15617 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
15618 * grub-core/lib/crc.c: Removed.
15619 * include/grub/lib/crc.h: Removed.
15620 * Makefile.util.def (crc): Remove lib/crc.c
15621 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
15622 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
15623 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
15624 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
15625 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
15626 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
15627
15628 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15629
15630 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
15631
15632 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15633
15634 Split config.h for util and core.
15635
15636 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
15637 (ADDR32): Likewise.
15638 (DATA32): Likewise.
15639 (BSS_START_SYMBOL): Likewise.
15640 (END_SYMBOL): Likewise.
15641 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
15642 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
15643 * config.h.in: New file.
15644 * configure.ac: Use config-util.h as config define file.
15645 Rename MACHINE into GRUB_MACHINE. All users updated.
15646 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
15647 updated.
15648 (NESTED_FUNC_ATTR): Likewise.
15649 Substitue new variables.
15650 (COND_HAVE_ASM_USCORE): New conditional.
15651 * grub-core/Makefile.am (ASM_PREFIX): New variable.
15652 (kernel_syms.lst): Use ASM_PREFIX.
15653 * grub-core/kern/emu/console.c: Include config-util.h.
15654 * grub-core/kern/emu/misc.c: Likewise.
15655 * grub-core/kern/emu/mm.c: Likewise.
15656 * include/grub/emu/misc.h: Likewise.
15657 * include/grub/libgcc.h: Likewise.
15658
15659 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15660
15661 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
15662 constants usage.
15663 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
15664 Fix GRUB_TERM_KEY_* constants usage.
15665 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
15666
15667 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15668
15669 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
15670 print pointer.
15671 * grub-core/bus/usb/uhci.c: Remove empty define.
15672 (grub_uhci_check_transfer): Add missing cast.
15673 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
15674 print pointer.
15675 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
15676 PRIuGRUB_SIZE.
15677 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
15678
15679 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15680
15681 * grub-core/Makefile.core.def (legacycfg): Add
15682 lib/i386/pc/vesa_modes_table.c on emu.
15683
15684 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15685
15686 Reduce number of temporary files generated by build system.
15687
15688 * grub-core/gencmdlist.sh: Removed.
15689 * grub-core/genfslist.sh: Removed.
15690 * grub-core/genhandlerlist.sh: Removed.
15691 * grub-core/genmodsrc.sh: Removed.
15692 * grub-core/genpartmaplist.sh: Removed.
15693 * grub-core/genparttoollist.sh: Removed.
15694 * grub-core/gentermiinallist.sh: Removed.
15695 * grub-core/genvideolist.sh: Removed.
15696
15697 * grub-core/genmod.sh.in: New file.
15698 * grub-core/gensyminfo.sh.in: New file.
15699
15700 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
15701 * conf/Makefile.extra-dist: Update with new files.
15702 * gentpl.py: Remove rules related to unnecessary temporary files.
15703 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
15704 and und-* files.
15705 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
15706 genmod.sh scripts.
15707 * grub-core/bus/usb/uhci.c: Remove empty #define.
15708 * grub-core/genmoddep.awk: Updated with new syminfo format.
15709 * util/bash-completion.d/Makefile.am: Add config.log to
15710 CLEANFILES.
15711
15712 2010-09-19 Yves Blusseau <blusseau@zetam.org>
15713
15714 * Makefile.util.def: Add forgotten $(LIBINTL) library.
15715
15716 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15717
15718 * util/grub-mkconfig.in: Check the config script for syntax errors
15719 before saving.
15720
15721 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
15722 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15723
15724 * Makefile.util.def (grub-install): Use util/grub-install.in on all
15725 platforms.
15726 * util/grub-install.in: Add EFI and IEEE1275 support.
15727 * util/i386/efi/grub-install.in: Removed.
15728 * util/ieee1275/grub-install.in: Likewise.
15729
15730 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15731
15732 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
15733 (grub_cmd_cmosclean): Likewise.
15734 (GRUB_MOD_INIT): Register command cmosclean.
15735 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
15736 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
15737
15738 2010-09-18 Carles Pina i Estany <carles@pina.cat>
15739 2010-09-18 Aleš Nesrsta <starous@volny.cz>
15740 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15741
15742 Add keyboard layouts support.
15743
15744 * Makefile.util.def (grub-mklayout): New file.
15745 (grub-kbdcomp): New script.
15746 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
15747 Add keyboard_layouts.h.
15748 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
15749 commands/boot.c on yeeloong.
15750 (keylayouts): New module.
15751 * grub-core/bus/usb/ohci.c
15752 * grub-core/bus/usb/uhci.c
15753 * grub-core/bus/usb/usbhub.c (rescan): New variable.
15754 (grub_usb_add_hub): Poll interrupt pipe for device handling.
15755 (attach_root_port): Likewise.
15756 (poll_nonroot_hub): Likewise.
15757 (grub_usb_poll_devices): Likewise.
15758 (detach_device): Close transfer.
15759 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
15760 function.
15761 (grub_usb_bulk_setup_readwrite): Likewise.
15762 (grub_usb_bulk_finish_readwrite): Likewise.
15763 * grub-core/commands/keylayouts.c: New file.
15764 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
15765 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
15766 aliases.
15767 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
15768 support scancode 2.
15769 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
15770 * include/grub/keyboard_layouts.h: New file.
15771 * util/grub-mklayout.c: New file.
15772 * util/grub-kbdcomp.in: Likewise.
15773
15774 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15775
15776 Unify memory types.
15777
15778 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
15779 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
15780 types.
15781 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
15782 (grub_upper_mem): Likewise.
15783 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
15784 * include/grub/memory.h (grub_memory_type_t): New enum.
15785 All users updated.
15786
15787 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15788
15789 * grub-core/Makefile.core.def (lsapm): New module.
15790 * grub-core/commands/i386/pc/lsapm.c: New file.
15791 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
15792 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
15793 Likewise.
15794 * include/grub/i386/pc/apm.h: New file.
15795 * include/multiboot.h (multiboot_apm_info): New struct.
15796
15797 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15798
15799 GRUB-legacy configuration file support.
15800
15801 * Makefile.util.def (grub-menulst2cfg): New util.
15802 * docs/man/grub-menulst2cfg.h2m: New file.
15803 * grub-core/Makefile.core.def (legacycfg): New module.
15804 * grub-core/commands/legacycfg.c: New file.
15805 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
15806 (grub_normal_add_menu_entry): ... this.
15807 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
15808 (grub_normal_set_password): ...this.
15809 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
15810 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
15811 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
15812 * grub-core/lib/legacy_parse.c: New file.
15813 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
15814 * include/grub/i386/pc/vesa_modes_table.h: New file.
15815 * include/grub/legacy_parse.h: Likewise.
15816 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
15817 * util/grub-menulst2cfg.c: New file.
15818
15819 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15820
15821 * grub-core/kern/emu/hostdisk.c
15822 (convert_system_partition_to_system_disk): Initialise node.
15823
15824 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15825
15826 * grub-core/kern/emu/hostdisk.c
15827 (convert_system_partition_to_system_disk): Fix devmapper memory pool
15828 leak.
15829 Reported and based on patch by: Modestas Vainius.
15830
15831 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15832
15833 Fix DM-RAID probing with recent versions of device-mapper udev
15834 rules.
15835
15836 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
15837 canonicalise device paths under /dev/mapper/.
15838 (convert_system_partition_to_system_disk): Compare the
15839 uncanonicalised path to /dev/mapper/ rather than the canonicalised
15840 path, since device nodes under /dev/mapper/ are often symlinks.
15841
15842 2010-09-17 Yves Blusseau <blusseau@zetam.org>
15843
15844 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
15845
15846 2010-09-16 Yves Blusseau <blusseau@zetam.org>
15847
15848 * configure.ac: Avoid some annoying error messages if freetype-config
15849 program is not found.
15850
15851 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15852
15853 Support RAID on virtio devices, and others.
15854
15855 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
15856 Rename to ...
15857 [__MINGW32__] (grub_find_device): ... this.
15858 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
15859 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
15860 reasonable default if dir is NULL.
15861 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
15862 ...
15863 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
15864 (grub_guess_root_device): Update callers.
15865 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
15866
15867 * util/raid.c (grub_util_getdiskname): Remove.
15868 (grub_util_raid_getmembers): Use grub_find_device rather than
15869 grub_util_getdiskname.
15870
15871 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15872
15873 * docs/grub.texi (serial): Remove obsolete comment about GRUB
15874 needing to be compiled with serial support.
15875 (ls): Indicate that multiple files are accepted.
15876 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
15877 indicate that multiple files are accepted.
15878
15879 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15880
15881 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
15882 libgrub_a_init.c, and util/bash-completion.d/grub.
15883
15884 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15885
15886 * util/grub-setup.c (setup): Fix incorrect container semantics.
15887
15888 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15889
15890 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
15891 misusage.
15892 Reported by: J. Nick Terry
15893
15894 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15895
15896 Move embedding routines to partmap sources files.
15897
15898 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
15899 [GRUB_UTIL]: New variable.
15900 (gpt_partition_map_iterate): Set part.parent.
15901 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
15902 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
15903 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
15904 New function.
15905 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
15906 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
15907 (grub_partition_map) [GRUB_UTIL]: New field embed.
15908 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
15909 (setup): Use ->embed.
15910
15911 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15912
15913 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
15914 function.
15915 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
15916 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
15917
15918 2010-09-15 Yves Blusseau <blusseau@zetam.org>
15919
15920 Add function to get completions from usage.
15921
15922 * util/bash-completion.d/grub-completion.bash.in: Add function to get
15923 completions from usage. Use LC_ALL=C to get options properly.
15924
15925 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15926
15927 * grub-core/gnulib/basename-lgpl.c: Imported.
15928 * grub-core/gnulib/basename.c: Likewise.
15929 * grub-core/gnulib/dirname-lgpl.c: Likewise.
15930 * grub-core/gnulib/dirname.c: Likewise.
15931 * grub-core/gnulib/dirname.h: Likewise.
15932 * grub-core/gnulib/stripslash.c: Likewise.
15933
15934 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15935
15936 * grub-core/gnulib/error.c: Resynced.
15937 * grub-core/gnulib/getopt.c: Likewise.
15938 * grub-core/gnulib/getopt_int.h: Likewise.
15939 * grub-core/gnulib/regex.h: Likewise.
15940 * grub-core/gnulib/regex_internal.c: Likewise.
15941 * grub-core/gnulib/regex_internal.h: Likewise.
15942
15943 2010-09-15 Szymon Janc <szymon@janc.net.pl>
15944
15945 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
15946 CRC calculations and validity checks.
15947 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
15948 calculations.
15949
15950 2010-09-15 Szymon Janc <szymon@janc.net.pl>
15951
15952 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
15953
15954 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15955
15956 Fix incorrect echo options handling.
15957 Reported by: Yves Blusseau.
15958
15959 * include/grub/command.h (grub_command_flags_t): New flags
15960 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
15961 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
15962 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
15963
15964 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15965
15966 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
15967 users updated.
15968 (GRUB_COMMAND_FLAG_MENU): Likewise.
15969 (GRUB_COMMAND_FLAG_BOTH): Likewise.
15970 (GRUB_COMMAND_FLAG_TITLE): Removed.
15971 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
15972 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
15973 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
15974 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
15975 (grub_command_flags_t): New enum. All users updated.
15976
15977 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
15978
15979 Fix solaris compilation.
15980
15981 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
15982 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
15983 (grub-emu-list): Likewise.
15984
15985 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15986
15987 Remove deprecated root command.
15988
15989 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
15990 updated.
15991
15992 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15993
15994 * util/i386/pc/grub-setup.c: Merge this ...
15995 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
15996 * util/grub-setup.c: ... into this.
15997 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
15998 New struct.
15999
16000 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16001
16002 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
16003 possible.
16004
16005 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16006
16007 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
16008 allocate p.
16009
16010 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16011
16012 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
16013 explicit root argument to set to prevent UUID to be interpreted as
16014 argument to set.
16015
16016 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16017
16018 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
16019
16020 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16021
16022 Don't export grub_gate_a20.
16023
16024 * grub-core/kern/i386/pc/init.c: Remove leftovers.
16025 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
16026 to ...
16027 (grub_gate_a20): ... this. All users updated.
16028 * include/grub/i386/pc/init.h: Removed. All users updated.
16029
16030 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16031
16032 Create euro.pf2 which supports most European languages.
16033
16034 * Makefile.am (grubdata_DATA): Add euro.pf2.
16035 (euro.pf2): New target.
16036 (CLEANFILES): Add euro.pf2.
16037
16038 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16039
16040 * configure.ac: Disable emu-usb by default to prevent inadvertent
16041 device takeover.
16042
16043 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16044
16045 Disable usbserial on grub-emu since our libusb code isn't good enough
16046 yet.
16047
16048 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
16049 (usbserial_pl2303): Likewise.
16050 (usbserial_ftdi): Likewise.
16051
16052 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16053
16054 * include/grub/disk.h (grub_disk): Remove has_partitions.
16055 All users updated.
16056 * disk/loopback.c (grub_loopback): Remove has_partitions.
16057 All users updated.
16058 (options): Remove partitions. All users updated.
16059 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
16060 * util/i386/pc/grub-setup.c (setup): copy partition table only when
16061 actual partition table is found.
16062
16063 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16064
16065 Remove readability checks (too many false negatives).
16066
16067 * util/grub-install.in: Remove readability checks.
16068 * util/grub-mkconfig.in: Likewise.
16069 * util/grub.d/10_hurd.in: Likewise.
16070 * util/grub.d/10_kfreebsd.in: Likewise.
16071 * util/grub.d/10_linux.in: Likewise.
16072 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
16073 way.
16074
16075 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16076
16077 Enable acpi shutdown on all ACPI platforms.
16078
16079 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
16080 on coreboo, multiboot and EFI.
16081 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
16082 (grub_acpi_halt): Likewise.
16083 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
16084 (grub_cmd_halt): Don't call grub_acpi_halt directly.
16085 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
16086 * grub-core/lib/i386/halt.c (grub_halt)
16087 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
16088
16089 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16090
16091 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
16092 context.
16093
16094 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16095
16096 * grub-core/video/efi_gop.c: Fix over-80-chars line.
16097 * grub-core/video/efi_uga.c: Likewise.
16098
16099 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16100
16101 Filter devaliases and never open same device twice.
16102
16103 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
16104 (last_ihandle): Likewise.
16105 (ofdisk_hash_ent): New member shortest.
16106 (ofdisk_hash_add): Add canonical path too.
16107 (scan): New function.
16108 (grub_ofdisk_iterate): Iterate over hashed entries.
16109 (compute_dev_path): Don't add :0.
16110 (grub_ofdisk_open): Don't really open the disk.
16111 (grub_ofdisk_close): Avoid closing unrelated disk.
16112 (grub_ofdisk_read): Implement reopen logic.
16113 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
16114 New function.
16115 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
16116 New proto.
16117
16118 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16119
16120 Fix sparc64.
16121
16122 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
16123 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
16124 right address. Add sparc64_ieee1275_ldflags.
16125 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
16126 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
16127 to grub_host_to_target_addr
16128 (load_image): Likewise.
16129
16130 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16131
16132 * grub-core/normal/completion.c (complete_file): Handle device
16133 containing slash.
16134 Fix based on patch by Doug Nazar.
16135
16136 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16137
16138 grub-mknetdir script.
16139
16140 * Makefile.util.def (grub-mknetdir): New module.
16141 * tests/util/grub-shell.in: Support boot=net
16142 * util/grub-mknetdir.in: New file.
16143
16144 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16145
16146 videoinfo on non-vbe.
16147
16148 * grub-core/Makefile.core.def (vbeinfo): Removed.
16149 (vbetest): Removed.
16150 (videoinfo): New module.
16151 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
16152 * grub-core/commands/i386/pc/vbetest.c: Removed.
16153 * grub-core/commands/videoinfo.c: New file.
16154 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
16155 specification.
16156 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
16157 as vbetest.
16158 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
16159 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
16160 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
16161 mode_number. New parameter mode. All users updated.
16162 (grub_video_gop_iterate): New function.
16163 (grub_video_efi_gop): New member iterate.
16164 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
16165 (grub_vbe_set_video_mode): Remove setting useless fields.
16166 (vbe2videoinfo): New function.
16167 (grub_video_vbe_iterate): Likewise.
16168 (grub_video_vbe_setup): Use vbe2videoinfo.
16169 (grub_video_vbe_print_adapter_specific_info): New function.
16170 (grub_video_vbe_adapter): New fields iterate and
16171 print_adapter_specific_info.
16172 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
16173 All users updated.
16174 (grub_video_mode_info): New field mode_number.
16175 (grub_video_adapter): New fields iterate and
16176 print_adapter_specific_info.
16177
16178 2010-09-13 Tristan Gingold <gingold@free.fr>
16179 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
16180 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16181
16182 * grub-core/commands/efi/lsefisystab.c: New file.
16183 * grub-core/commands/efi/lssal.c: Likewise.
16184 * grub-core/Makefile.core.def (lsacpi): New module.
16185 (lsefisystab): Likewise.
16186 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
16187 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
16188 (grub_efi_sal_system_table): New struct.
16189 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
16190 (grub_efi_sal_system_table_memory_descriptor): Likewise.
16191 (grub_efi_sal_system_table_platform_features): Likewise.
16192 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
16193 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
16194 (grub_efi_sal_system_table_ap_wakeup): Likewise.
16195 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
16196
16197 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16198
16199 Support explicit user claim that a device is BIOS-visible.
16200
16201 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
16202 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
16203 * grub-core/kern/emu/hostdisk.c
16204 (convert_system_partition_to_system_disk): Support mdX.
16205 (find_system_device): New parameter add. All users updated.
16206 (grub_util_biosdisk_is_present): New function.
16207 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
16208 proto.
16209
16210 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16211
16212 Search hints support.
16213
16214 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
16215 All users updated.
16216
16217 2010-09-13 Yves Blusseau <blusseau@zetam.org>
16218
16219 Bash completion script for util commands
16220
16221 * Makefile.am: Add util/bash-completion.d directory
16222 * configure.ac: Likewise.
16223 * util/bash-completion.d/Makefile.am: New file.
16224 * util/bash-completion.d/grub-completion.bash.in: Likewise.
16225
16226 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16227
16228 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
16229 (print_backlog): set backlog_ucs4 and backlog_glyphs.
16230 Reported by: Yves Blusseau.
16231
16232 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16233
16234 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
16235 partition size and offset.
16236
16237 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16238
16239 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
16240
16241 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16242
16243 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
16244
16245 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16246
16247 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
16248 (grub_xvasprintf): Likewise.
16249
16250 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16251
16252 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
16253
16254 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16255
16256 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
16257 args ending with NULL.
16258
16259 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16260
16261 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
16262 pointer.
16263
16264 2010-09-11 Szymon Janc <szymon@janc.net.pl>
16265
16266 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
16267
16268 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16269
16270 Shutdown using ACPI.
16271
16272 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
16273 * grub-core/commands/acpihalt.c: New file.
16274 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
16275 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
16276 (grub_acpi_halt): New proto.
16277 (GRUB_ACPI_SLP_EN): New const.
16278 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
16279 (GRUB_ACPI_OPCODE_*): New enum.
16280 (GRUB_ACPI_EXTOPCODE_*): Likewise.
16281
16282 2010-09-11 Tristan Gingold <gingold@free.fr>
16283 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
16284 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16285
16286 * commands/lsacpi.c: New file.
16287 * grub-core/Makefile.core.def (lsacpi): New module.
16288 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
16289 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
16290 (grub_acpi_madt_entry_header): New struct.
16291 (grub_acpi_madt): Likewise.
16292 (grub_acpi_madt_entry_interrupt_override): Likewise.
16293 (grub_acpi_madt_entry_sapic): Likewise.
16294 (grub_acpi_madt_entry_lsapic): Likewise.
16295 (grub_acpi_madt_entry_platform_int_source): Likewise.
16296 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
16297 (PRIuGRUB_UINT32_T): Likewise.
16298 (PRIxGRUB_UINT64_T): Likewise.
16299
16300 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16301
16302 Implement loading palette on ieee1275_fb.
16303
16304 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
16305 (have_setcolors): Likewise.
16306 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
16307 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
16308 (grub_video_ieee1275_set_palette): Implement.
16309
16310 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16311 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
16312
16313 * util/grub-install.in (grub_partition): New variable.
16314 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
16315 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
16316 Fixes a bug reported by Yves Blusseau.
16317
16318 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16319
16320 Fix emu on mipsel.
16321
16322 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
16323 =grub_cpu_flush_cache on all mips and not only yeeloong.
16324 * configure.ac (COND_mips): New conditional.
16325 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
16326 platforms.
16327 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
16328 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
16329 [GRUB_LINKER_HAVE_INIT]: New function.
16330 (grub_emu_post_init): Likewise.
16331 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
16332 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
16333 * include/grub/cache.h (_mips): Include mips/cache.h.
16334 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
16335 LVM and RAID prototypes.
16336 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
16337 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
16338 function.
16339
16340 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
16341
16342 * util/grub-install.in: Don't try to verify core.img until after
16343 running grub-mkimage to create it.
16344
16345 2010-09-10 Robert Millan <rmh@gnu.org>
16346
16347 * util/grub.d/10_hurd.in: Add misc readability checks.
16348 * util/grub.d/10_kfreebsd.in: Likewise.
16349 * util/grub.d/10_linux.in: Likewise.
16350
16351 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
16352
16353 * util/grub-install.in: ${imgext} won't be defined here until the
16354 install branch is merged. For the meantime, only verify core.img on
16355 i386-pc and sparc64-ieee1275 platforms.
16356
16357 2010-09-10 Robert Millan <rmh@gnu.org>
16358
16359 Solaris support in grub_find_zpool_from_dir(). Thanks
16360 Seth Goldberg for referring to getextmntent() facility.
16361
16362 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
16363 `sys/mkdev.h'.
16364 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
16365 `<sys/mnttab.h>'.
16366 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
16367 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
16368 method for finding zpool name.
16369
16370 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
16371
16372 grub-fstest needs the host and hostfs modules while other utilities
16373 actively require those modules to be absent, so grub-fstest needs
16374 its own initialisation and finalisation code.
16375
16376 * Makefile.am (grub_fstest.pp): New target.
16377 (grub_fstest_init.lst): Likewise.
16378 (grub_fstest_init.c): Likewise.
16379 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
16380
16381 2010-09-10 Robert Millan <rmh@gnu.org>
16382
16383 * configure.ac: Check for `struct statfs.f_fstypename' and
16384 `struct statfs.f_mntfromname'.
16385
16386 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
16387 kFreeBSD-specific code.
16388
16389 2010-09-10 Robert Millan <rmh@gnu.org>
16390
16391 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
16392 on ZFS. Now non-main filesystems are supported as / too.
16393
16394 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
16395
16396 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
16397 and grub-core/disk/host.c to ...
16398 (grub-fstest): ... here. Having the host disk implementation
16399 present confuses grub-probe and other utility programs.
16400
16401 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
16402 when writing to a file, not when writing to stdout.
16403
16404 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
16405
16406 * tests/partmap_test.in: New test for partitions.
16407 * Makefile.util.def: Rules for new test.
16408
16409 2010-09-09 Robert Millan <rmh@gnu.org>
16410
16411 * util/grub-probe.c (probe): Fix a pair of unhandled error
16412 conditions.
16413
16414 2010-09-09 Robert Millan <rmh@gnu.org>
16415
16416 Basic Btrfs support (detection and UUID).
16417
16418 * grub-core/fs/btrfs.c: New file.
16419 * Makefile.util.def (library): Register btrfs.c.
16420 * grub-core/Makefile.core.def: Likewise.
16421
16422 2010-09-08 Robert Millan <rmh@gnu.org>
16423
16424 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
16425 with (optional) parameters to specify device and relative path.
16426 * util/grub-install.in: Use is_path_readable_by_grub() to
16427 verify readability of a few critical files.
16428 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
16429 verify readability of grub.cfg.new.
16430
16431 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
16432
16433 Split minix.mod into minix.mod and minix2.mod.
16434
16435 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
16436 * grub-core/Makefile.core.def (minix2): New module.
16437 * grub-core/fs/minix.c: Use definitions instead of runtime version
16438 checking.
16439 * grub-core/fs/minix2.c: New file.
16440
16441 2010-09-08 Yves Blusseau <blusseau@zetam.org>
16442
16443 Add new --boot-directory option to replace --root-directory
16444
16445 * util/grub-install.in: Add new --boot-directory option
16446 * util/grub-reboot.in: Likewise.
16447 * util/grub-set-default.in: Likewise.
16448
16449 2010-09-08 Yves Blusseau <blusseau@zetam.org>
16450
16451 * util/grub-mkconfig.in: Use new variable.
16452
16453 2010-09-08 Yves Blusseau <blusseau@zetam.org>
16454
16455 * configure.ac: Define some useful variables.
16456
16457 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
16458
16459 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16460 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
16461 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
16462 Use terminfo and don't use cursor-on/cursor-off unless it's known
16463 to work.
16464 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
16465 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
16466
16467 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
16468
16469 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
16470 starts with "(,", fill the drive containing the loaded image in
16471 between those two characters, but expect that a full partition
16472 specification including partition map names will follow.
16473
16474 2010-09-08 Robert Millan <rmh@gnu.org>
16475
16476 * configure.ac: Remove `--enable-grub-fstest' option.
16477 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
16478
16479 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
16480 `grub-fstest' instead of `grub-probe' for readability verification.
16481 * util/grub-probe.c (probe): Remove readability verification kludge.
16482
16483 2010-09-08 Robert Millan <rmh@gnu.org>
16484
16485 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
16486 initializing `GRUB_FS'.
16487
16488 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
16489
16490 Not command (!) support to GRUB script.
16491
16492 * tests/grub_script_not.in: New test.
16493 * Makefile.util.def: Rules for new test.
16494
16495 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
16496 ! command as a special case.
16497 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
16498
16499 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16500
16501 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
16502 grub_free.
16503
16504 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16505
16506 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
16507
16508 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16509
16510 * docs/grub.texi (Shell-like scripting): Documentation for break,
16511 continue, shift and return commands.
16512
16513 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
16514
16515 Rename CD-ROM to cd on BIOS.
16516
16517 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
16518 "cd".
16519 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
16520
16521 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16522
16523 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
16524 * util/grub-probe.c (main): Likewise.
16525 * util/i386/pc/grub-setup.c (main): Likewise.
16526 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
16527 Reported and debugged by: alexxy
16528
16529 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16530
16531 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
16532 diagnostic info.
16533
16534 2010-09-05 Jo Shields <directhex@apebox.org>
16535
16536 * util/grub.d/30_os-prober.in: Add missing classes.
16537
16538 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16539
16540 * docs/grub.texi (Theme file format): Document new position format.
16541
16542 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16543
16544 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
16545 a table. Use @code instead of @verbatim.
16546
16547 2010-09-05 Colin D Bennett <colin@gibibit.com>
16548
16549 Gfxmenu documentation.
16550
16551 * docs/grub.texi (Theme file format): New chapter.
16552
16553 2010-09-05 Szymon Janc <szymon@janc.net.pl>
16554
16555 * grub-core/Makefile.core.def (xzio): New module.
16556 * grub-core/io/xzio.c: New file.
16557 * grub-core/lib/xzembed/xz.h: New file (from xembed).
16558 * grub-core/lib/xzembed/xz_config.h: Likewise.
16559 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
16560 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
16561 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
16562 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
16563 * grub-core/lib/xzembed/xz_private.h: Likewise.
16564 * grub-core/lib/xzembed/xz_stream.h: Likewise.
16565 * include/grub/file.h (grub_file_filter_id): New compression filter
16566 GRUB_FILE_FILTER_XZIO.
16567
16568 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16569
16570 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
16571 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
16572 size.
16573
16574 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16575
16576 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
16577 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
16578
16579 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16580
16581 Uncompressed checksum support.
16582
16583 * grub-core/commands/hashsum.c (options): Add option --uncompress.
16584 (check_list): New parameter uncompress.
16585 (grub_cmd_hashsum): Handle --uncompress.
16586
16587 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16588
16589 Reintroduce testload.
16590
16591 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
16592 from here ...
16593 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
16594 (GRUB_MOD_INIT): New function.
16595 (GRUB_MOD_FINI): Likewise.
16596 * grub-core/Makefile.core.def (testload): New module.
16597
16598 2010-09-05 Szymon Janc <szymon@janc.net.pl>
16599
16600 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
16601 (uint8_t): New type.
16602 (uint16_t): Likewise.
16603 (uint32_t): Likewise.
16604 (uint64_t): Likewise.
16605
16606 2010-09-05 Szymon Janc <szymon@janc.net.pl>
16607
16608 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
16609
16610 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16611
16612 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
16613 Made static.
16614 (grub_gzfile_open): Removed. All users updated.
16615 (GRUB_MOD_INIT): New function.
16616 (GRUB_MOD_FINI): Likewise.
16617 * grub-core/kern/file.c (grub_file_filters_all): New variable.
16618 (grub_file_filters_enabled): Likewise.
16619 (grub_file_open): Handle filters.
16620 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
16621 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
16622 * include/grub/file.h (grub_file_filter_id_t): New type.
16623 (grub_file_filter_t): Likewise.
16624 (grub_file_filters_all): New extern variable.
16625 (grub_file_filters_enabled): Likewise.
16626 (grub_file_filter_register): New inline function.
16627 (grub_file_filter_unregister): Likewise.
16628 (grub_file_filter_disable): Likewise.
16629 (grub_file_filter_disable_compression): Likewise.
16630 * include/grub/gzio.h: Removed.
16631
16632 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16633
16634 Filename expansion support for wildcards in GRUB script.
16635
16636 * tests/grub_script_expansion.in: New test.
16637 * Makefile.util.def: Rule for new test.
16638
16639 * grub-core/commands/wildcard.c: New file, implements filename
16640 expansion support for GRUB script.
16641 * grub-core/Makefile.core.def: Rule update for regexp.mod.
16642 * grub-core/script/argv.c: Cosmetic changes.
16643 * grub-core/script/execute.c (grub_script_arglist_to_argv):
16644 Refactored to perform wildcard expansion on arguments.
16645 * include/grub/script_sh.h (grub_script_wildcard_translator): New
16646 struct.
16647
16648 * tests/util/grub-shell.in: Fix quoting for read input.
16649
16650 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16651
16652 Support for updating environment variables with matched substrings
16653 of regexp.
16654
16655 * tests/grub_cmd_regexp.in: New test.
16656 * Makefile.util.def: Rule for new test.
16657
16658 * grub-core/commands/regexp.c: New option -s to update environment
16659 variables with regexp matches.
16660
16661 2010-09-04 Szymon Janc <szymon@janc.net.pl>
16662
16663 * include/grub/file.h (grub_file): New member not_easly_seekable.
16664 (grub_file_seekable): New inline function.
16665 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
16666 easily seekable.
16667 (grub_gzio_open): Set not_easly_seekable.
16668 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
16669 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
16670
16671 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16672
16673 Support for options to appear multiple times on cmdline.
16674
16675 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
16676 * grub-core/commands/extcmd.c: Support for repeatable option.
16677 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
16678 repeatable option support.
16679
16680 Refactor menuentry into a regular command.
16681
16682 * grub-core/commands/menuentry.c: New file, menuentry command
16683 implementation.
16684 * grub-core/Makefile.core.def: Rule update for normal.mod.
16685 * grub-core/normal/main.c: Moved menuentry creation to
16686 grub-core/commands/menuentry.c.
16687 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
16688 (grub_menu_execute_entry_real): Removed.
16689 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
16690 function.
16691 (grub_script_execute_menuentry): Removed.
16692 * grub-core/script/parser.y (menuentry): Removed.
16693 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
16694 * grub-core/script/yylex.l (menuentry): Removed.
16695 * include/grub/menu.h (grub_menu_init): New prototype.
16696 (grub_menu_fini): New prototype.
16697 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
16698 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
16699 (grub_script_execute_sourcecode): New prototype.
16700
16701 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16702
16703 "return" command for GRUB script functions.
16704
16705 * tests/grub_script_return.in: New test.
16706 * Makefile.util.def: Rules for new test.
16707
16708 * grub-core/script/execute.c (grub_script_return): New function.
16709 * grub-core/script/main.c: Register/unregister return commaond.
16710 * include/grub/script_sh.h (grub_script_return): New prototype.
16711
16712 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16713
16714 "setparams" command to update positional parameters.
16715
16716 * tests/grub_script_setparams.in: New test.
16717 * Makefile.util.def: Rules for new test.
16718
16719 * grub-core/script/argv.c (grub_script_argv_make): New function.
16720 * grub-core/script/execute.c (replace_scope): New function.
16721 (grub_script_setparams): New function.
16722 * grub-core/script/lexer.c: Remove unused variables.
16723 * grub-core/script/main.c: Register/unregister setparams command.
16724 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
16725 (grub_script_setparams): New prototype.
16726
16727 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16728
16729 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
16730 grub_free order.
16731
16732 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16733
16734 Support for passing block of commands as an argument to extcmds.
16735
16736 * Makefile.util.def: Rules for new test.
16737 * tests/grub_script_blockarg.in: New test.
16738 * grub-core/tests/test_blockarg.c: New file, block argument
16739 command used in the test.
16740
16741 * include/grub/extcmd.h (grub_extcmd_context): New struct.
16742 (grub_register_extcmd_prio): New function prototype.
16743 (grub_extcmd_dispatcher): New function prototype.
16744 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
16745 type.
16746 * include/grub/script_sh.h (struct grub_script): New members
16747 `children', `next_siblings' and `refcnt' for block arguments and
16748 reference counting.
16749 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
16750 (grub_script_arg): New member `script' for block argument.
16751 (grub_script_argv): New member `script' for block argument.
16752 (grub_parser_param): New member `scripts' for block argument.
16753 (grub_script_mem_free): New extern function prototype.
16754 (grub_script_ref): New function prototype.
16755 (grub_script_unref): New function prototype.
16756
16757 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
16758 extcmd form to support block arguments.
16759 * grub-core/script/argv.c: Block arguments support.
16760 * grub-core/script/execute.c: Likewise.
16761 * grub-core/script/lexer.c: Likewise.
16762 * grub-core/script/main.c: Likewise.
16763 * grub-core/script/script.c: Likewise.
16764 * grub-core/script/parser.y: Likewise. New `block' and `block0'
16765 non-terminals.
16766
16767 * grub-core/commands/acpi.c: Update extcmd implementations with
16768 grub_extcmd_context_t.
16769 * grub-core/commands/cat.c: Likewise.
16770 * grub-core/commands/echo.c: Likewise.
16771 * grub-core/commands/extcmd.c: Likewise.
16772 * grub-core/commands/hashsum.c: Likewise.
16773 * grub-core/commands/hdparm.c: Likewise.
16774 * grub-core/commands/help.c: Likewise.
16775 * grub-core/commands/hexdump.c: Likewise.
16776 * grub-core/commands/i386/cpuid.c: Likewise.
16777 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16778 * grub-core/commands/i386/pc/halt.c: Likewise.
16779 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16780 * grub-core/commands/iorw.c: Likewise.
16781 * grub-core/commands/keystatus.c: Likewise.
16782 * grub-core/commands/loadenv.c: Likewise.
16783 * grub-core/commands/ls.c: Likewise.
16784 * grub-core/commands/lspci.c: Likewise.
16785 * grub-core/commands/memrw.c: Likewise.
16786 * grub-core/commands/probe.c: Likewise.
16787 * grub-core/commands/search_wrap.c: Likewise.
16788 * grub-core/commands/setpci.c: Likewise.
16789 * grub-core/commands/sleep.c: Likewise.
16790 * grub-core/disk/loopback.c: Likewise.
16791 * grub-core/hello/hello.c: Likewise.
16792 * grub-core/loader/i386/bsd.c: Likewise.
16793 * grub-core/loader/xnu.c: Likewise.
16794 * grub-core/term/gfxterm.c: Likewise.
16795 * grub-core/term/serial.c: Likewise.
16796 * grub-core/tests/lib/functional_test.c: Likewise.
16797
16798 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16799
16800 Multi-line quoted strings support.
16801
16802 * grub-core/script/lexer.c (append_newline): Removed.
16803 (grub_script_lexer_yywrap): Refactored.
16804 (grub_script_lexer_init): Refactored.
16805 * grub-core/script/yylex.l (yywrap): New function.
16806 (grub_lexer_resplit): New function.
16807 (grub_lexer_unput): New function.
16808 * include/grub/script_sh.h (grub_lexer_param): New members, unput
16809 and resplit.
16810 * tests/grub_script_echo1.in: Added few more testcases.
16811
16812 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
16813
16814 * grub-core/kern/misc.c: Don't add abort alias in utils.
16815 Reported by: echoline.
16816
16817 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
16818
16819 Add missing files into "make dist" tarball for other platforms.
16820
16821 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
16822 * conf/Makefile.common (dist_noinst_DATA): New variable.
16823 * conf/Makefile.extra-dist: Added missing make dist files.
16824 * grub-core/Makefile.core.def: Likewise.
16825
16826 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16827
16828 Compress grub_prefix.
16829
16830 * grub-core/boot/i386/pc/lnxboot.S: Use
16831 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
16832 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
16833 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
16834 GRUB_MACHINE_PREFIX_END. All users updated.
16835 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
16836 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
16837 + 0x40.
16838 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16839 * util/grub-mkimage.c (image_target_desc): Change data_end to
16840 prefix_end. All users updated.
16841
16842 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16843
16844 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
16845 value.
16846 (grub_openbsd_boot): Likewise.
16847 (grub_netbsd_boot): Likewise.
16848 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
16849 (grub_xnu_boot): Likewise.
16850
16851 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16852
16853 * configure.ac: Clean LIBS variable after tests.
16854
16855 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16856
16857 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
16858
16859 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16860
16861 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
16862 echo if libdevmapper will be used.
16863
16864 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
16865
16866 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
16867 constant for the same file.
16868
16869 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16870
16871 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
16872
16873 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16874
16875 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
16876 grub-core/*.pp.
16877
16878 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16879
16880 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
16881 required by the boot protocol.
16882
16883 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
16884 ebp and edi members.
16885 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
16886 state.ebp and state.edi.
16887 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
16888 %ebp and %edi according to grub_relocator32_ebp and
16889 grub_relocator32_edi respectively.
16890 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
16891 and state.edi.
16892
16893 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16894
16895 Add i386-pc-pxe image target.
16896
16897 * util/grub-mkimage.c (image_target_desc): New enum value
16898 IMAGE_I386_PC_PXE.
16899 (image_targets): New target i386-pc-pxe.
16900 (generate_image): Handle i386-pc-pxe image.
16901
16902 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16903
16904 Fix grub_pxe_scan.
16905
16906 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
16907 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
16908 All users updated.
16909 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
16910 (grub_pxe_pxenv): Correct type.
16911
16912 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16913
16914 * NEWS: Document most of the important changes since 1.98.
16915
16916 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16917
16918 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
16919 generated manual page) a little.
16920
16921 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16922
16923 * docs/grub.texi: Add myself as an author.
16924
16925 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
16926
16927 * Makefile.util.def (libgrub.a): Add missing sunpc.
16928 Reported by: Seth Goldberg.
16929
16930 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16931
16932 Interrupt wrapping and code simplifications.
16933
16934 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
16935 x86_noieee1275 which are functionaly equivalent in this case.
16936 (grub-install): Make source on each platform explicit. Enable on
16937 all noemu.
16938 * gentpl.py (x86_efi_pc): Removed group.
16939 (x86_noefi): Likewise.
16940 (i386_noefi): Likewise.
16941 (x86_noieee1275): Likewise.
16942 (i386_noieee1275): Likewise.
16943 (i386_noefi_noieee1275): Likewise.
16944 (i386_pc_qemu_coreboot): Likewise.
16945 (i386_coreboot_multiboot): Likewise.
16946 (i386_pc_coreboot_multiboot_qemu): Likewise.
16947 (x86_noefi_mips): Likewise.
16948 (noieee1275): Likewise.
16949 (ieee1275_mips): Likewise.
16950 (noemu_noieee1275): Likewise.
16951 (cmos): New group.
16952 (usb): Likewise.
16953 (videoinkernel): Likewise.
16954 (videomodules): Likewise.
16955 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
16956 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
16957 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
16958 include/grub/loader.h, include/grub/msdos_partition.h,
16959 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
16960 include/grub/machine/console.h, include/grub/machine/vga.h,
16961 include/grub/machine/vbe.h, include/grub/machine/init.h,
16962 include/grub/machine/kernel.h, include/grub/cpu/time.h,
16963 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
16964 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
16965 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
16966 * grub-core/Makefile.core.def (kernel): Explicit the source for
16967 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
16968 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
16969 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
16970 Use videoinkernel tag.
16971 (usb): Enable on all usb.
16972 (usbserial_common): Likewise.
16973 (usbserial_pl2303): Likewise.
16974 (usbserial_ftdi): Likewise.
16975 (uhci): Enable on all x86.
16976 (ohci): Enable on all pci.
16977 (cmostest): Enable on all CMOS.
16978 (acpi): Include commands/acpi.c on all platforms.
16979 (halt): Add relevant lib/*/halt.c.
16980 (hdparm): Enable on all pci.
16981 (lspci): Likewise.
16982 (usbtest): Enable on all usb.
16983 (ata): Enable on all pci.
16984 (ata_pthru): Likewise.
16985 (usbms): Enable on all usb.
16986 (usb_keyboard): Likewise.
16987 (font): Use tag videomodules.
16988 (bufio): Likewise.
16989 (datetime): Use tag cmos. Enable on all noemu.
16990 (mmap): Use tags common and x86.
16991 (gfxterm): Use tag videomodules.
16992 (bitmap): Likewise.
16993 (bitmap_scale): Likewise.
16994 (video_fb): Likewise.
16995 (video): Likewise.
16996 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
16997 adjust padding accordingly. All users updated.
16998 (grub_ohci_transaction): Fix bad format specification.
16999 (GRUB_MOD_INIT): Add asserts for struct size.
17000 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
17001 (grub_alloc_td): Likewise.
17002 (grub_free_queue): Likewise.
17003 (grub_uhci_transfer): Likewise.
17004 (grub_uhci_transaction): Fix bad format specification.
17005 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
17006 (grub_usb_bulk_readwrite): Likewise.
17007 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
17008 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
17009 Made static.
17010 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
17011 Made static.
17012 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
17013 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
17014 Transformed into C.
17015 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
17016 Moved from here ...
17017 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
17018 ... here. Transformed into C. Made static.
17019 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
17020 Moved from here ...
17021 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
17022 ... here. Transformed into C. Made static.
17023 * grub-core/kern/i386/pc/startup.S
17024 (grub_biosdisk_check_int13_extensions): Moved from here ...
17025 * grub-core/disk/i386/pc/biosdisk.c
17026 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
17027 Made static.
17028 * grub-core/kern/i386/pc/startup.S
17029 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
17030 * grub-core/disk/i386/pc/biosdisk.c
17031 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
17032 Transformed into C. Made static.
17033 * grub-core/kern/i386/pc/startup.S
17034 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
17035 * grub-core/disk/i386/pc/biosdisk.c
17036 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
17037 Transformed into C. Made static.
17038 * grub-core/kern/i386/pc/startup.S
17039 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
17040 * grub-core/disk/i386/pc/biosdisk.c
17041 (grub_biosdisk_get_diskinfo_standard): ... here.
17042 Transformed into C. Made static.
17043 * grub-core/kern/i386/pc/startup.S
17044 (grub_biosdisk_get_num_floppies): Moved from here ...
17045 * grub-core/disk/i386/pc/biosdisk.c
17046 (grub_biosdisk_get_num_floppies): ... here.
17047 Transformed into C. Made static.
17048 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
17049 New function.
17050 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
17051 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
17052 Transformed into C. Made static.
17053 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
17054 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
17055 Transformed into C. Made static.
17056 * grub-core/kern/i386/ieee1275/init.c: Removed.
17057 * grub-core/kern/i386/misc.S: Likewise.
17058 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
17059 Splitted from here ...
17060 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
17061 Transformed into C. Made static. All users updated.
17062 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
17063 Transformed into C. Made static. All users updated.
17064 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
17065 Moved from here...
17066 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
17067 Transformed into C. Made static. All users updated.
17068 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
17069 Moved from here...
17070 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
17071 Transformed into C. Made static. All users updated.
17072 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
17073 Removed (replaced by C version).
17074 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
17075 Moved from here...
17076 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
17077 Transformed into C. Made static.
17078 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
17079 Moved from here...
17080 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
17081 ... here. Transformed into C.
17082 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
17083 Moved from here...
17084 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
17085 ... here. Transformed into C.
17086 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
17087 Moved from here...
17088 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
17089 ... here. Transformed into C. Made static.
17090 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
17091 Moved from here...
17092 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
17093 ... here. Transformed into C.
17094 * grub-core/kern/i386/pc/startup.S
17095 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
17096 * grub-core/video/i386/pc/vbe.c
17097 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
17098 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
17099 Moved from here...
17100 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
17101 ... here. Transformed into C.
17102 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
17103 Moved from here...
17104 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
17105 ... here. Transformed into C.
17106 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
17107 Moved from here...
17108 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
17109 ... here. Transformed into C.
17110 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
17111 Moved from here...
17112 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
17113 ... here. Transformed into C.
17114 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
17115 Moved from here...
17116 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
17117 ... here. Transformed into C. Made static.
17118 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
17119 Moved from here...
17120 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
17121 ... here. Transformed into C. Made static.
17122 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
17123 Moved from here...
17124 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
17125 ... here. Transformed into C. Made static.
17126 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
17127 pxe_rm_entry as third argument.
17128 (grub_bios_interrupt): New function.
17129 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
17130 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
17131 of calling grub_stop.
17132 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
17133 * grub-core/lib/efi/halt.c (grub_halt): ...here.
17134 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
17135 * grub-core/lib/emu/halt.c (grub_halt): ... here.
17136 * grub-core/lib/i386/halt.c: Moved from here ...
17137 * grub-core/lib/i386/halt.c: ... here.
17138 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
17139 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
17140 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
17141 grub_stop_floppy.
17142 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
17143 * include/grub/i386/coreboot/init.h: Removed.
17144 * include/grub/i386/multiboot/init.h: Likewise.
17145 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
17146 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
17147 * include/grub/i386/pc/int.h: New file.
17148 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
17149 (grub_pxe_scan): Removed.
17150 (grub_pxe_call): Update prototype.
17151 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
17152 prototypes.
17153 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
17154 * include/grub/i386/qemu/init.h: Removed.
17155 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
17156 noreturn.
17157 (grub_halt): Likewise.
17158 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
17159 (grub_reboot): Likewise.
17160 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
17161 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
17162 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
17163
17164 2010-08-30 Robert Millan <rmh@gnu.org>
17165
17166 * NEWS: Document addition of ZFS support in `grub-install' and
17167 `grub-mkconfig'.
17168
17169 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
17170
17171 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
17172 dprintf output.
17173
17174 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17175
17176 Remove leftover embedding of font objects.
17177
17178 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
17179 * util/grub-install.in (font): Removed.
17180 * util/grub-mkimage.c (generate_image): Remove font support. All users
17181 updated.
17182
17183 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17184
17185 Remove leftover embedding of font objects.
17186
17187 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
17188 * util/grub-install.in (font): Removed.
17189 * util/grub-mkimage.c (generate_image): Remove font support. All users
17190 updated.
17191
17192 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17193
17194 * docs/grub.texi (Network): Fix reference to pxe_blksize.
17195 Reported by: Ian Turner
17196
17197 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17198
17199 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
17200 timeout to avoid indefinite boot stalling.
17201
17202 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17203
17204 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
17205 (grub_env_write_color_highlight): Likewise.
17206
17207 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17208
17209 * grub-core/normal/term.c (print_more): Return to normal and not
17210 to standard state after printing "---MORE---".
17211
17212 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17213
17214 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
17215 Mask out the bit 0x80 since it has other meaning that specifiing color.
17216
17217 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17218
17219 New relocator. Allows for more kernel support and more straightforward
17220 loader writing.
17221
17222 * Makefile.am (BOOTTARGET): New variable.
17223 (QEMU32): Likewise.
17224 (linux.init.x86_64): New target.
17225 (linux.init.i386): Likewise.
17226 (multiboot.elf): Likewise.
17227 (kfreebsd.elf): Likewise.
17228 (kfreebsd.aout): Likewise.
17229 (pc-chainloader.elf): Likewise.
17230 (pc-chainloader.bin): Likewise.
17231 (ntldr.elf): Likewise.
17232 (ntldr.bin): Likewise.
17233 (multiboot2.elf): Likewise.
17234 (kfreebsd.init.x86_64): Likewise.
17235 (kfreebsd.init.i386): Likewise.
17236 (knetbsd.init.i386): Likewise.
17237 (kopenbsd.init.i386): Likewise.
17238 (knetbsd.init.x86_64): Likewise.
17239 (kopenbsd.init.x86_64): Likewise.
17240 (linux-initramfs.i386): Likewise.
17241 (linux-initramfs.x86_64): Likewise.
17242 (kfreebsd-mfsroot.i386.img): Likewise.
17243 (knetbsd.image.i386): Likewise.
17244 (kopenbsd.image.i386): Likewise.
17245 (kopenbsd.image.x86_64): Likewise.
17246 (knetbsd.miniroot-image.i386.img): Likewise.
17247 (kfreebsd-mfsroot.x86_64.img): Likewise.
17248 (knetbsd.image.x86_64): Likewise.
17249 (knetbsd.miniroot-image.x86_64.img): Likewise.
17250 (kfreebsd-mfsroot.i386.gz): Likewise.
17251 (bootcheck-kfreebsd-i386): Likewise.
17252 (kfreebsd-mfsroot.x86_64.gz): Likewise.
17253 (bootcheck-kfreebsd-x86_64): Likewise.
17254 (knetbsd.miniroot-image.i386.gz): Likewise.
17255 (bootcheck-knetbsd-i386): Likewise.
17256 (bootcheck-kopenbsd-i386): Likewise.
17257 (bootcheck-kopenbsd-x86_64): Likewise.
17258 (knetbsd.miniroot-image.x86_64.gz): Likewise.
17259 (bootcheck-knetbsd-x86_64): Likewise.
17260 (bootcheck-linux-i386): Likewise.
17261 (bootcheck-linux-x86_64): Likewise.
17262 (bootcheck-linux16-i386): Likewise.
17263 (bootcheck-linux16-x86_64): Likewise.
17264 (bootcheck-multiboot): Likewise.
17265 (bootcheck-multiboot2): Likewise.
17266 (bootcheck-kfreebsd-aout): Likewise.
17267 (bootcheck-pc-chainloader): Likewise.
17268 (bootcheck-ntldr): Likewise.
17269 (CLEANFILES): Add new targets.
17270 (BOOTCHECKS): New variable.
17271 (.PHONY): Add bootchecks.
17272 (SUCCESSFUL_BOOT_STRING): New variable.
17273 (BOOTCHECK_TIMEOUT): Likewise.
17274 (bootcheck): New target
17275 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
17276 * configure.ac: Correct efiemu excuse.
17277 * docs/grub.texi (Supported kernels): New chapter.
17278 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
17279 include/grub/mm_private.h. Simplify inclusion of
17280 include/grub/boot.h, include/grub/loader.h
17281 and include/grub/msdos_partition.h
17282 (KERNEL_HEADER_FILES) [i386_coreboot]:
17283 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
17284 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
17285 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
17286 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
17287 include/grub/machine/loader.h.
17288 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
17289 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
17290 extra_dist.
17291 (pci.mod): Enable on i386-multiboot.
17292 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
17293 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
17294 i386-qemu.
17295 (relocator.mod): Rewritten.
17296 (aout.mod): Enable on all x86.
17297 (bsd.mod): Likewise.
17298 (ntldr.mod): New module.
17299 (linux.mod): Use loader/i386/linux.c on all x86.
17300 (xnu.mod): Enable on all x86.
17301 (vga_text.mod): disable on EFI and QEMU.
17302 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
17303 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
17304 * grub-core/efiemu/loadcore.c: Likewise.
17305 * grub-core/efiemu/main.c: Likewise.
17306 (grub_efiemu_exit_boot_services): Removed.
17307 (grub_efiemu_finish_boot_services): Likewise.
17308 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
17309 function.
17310 * grub-core/efiemu/i386/nocfgtables.c: New file.
17311 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
17312 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
17313 (grub_efi_finish_boot_services): Moved from here ...
17314 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
17315 Fille finish memory map and related data.
17316 (finish_mmap_buf): New variable.
17317 (grub_efi_uintn_t finish_mmap_size): Likewise.
17318 (grub_efi_uintn_t finish_key): Likewise.
17319 (grub_efi_uintn_t finish_desc_size): Likewise.
17320 (grub_efi_uint32_t finish_desc_version): Likewise.
17321 (grub_efi_is_finished): Likewise.
17322 (grub_efi_get_memory_map): Use saved memory map if EFI is already
17323 finished.
17324 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
17325 (grub_elf64_phdr_iterate): Likewise.
17326 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
17327 (grub_os_area_size): Likewise.
17328 (grub_machine_init): Don't reserve os area.
17329 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
17330 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
17331 * grub-core/kern/i386/loader.S: Removed.
17332 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
17333 (grub_os_area_size): Likewise.
17334 (grub_machine_init): Don't reserve os area.
17335 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
17336 Don't call grub_dl_unload_all.
17337 Don't include loader.S.
17338 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
17339 Declare the memory after _end as available.
17340 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
17341 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
17342 (GRUB_MM_ALLOC_MAGIC): Moved from here...
17343 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
17344 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
17345 * include/grub/mm_private.h (grub_mm_header): ... here.
17346 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
17347 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
17348 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
17349 (grub_mm_region): ..here. Removed addr. Added pre_size.
17350 All users updated.
17351 * grub-core/kern/mm.c (base): Renamed to ...
17352 (grub_mm_base): ... this. Made global.
17353 (grub_real_malloc): Alloc from end of region.
17354 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
17355 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
17356 * grub-core/kern/powerpc/cache_flush.S: ... here.
17357 * grub-core/lib/efi/relocator.c: New file.
17358 * grub-core/lib/i386/relocator.c: Rewritten.
17359 * grub-core/lib/i386/relocator16.S: New file.
17360 * grub-core/lib/i386/relocator32.S: Likewise.
17361 * grub-core/lib/i386/relocator64.S: Likewise.
17362 * grub-core/lib/i386/relocator_asm.S: Rewritten.
17363 * grub-core/lib/i386/relocator_common.S: New file.
17364 * grub-core/lib/ieee1275/relocator.c: Likewise.
17365 * grub-core/lib/mips/relocator.c: Rewritten.
17366 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
17367 stylistic adjustments.
17368 * grub-core/lib/powerpc/relocator.c: New file.
17369 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
17370 * grub-core/lib/relocator.c: Rewritten.
17371 * grub-core/lib/x86_64/relocator_asm.S: New file.
17372 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
17373 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
17374 (bsd_tag): New struct.
17375 (tags): New variable.
17376 (tags_last): Likewise.
17377 (netbsd_module): New struct.
17378 (netbsd_mods): New variable.
17379 (netbsd_mods_last): Likewise.
17380 (openbsd_opts): New parameter "serial".
17381 (OPENBSD_SERIAL_ARG): New definition.
17382 (netbsd_opts): New parameter "serial".
17383 (NETBSD_SERIAL_ARG): New definition.
17384 (grub_freebsd_add_meta): Reorganised into ...
17385 (grub_bsd_add_meta): ...this. All users updated.
17386 (grub_freebsd_add_mmap): Reorganised into ...
17387 (generate_e820_mmap): ...this...
17388 (grub_bsd_add_mmap): ...and this. All users updated.
17389 (grub_freebsd_list_modules): Use tags.
17390 (grub_netbsd_add_meta_module): New function.
17391 (grub_netbsd_list_modules): Likewise.
17392 (grub_freebsd_boot): Use relocator and finish EFI.
17393 (grub_openbsd_boot): Likewise.
17394 (grub_netbsd_setup_video): New function.
17395 (grub_netbsd_add_modules): Likewise.
17396 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
17397 and finish EFI.
17398 (grub_bsd_unload): Unload tags.
17399 (grub_bsd_load_aout): Use relocator.
17400 (grub_bsd_elf32_size_hook): New function.
17401 (grub_bsd_elf32_hook): Use relocator.
17402 (grub_bsd_elf64_size_hook): New function.
17403 (grub_bsd_elf64_hook): Use relocator.
17404 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
17405 (grub_bsd_load): Zero-out openbsd_ramdisk.
17406 (grub_bsd_load): Use relocator.
17407 (grub_cmd_openbsd): Support serial.
17408 (grub_cmd_netbsd): Support modules.
17409 (grub_cmd_freebsd_module): Use relocator.
17410 (grub_netbsd_module_load): New function.
17411 (grub_cmd_netbsd_module): Likewise.
17412 (grub_cmd_openbsd_ramdisk): Likewise.
17413 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
17414 kopenbsd_ramdisk.
17415 (GRUB_MOD_FINI): Unregister new commands.
17416 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
17417 (grub_freebsd_load_elfmodule_obj): Use relocator.
17418 (grub_freebsd_load_elfmodule): Likewise.
17419 (grub_freebsd_load_elf_meta): Likewise.
17420 (grub_netbsd_load_elf_meta): New function.
17421 (grub_openbsd_find_ramdisk): Likewise.
17422 * grub-core/loader/i386/bsd_helper.S: Removed.
17423 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
17424 * grub-core/loader/i386/bsd_trampoline.S: Removed.
17425 * grub-core/loader/i386/efi/linux.c: Likewise.
17426 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
17427 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
17428 (DEFAULT_VIDEO_MODE): Likewise.
17429 (real_mode_target): New variable.
17430 (prot_mode_target): Likewise.
17431 (initrd_mem_target): Likewise.
17432 (relocator): Likewise.
17433 (efi_mmap_buf): Likewise.
17434 (efi_mmap_size): Likewise.
17435 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
17436 (free_pages): Use relocator.
17437 (allocate_pages): Account for efi_mmap and use relocator. Return error.
17438 (grub_linux_setup_video): Return error.
17439 (grub_linux_trampoline_start): Removed.
17440 (grub_linux_trampoline_end): Likewise.
17441 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
17442 andd video parameters depending on firmware.
17443 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
17444 [GRUB_MACHINE_EFI]: Pass EFI parameters.
17445 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
17446 (grub_cmd_initrd): Use relocator.
17447 * grub-core/loader/i386/linux_trampoline.S: Removed.
17448 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
17449 (elf_sec_entsize): Likewise.
17450 (elf_sec_shstrndx): Likewise.
17451 (elf_sections): Likewise.
17452 (grub_multiboot_load): Use relocator.
17453 (grub_multiboot_get_mbi_size): Account for sections.
17454 (grub_multiboot_make_mbi): Use relocator and support sections.
17455 (grub_multiboot_add_elfsyms): New function.
17456 (grub_multiboot_free_mbi): Free sections.
17457 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
17458 (grub_linux_real_target): Likewise.
17459 (grub_linux_real_chunk): Likewise.
17460 (grub_linux16_prot_size): Likewise.
17461 (grub_linux16_boot): Use relocator.
17462 (grub_linux_unload): Unload relocator.
17463 (grub_cmd_linux): Use relocator.
17464 (grub_cmd_initrd): Likewise.
17465 * grub-core/loader/i386/pc/ntldr.c: New file.
17466 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
17467 Don't try to guess CPU frequency.
17468 (grub_xnu_set_video): Stretch bitmap.
17469 (grub_xnu_boot): Use relocator.
17470 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
17471 (grub_linux_unload): Free relocator.
17472 (grub_linux_load32): Use relocator.
17473 (grub_linux_load64): Likewise.
17474 (grub_cmd_initrd): Likewise.
17475 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
17476 (grub_multiboot_unload): Unload relocator.
17477 (grub_cmd_multiboot): Use relocator.
17478 (grub_cmd_module): Likewise.
17479 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
17480 Use relocator and support sections.
17481 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
17482 (elf_sec_entsize): Likewise.
17483 (elf_sec_shstrndx): Likewise.
17484 (elf_sections): Likewise.
17485 (grub_multiboot_load): Use relocator.
17486 (grub_multiboot_get_mbi_size): Account for sections.
17487 (grub_multiboot_make_mbi): Use relocator and support sections.
17488 (grub_multiboot_add_elfsyms): New function.
17489 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
17490 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
17491 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
17492 Prototype changed. All users updated.
17493 (grub_xnu_align_heap): Simplified.
17494 (grub_xnu_writetree_toheap): Likewise.
17495 (grub_xnu_unload): Unload relocator.
17496 (grub_cmd_xnu_kernel): Use relocator.
17497 (grub_cmd_xnu_kernel64): Likewise.
17498 (grub_xnu_register_memory): Simplified.
17499 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
17500 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
17501 EFI is finished.
17502 (grub_console_checkkey): Likewise.
17503 (grub_console_getkey): Likewise.
17504 (grub_console_getwh): Likewise.
17505 (grub_console_getxy): Likewise.
17506 (grub_console_gotoxy): Likewise.
17507 (grub_console_cls): Likewise.
17508 (grub_console_setcolorstate): Likewise.
17509 (grub_console_setcursor): Likewise.
17510 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
17511 * grub-core/tests/boot/kbsd.init-i386.S: New file.
17512 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
17513 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
17514 * grub-core/tests/boot/kernel-8086.S: Likewise.
17515 * grub-core/tests/boot/kernel-i386.S: Likewise.
17516 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
17517 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
17518 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
17519 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
17520 * grub-core/tests/boot/knetbsd.cfg: Likewise.
17521 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
17522 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
17523 * grub-core/tests/boot/linux.cfg: Likewise.
17524 * grub-core/tests/boot/linux.init-i386.S: Likewise.
17525 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
17526 * grub-core/tests/boot/linux16.cfg: Likewise.
17527 * grub-core/tests/boot/multiboot.cfg: Likewise.
17528 * grub-core/tests/boot/multiboot2.cfg: Likewise.
17529 * grub-core/tests/boot/ntldr.cfg: Likewise.
17530 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
17531 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
17532 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
17533 New definition.
17534 * include/grub/dl.h (grub_dl_unload_all): Removed.
17535 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
17536 (grub_efi_finish_boot_services): Change prototype.
17537 (grub_efi_is_finished): New variable.
17538 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
17539 Changed prototype.
17540 (grub_efiemu_finish_boot_services): Removed.
17541 (grub_machine_efiemu_init_tables): New prototype.
17542 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
17543 (grub_elf64_phdr_iterate): Likewise.
17544 * include/grub/i386/bsd.h: Include relocator.h.
17545 (freebsd_tag_header): New struct.
17546 (grub_openbsd_bios_mmap): Removed.
17547 (grub_unix_real_boot): Removed.
17548 (grub_freebsd_load_elfmodule32): Changed prototype.
17549 (grub_freebsd_load_elfmodule_obj64): Likewise.
17550 (grub_freebsd_load_elf_meta32): Likewise.
17551 (grub_freebsd_load_elf_meta64): Likewise.
17552 (grub_freebsd_add_meta): Removed.
17553 (grub_netbsd_load_elf_meta32): New prototype.
17554 (grub_netbsd_load_elf_meta64): Likewise.
17555 (grub_bsd_add_meta): Likewise.
17556 (grub_openbsd_ramdisk_descriptor): New struct.
17557 (grub_openbsd_find_ramdisk32): New prototype.
17558 (grub_openbsd_find_ramdisk64): Likewise.
17559 * include/grub/i386/coreboot/loader.h: Removed.
17560 * include/grub/i386/efi/loader.h: Likewise.
17561 * include/grub/i386/ieee1275/loader.h: Likewise.
17562 * include/grub/i386/linux.h (linux_kernel_header): Change void *
17563 to grub_uint32_t.
17564 * include/grub/i386/loader.h: Removed.
17565 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
17566 value.
17567 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
17568 (grub_phys_addr_t): New type.
17569 (grub_vtop): New inline function.
17570 (grub_map_memory): Likewise.
17571 (grub_unmap_memory): Likewise.
17572 * include/grub/i386/multiboot/loader.h: Removed.
17573 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
17574 (NETBSD_BTINFO_CONSOLE): New definition.
17575 (NETBSD_BTINFO_SYMTAB): Likewise.
17576 (NETBSD_BTINFO_MODULES): Likewise.
17577 (NETBSD_BTINFO_FRAMEBUF): Likewise.
17578 (grub_netbsd_bootinfo): New struct.
17579 (grub_netbsd_btinfo_common): Use explicit bitsize.
17580 (grub_netbsd_btinfo_mmap_entry): Removed.
17581 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
17582 (grub_netbsd_btinfo_bootdisk): New struct.
17583 (grub_netbsd_btinfo_symtab): Likewise.
17584 (grub_netbsd_btinfo_serial): Likewise.
17585 (grub_netbsd_btinfo_modules): Likewise.
17586 (grub_netbsd_btinfo_framebuf): Likewise.
17587 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
17588 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
17589 Likewise.
17590 (grub_openbsd_bootargs): Use explicit bitsize.
17591 (grub_openbsd_bootarg_console): New struct.
17592 (GRUB_OPENBSD_COM_MAJOR): New definition.
17593 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
17594 * include/grub/i386/pc/efiemu.h: Removed.
17595 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
17596 * include/grub/i386/qemu/loader.h: Removed.
17597 * include/grub/i386/relocator.h: Rewritten.
17598 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
17599 * include/grub/mips/memory.h: New file.
17600 * include/grub/mips/multiboot.h: Rewritten.
17601 * include/grub/mips/relocator.h: Rewritten.
17602 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
17603 (grub_vtop): New function.
17604 (grub_map_memory): Likewise.
17605 (grub_unmap_memory): Likewise.
17606 * include/grub/misc.h (ALIGN_DOWN): New definition.
17607 * include/grub/mm.h (grub_mm_check_real): New proto.
17608 (GRUB_MM_CHECK): New definition.
17609 * include/grub/mm_private.h: New file.
17610 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
17611 (grub_multiboot_get_mbi_size): Removed.
17612 (grub_multiboot_make_mbi): Change prottype.
17613 (grub_multiboot_set_accepts_video): New proto.
17614 (grub_multiboot_add_elfsyms): Likewise.
17615 (grub_multiboot_payload_eip): New variable.
17616 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
17617 New prototype.
17618 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
17619 New definition.
17620 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
17621 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
17622 * include/grub/powerpc/ieee1275/loader.h: Removed.
17623 * include/grub/powerpc/memory.h: New file.
17624 * include/grub/powerpc/relocator.h: Likewise.
17625 * include/grub/relocator.h: Likewise.
17626 * include/grub/relocator_private.h: Likewise.
17627 * include/grub/sparc64/ieee1275/loader.h: Removed.
17628 * include/grub/x86_64/memory.h: New file.
17629 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
17630 (grub_xnu_heap_malloc): Likewise.
17631 (grub_xnu_heap_real_start): Removed.
17632 (grub_xnu_heap_start): Likewise.
17633 (grub_xnu_relocator): New variable.
17634 (grub_xnu_heap_target_start): Likewise.
17635 * tests/util/grub-shell.in: Support non-pc.
17636 * util/grub-mkimage.c (image_targets): Fix multiboot target.
17637
17638 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17639
17640 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
17641 on malloc error.
17642 (grub_bidi_logical_to_visual): Check that malloc succeded.
17643 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
17644 puts.
17645 (grub_xputs_normal): Likewise.
17646
17647 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17648
17649 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
17650 extra_dist.
17651
17652 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17653
17654 * grub-core/efiemu/runtime/efiemu.sh: Removed.
17655
17656 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17657
17658 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
17659
17660 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17661
17662 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
17663 dprintf.
17664
17665 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
17666
17667 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
17668
17669 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17670
17671 * grub-core/normal/term.c (print_more): Fix a memory leak.
17672 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
17673 (grub_xputs_normal): Likewise.
17674
17675 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17676
17677 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
17678 the begining of the string
17679
17680 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17681
17682 * grub-core/script/script.c (grub_script_parse): Free parsed on
17683 failure.
17684
17685 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17686
17687 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
17688 on failure.
17689
17690 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17691
17692 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
17693 return.
17694
17695 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17696
17697 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
17698 (scroll_up): Fix a memory leak.
17699
17700 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17701
17702 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
17703 errors.
17704
17705 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
17706
17707 Handle USB pendrives exposed as floppies.
17708
17709 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
17710 floppy.
17711 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
17712 Check for partitions on all devices.
17713
17714 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17715
17716 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
17717 (readkey): Likewise.
17718
17719 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17720
17721 Multiple variable names support to "export" command.
17722
17723 * normal/context.c (grub_cmd_export): "export" command supports
17724 multiple variable names.
17725
17726 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
17727
17728 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
17729 --target=drive output to Mach device name.
17730
17731 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17732
17733 New Automake based build system for GRUB.
17734
17735 * ABOUT-NLS: New file.
17736 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
17737 in Makefile.util.def file.
17738 * Makefile.util.def: New file. Autogen build definitions file for
17739 GRUB host utils.
17740 * conf/Makefile.common: New file. Common variables for GRUB host
17741 utils and target modules.
17742 * conf/Makefile.extra-dist: New file. Extra files for make dist.
17743 * docs/Makefile.am: New file. Automake file for docs.
17744 * gentpl.py: New file. Python script to generate Autogen
17745 template.
17746 * grub-core/Makefile.am: New file. GRUB target modules' rules
17747 that doesn't fit in Makefile.core.def file.
17748 * grub-core/Makefile.core.def: New file. Autogen build
17749 definitions file for GRUB target modules.
17750 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
17751 specific setjmp.S file.
17752 * po/Makefile.am: New file.
17753
17754 * .bzrignore: New ignores.
17755 * INSTALL: New requirements, without Ruby.
17756 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
17757 * autogen.sh: Updated to invoke autogen as necessary.
17758 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
17759 and defines for Automake conditionals.
17760 * geninit.sh: Refactoring.
17761
17762 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
17763 necessary.
17764 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
17765 New prototype.
17766
17767 * include/grub/test.h: Fix functional test modules' naming.
17768 * grub-core/tests/example_functional_test.c: Fix test module name.
17769
17770 * util/misc.c: Hosted versions' of grub functions for libgrub.a
17771 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
17772 * util/grub-editenv.c: Likewise.
17773 * util/grub-fstest.c: Likewise.
17774 * util/grub-mkdevicemap.c: Likewise.
17775 * util/grub-mkfont.c: Likewise.
17776 * util/grub-mkimage.c: Likewise.
17777 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17778 * util/grub-probe.c: Likewise.
17779 * util/grub-script-check.c: Likewise.
17780 * util/i386/pc/grub-setup.c: Likewise.
17781 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17782
17783 * tests/util/grub-shell.in: Fix override directory path.
17784 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
17785 * util/import_gcry.py: Create Makefile.gcry.def file instead.
17786
17787 * util/lvm.c: Update #includes.
17788 * util/raid.c: Likewise.
17789 * util/resolve.c: Likewise.
17790 * grub-core/bus/emu/pci.c: Likewise.
17791 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
17792 * grub-core/lib/posix_wrap/string.h: Likewise.
17793 * grub-core/kern/emu/main.c: Likewise.
17794
17795 * grub-core/gensymlist.sh: New file. Script for generating kernel
17796 symbols file.
17797 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
17798
17799 * grub-core/gentrigtables.c: Fix unused variable warnings.
17800
17801 * Makefile.in: Removed.
17802 * conf/any-emu.rmk: Removed.
17803 * conf/common.rmk: Removed.
17804 * conf/i386-coreboot.rmk: Removed.
17805 * conf/i386-efi.rmk: Removed.
17806 * conf/i386-ieee1275.rmk: Removed.
17807 * conf/i386-multiboot.rmk: Removed.
17808 * conf/i386-pc.rmk: Removed.
17809 * conf/i386-qemu.rmk: Removed.
17810 * conf/i386.rmk: Removed.
17811 * conf/mips-yeeloong.rmk: Removed.
17812 * conf/mips.rmk: Removed.
17813 * conf/powerpc-ieee1275.rmk: Removed.
17814 * conf/sparc64-ieee1275.rmk: Removed.
17815 * conf/tests.rmk: Removed.
17816 * conf/x86-efi.rmk: Removed.
17817 * conf/x86_64-efi.rmk: Removed.
17818 * gendistlist.sh: Removed.
17819 * geninitheader.sh: Removed.
17820 * genkernsyms.sh.in: Removed.
17821 * genmk.rb: Removed.
17822 * gensymlist.sh.in: Removed.
17823 * mkinstalldirs: Removed.
17824 * boot: Moved ...
17825 * grub-core/boot: ... to here.
17826 * bus: Moved ...
17827 * grub-core/bus: ... to here.
17828 * commands: Moved ...
17829 * grub-core/commands: ... to here.
17830 * disk: Moved ...
17831 * grub-core/disk: ... to here.
17832 * efiemu: Moved ...
17833 * grub-core/efiemu: ... to here.
17834 * font: Moved ...
17835 * grub-core/font: ... to here.
17836 * fs: Moved ...
17837 * grub-core/fs: ... to here.
17838 * gencmdlist.sh: Moved ...
17839 * grub-core/gencmdlist.sh: ... to here.
17840 * genemuinit.sh: Moved ...
17841 * grub-core/genemuinit.sh: ... to here.
17842 * genemuinitheader.sh: Moved ...
17843 * grub-core/genemuinitheader.sh: ... to here.
17844 * genfslist.sh: Moved ...
17845 * grub-core/genfslist.sh: ... to here.
17846 * genhandlerlist.sh: Moved ...
17847 * grub-core/genhandlerlist.sh: ... to here.
17848 * genmoddep.awk: Moved ...
17849 * grub-core/genmoddep.awk: ... to here.
17850 * genmodsrc.sh: Moved ...
17851 * grub-core/genmodsrc.sh: ... to here.
17852 * genpartmaplist.sh: Moved ...
17853 * grub-core/genpartmaplist.sh: ... to here.
17854 * genparttoollist.sh: Moved ...
17855 * grub-core/genparttoollist.sh: ... to here.
17856 * genterminallist.sh: Moved ...
17857 * grub-core/genterminallist.sh: ... to here.
17858 * gentrigtables.c: Moved ...
17859 * grub-core/gentrigtables.c: ... to here.
17860 * genvideolist.sh: Moved ...
17861 * grub-core/genvideolist.sh: ... to here.
17862 * gettext: Moved ...
17863 * grub-core/gettext: ... to here.
17864 * gfxmenu: Moved ...
17865 * grub-core/gfxmenu: ... to here.
17866 * gnulib: Moved ...
17867 * grub-core/gnulib: ... to here.
17868 * hello: Moved ...
17869 * grub-core/hello: ... to here.
17870 * hook: Moved ...
17871 * grub-core/hook: ... to here.
17872 * io: Moved ...
17873 * grub-core/io: ... to here.
17874 * kern: Moved ...
17875 * grub-core/kern: ... to here.
17876 * lib: Moved ...
17877 * grub-core/lib: ... to here.
17878 * loader: Moved ...
17879 * grub-core/loader: ... to here.
17880 * mmap: Moved ...
17881 * grub-core/mmap: ... to here.
17882 * normal: Moved ...
17883 * grub-core/normal: ... to here.
17884 * partmap: Moved ...
17885 * grub-core/partmap: ... to here.
17886 * parttool: Moved ...
17887 * grub-core/parttool: ... to here.
17888 * script: Moved ...
17889 * grub-core/script: ... to here.
17890 * term: Moved ...
17891 * grub-core/term: ... to here
17892 * tests/example_functional_test.c: Moved ...
17893 * grub-core/tests/example_functional_test.c: ... to here.
17894 * tests/lib/functional_test.c: Moved ...
17895 * grub-core/tests/lib/functional_test.c: ... to here.
17896 * tests/lib/test.c: Moved ...
17897 * grub-core/tests/lib/test.c: ... to here.
17898 * video: Moved ...
17899 * grub-core/video: ... to here.
17900
17901 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17902
17903 Replace --enable-grub-emu-modules with grub-emu-lite.
17904
17905 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
17906 cache.S.
17907
17908 * include/grub/emu/misc.h (grub_emu_init): New prototype.
17909 * kern/emu/full.c: New file. For grub-emu specific initialization.
17910 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
17911 * kern/emu/main.c: Call initialization function grub_emu_init.
17912
17913 * Makefile.in: Include grub-emu-lite in install.
17914 * commands/parttool.c: Use grub_no_autoload to differentiate
17915 between grub-emu and grub-emu-lite.
17916 * include/grub/misc.h: New variable grub_no_autoload.
17917
17918 * conf/any-emu.rmk: New rules for grub-emu-lite.
17919 * configure.ac: Remove --enable-grub-emu-modules.
17920 * genmk.rb: Cleanup unnecessary rules.
17921 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
17922
17923 * normal/main.c: Don't load list files on grub-emu-lite.
17924 * util/misc.c (grub_arch_sync_caches): Removed.
17925
17926 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
17927
17928 * kern/mips/startup.S (grub_prefix): Update comment to refer to
17929 grub-mkimage rather than grub-mkelfimage.
17930 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17931
17932 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
17933
17934 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
17935 a key after CapsLock or NumLock. It's just a qemu bug.
17936
17937 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17938
17939 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
17940 needed by libusb wrapper.
17941
17942 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
17943
17944 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
17945
17946 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17947
17948 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
17949 --nounzip is passed.
17950
17951 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
17952
17953 USB hotunplugging and USB serial support.
17954
17955 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
17956 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
17957 (grub_uhci_transfer): Respect timeout and set *actual.
17958 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
17959 non-standard length.
17960 (grub_usb_device_attach): Autoload modules.
17961 (GRUB_MOD_INIT): Set grub_term_poll_usb.
17962 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
17963 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
17964 users updated.
17965 (grub_usb_add_hub): Fill nports and children.
17966 (attach_root_port): Receive hub instead of controller.
17967 All users updated. Fill hub->devices.
17968 (grub_usb_root_hub): Allocate hub->devices.
17969 (detach_device): New function.
17970 (poll_nonroot_hub): Fill children and detach devices.
17971 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
17972 actual arguments. All users updated.
17973 (grub_usb_bulk_read_extended): New function.
17974 * bus/usb/serial/common.c: New file.
17975 * bus/usb/serial/ftdi.c: Likewise.
17976 * bus/usb/serial/pl2303.c: Likewise.
17977 * commands/terminal.c (handle_command): Support wildcard.
17978 * commands/usbtest.c: Output "Unknown" instead of empty string.
17979 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
17980 (usbserial_common_mod_SOURCES): New variable.
17981 (usbserial_common_mod_CFLAGS): Likewise.
17982 (usbserial_common_mod_LDFLAGS): Likewise.
17983 (pkglib_MODULES): Add usbserial_pl2303.mod.
17984 (usbserial_pl2303_mod_SOURCES): New variable.
17985 (usbserial_pl2303_mod_CFLAGS): Likewise.
17986 (usbserial_pl2303_mod_LDFLAGS): Likewise.
17987 (pkglib_MODULES): Add usbserial_ftdi.mod.
17988 (usbserial_ftdi_mod_SOURCES): New variable.
17989 (usbserial_ftdi_mod_CFLAGS): Likewise.
17990 (usbserial_ftdi_mod_LDFLAGS): Likewise.
17991 (pkglib_MODULES): Add serial.mod.
17992 (serial_mod_SOURCES): New variable.
17993 (serial_mod_CFLAGS): Likewise.
17994 (serial_mod_LDFLAGS): Likewise.
17995 * conf/i386-pc.rmk: Likewise.
17996 * conf/mips-yeeloong.rmk: Likewise.
17997 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
17998 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17999 * disk/usbms.c (first_available_slot): New variable.
18000 (grub_usbms_attach): Don't reuse free slots due to potential cache
18001 problems.
18002 * include/grub/serial.h: Moved to ..
18003 * include/grub/ns8250.h: ...this.
18004 * include/grub/serial.h: New file.
18005 * include/grub/term.h (grub_term_poll_usb): New variable.
18006 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
18007 readkey. All users updated.
18008 (grub_terminfo_output_state): Pass term to put.
18009 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
18010 (grub_usb_controller_dev): Add timeout and actual arguments to
18011 transfer. All users updated.
18012 (grub_usb_interface): New field detach_data.
18013 (grub_usb_device): New fields children and nports.
18014 (grub_usb_ep_type_t): New type.
18015 (grub_usb_get_ep_type): New function.
18016 (grub_usb_bulk_read_extended): Likewise.
18017 * include/grub/usbdesc.h (grub_usb_desc): New type.
18018 * include/grub/usbserial.h: New file.
18019 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
18020 * kern/term.c (grub_term_poll_usb): New variable.
18021 (grub_getkey): Call grub_term_poll_usb if set.
18022 (grub_checkkey): Likewise.
18023 (grub_getkeystatus): Likewise.
18024 * term/serial.c: Moved controller-specific parts to ...
18025 * term/ns8250.c: ... here.
18026 * term/serial.c: Mostly rewritten.
18027 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
18028 according to spec.
18029
18030 2010-08-20 Robert Millan <rmh@gnu.org>
18031
18032 Make kFreeBSD code more generic to support ext2fs as root, ufs as
18033 a separate module and maybe other interesting combinations.
18034
18035 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
18036 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
18037 (kfreebsd_entry): Add generic filesystem module load routine.
18038 Map GRUB `ext2' to kFreeBSD `ext2fs'.
18039
18040 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
18041
18042 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
18043 "numcenter" (I misunderstood the purpose of this entry).
18044 * docs/grub.texi (sendkey): Likewise.
18045
18046 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
18047
18048 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
18049 status flag options; simply omitting the option is equivalent and
18050 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
18051 (keysym_table): Rename "num5numlock" to "numlock".
18052 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
18053 can uniformly say that only the last of multiple `sendkey'
18054 invocations has any effect.
18055 * docs/grub.texi (sendkey): New section.
18056
18057 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
18058
18059 * commands/i386/pc/sendkey.c (options): Fix three typos.
18060
18061 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18062
18063 Implement sendkey support.
18064
18065 * commands/i386/pc/sendkey.c: New file.
18066 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
18067 (sendkey_mod_SOURCES): New variable.
18068 (sendkey_mod_CFLAGS): Likewise.
18069 (sendkey_mod_LDFLAGS): Likewise.
18070
18071 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
18072
18073 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
18074 fix warnings from Autoconf.
18075
18076 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
18077
18078 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
18079 to avoid false positives with some assemblers that output things
18080 like "someprefix_func" as part of their output.
18081
18082 2010-08-15 Robert Millan <rmh@gnu.org>
18083
18084 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
18085 errors.
18086 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
18087 grub_get_libzfs_handle() errors.
18088
18089 2010-08-14 Robert Millan <rmh@gnu.org>
18090
18091 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
18092 filesystem is not ZFS.
18093
18094 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18095
18096 Fix for misspelled color names defaulting to black/black (bug
18097 reported by Doug Nazar)
18098
18099 * include/grub/normal.h (grub_parse_color_name_pair): Add return
18100 status to prototype.
18101 * normal/color.c (grub_parse_color_name_pair): Return failure
18102 status.
18103 (grub_env_write_color_normal): Ignore bad color names.
18104 (grub_env_write_color_highlight): Likewise.
18105 * normal/main.c (GRUB_MOD_INIT): Set default color names.
18106
18107 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18108
18109 "shift" command support to GRUB script.
18110
18111 * include/grub/script_sh.h (grub_script_shift): New prototype.
18112 * script/execute.c (grub_script_shift): New function.
18113 * script/main.c (grub_script_init): Register shift command.
18114 (grub_script_fini): Unregister shift command.
18115 * util/grub-script-check.c (grub_script_cmd_shift): New function.
18116
18117 * tests/grub_script_shift.in: New testcase.
18118 * conf/tests.rmk: Rules for new testcase.
18119
18120 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18121
18122 "continue" command support to GRUB script.
18123
18124 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
18125 (grub_script_break): Continue support.
18126 * script/main.c (grub_script_init): Register continue command.
18127 (grub_script_fini): Unregister continue command.
18128
18129 * tests/grub_script_continue.in: New testcase.
18130 * conf/tests.rmk: Rules for new testcase.
18131
18132 2010-08-12 BVK Chaitanya <bvk@dbook>
18133
18134 "break" command support to GRUB script.
18135
18136 * conf/common.rmk: Rule updates to grub-script-check.
18137 * include/grub/misc.h (grub_min): New function.
18138 * include/grub/script_sh.h (grub_script_init): New prototype.
18139 (grub_script_fini): New prototype.
18140 (grub_script_break): New prototype.
18141 * script/main.c (grub_script_init): New function.
18142 (grub_script_fini): New function.
18143 * script/execute.c (grub_script_break): New function.
18144 * normal/main.c: Calls to grub_script_{init,fini}.
18145 * util/grub-script-check.c (grub_script_break): New function.
18146
18147 * tests/grub_script_break.in: New testcase.
18148 * conf/tests.rmk: Rules for new test case.
18149
18150 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18151
18152 Function parameters support to GRUB script.
18153
18154 * script/yylex.l (VARIABLE): Regular expression update.
18155 * script/function.c (grub_script_function_call): Moved ...
18156 * script/execute.c (grub_script_function_call): ... to here.
18157 (grub_script_execute_arglist_to_argv): Removed.
18158 (grub_script_arglist_to_argv): New function.
18159 * script/argv.c: New file.
18160 (grub_script_argv_free): New function.
18161 (grub_script_argv_next): Likewise.
18162 (grub_script_argv_append): Likewise.
18163 (grub_script_argv_split_append): Likewise.
18164 * include/grub/script_sh.h (grub_script_argv): New struct.
18165 (grub_script_argv_free): New function.
18166 (grub_script_argv_next): Likewise.
18167 (grub_script_argv_append): Likewise.
18168 (grub_script_argv_split_append): Likewise.
18169
18170 * conf/common.rmk (normal.mod): New source script/argv.c.
18171
18172 * tests/grub_script_echo1.in: More tests.
18173 * tests/grub_script_vars1.in: Likewise.
18174 * tests/grub_script_functions.in: New test case.
18175 * conf/tests.rmk: Rules for new testcase.
18176
18177 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18178
18179 Remove grub_script_cmdblock struct.
18180
18181 * include/grub/script_sh.h: Remove grub_script_cmdblock.
18182 * script/parser.y: Likewise.
18183 * script/execute.c: Rename cmdblock suffix to cmdlist.
18184 * script/script.c: Likewise.
18185 * util/grub-script-check.c: Likewise.
18186
18187 2010-08-11 Yves Blusseau <blusseau@zetam.org>
18188
18189 * .bzrignore: add grub-macho2img
18190
18191 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
18192
18193 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
18194
18195 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
18196
18197 Remove the dump of sm712 initialisation sequence.
18198
18199 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
18200 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
18201 (GRUB_VGA_IO_MISC_WRITE): Likewise.
18202 (GRUB_VGA_CR_*): Added many registers.
18203 (GRUB_VGA_SR_*): Likewise.
18204 (GRUB_VGA_GR_*): Likewise.
18205 (grub_vga_write_arx): New function.
18206 (grub_video_hw_config): New struct.
18207 (grub_vga_set_geometry): New function.
18208 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
18209 GRUB_PCI_CLASS_SUBCLASS_VGA.
18210 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
18211 * video/sm712.c (grub_sm712_write_reg): New function
18212 (grub_sm712_read_reg): Likewise.
18213 (grub_sm712_sr_write): Likewise.
18214 (grub_sm712_gr_write): Likewise.
18215 (grub_sm712_cr_write): Likewise.
18216 (grub_sm712_write_arx): Likewise.
18217 (grub_sm712_cr_shadow_write): Likewise.
18218 (grub_sm712_write_dda_lookup): Likewise.
18219 (grub_video_sm712_setup): Initialise the video rather then
18220 blindly replay the dump.
18221 (main) [TEST]: Add a routine to be able to compile as standalone for
18222 tests.
18223 * video/sm712_init.c (sm712_init): Removed.
18224 (sm712_sr_seq1): New array.
18225 (sm712_sr_seq2): Likewise.
18226
18227 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
18228
18229 * include/grub/vga.h: Add missing grub/pci.h include.
18230
18231 2010-08-10 Yves Blusseau <blusseau@zetam.org>
18232
18233 * util/grub-macho2img.c (main): fix typo
18234
18235 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
18236
18237 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
18238 (grub_vga_gr_read): Likewise.
18239 (grub_vga_cr_write): Likewise.
18240 (grub_vga_cr_read): Likewise.
18241 (grub_vga_sr_write): Likewise.
18242 (grub_vga_sr_read): Likewise.
18243 (grub_vga_palette_read): Likewise.
18244 (grub_vga_palette_write): Likewise.
18245 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
18246 (grub_sm712_sr_read): New function.
18247 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
18248 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
18249
18250 2010-08-09 Robert Millan <rmh@gnu.org>
18251
18252 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
18253 out unused variables on non-ZFS build.
18254
18255 2010-08-08 Robert Millan <rmh@gnu.org>
18256
18257 Fix path generation for sub-filesystems in ZFS.
18258
18259 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
18260 missing slash.
18261
18262 2010-08-08 Robert Millan <rmh@gnu.org>
18263
18264 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
18265
18266 2010-08-08 Robert Millan <rmh@gnu.org>
18267
18268 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
18269 exist, issue a proper error message (rely on `ls' for translated
18270 strings).
18271
18272 2010-08-08 Robert Millan <rmh@gnu.org>
18273
18274 Fix grub-probe invocation.
18275
18276 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
18277
18278 2010-08-04 Robert Millan <rmh@gnu.org>
18279
18280 * configure.ac: Remove checks for getfsstat() and getmntany().
18281 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
18282 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
18283 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
18284 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
18285 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
18286 function.
18287 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
18288 via find_mount_point_from_dir() and getfsstat() / getmntany().
18289
18290 2010-08-04 Robert Millan <rmh@gnu.org>
18291
18292 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18293 (grub_find_zpool_from_mount_point): Merge into ...
18294 (grub_find_zpool_from_dir): ... this.
18295 * kern/emu/misc.c: Likewise.
18296
18297 * kern/emu/misc.c
18298 (grub_make_system_path_relative_to_its_root): Replace
18299 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
18300 with grub_find_zpool_from_dir().
18301 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
18302
18303 2010-08-04 Robert Millan <rmh@gnu.org>
18304
18305 Support OpenSolaris in ZFS device resolution.
18306
18307 * configure.ac: Check for getmntany().
18308 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
18309 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
18310 support.
18311
18312 2010-08-03 Robert Millan <rmh@gnu.org>
18313
18314 Fix grub-emu build.
18315
18316 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
18317 * include/grub/emu/misc.h: ... here.
18318
18319 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
18320 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
18321
18322 * util/misc.c: Remove `<grub/util/libzfs.h>'.
18323 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
18324 (grub_get_libzfs_handle): Move to ...
18325 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
18326 (grub_get_libzfs_handle): ... here.
18327
18328 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
18329
18330 * script/execute.c (grub_script_execute_cmdline): Check for NULL
18331 as command name case.
18332
18333 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
18334
18335 * disk/raid.c (insert_array): Select unique numbers for named arrays
18336 as well, for use as keys in the disk cache.
18337
18338 2010-08-01 Robert Millan <rmh@gnu.org>
18339
18340 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
18341 kFreeBSD device name, except on ZFS where the filesystem label is
18342 used.
18343 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
18344 `/boot/zfs/zpool.cache'.
18345 Set mountfrom kernel variable using ${kfreebsd_device}.
18346
18347 2010-08-01 Robert Millan <rmh@gnu.org>
18348
18349 Make it even harder to use uninitialized `libzfs_handle' (and
18350 make the interface a bit simpler).
18351
18352 * include/grub/util/misc.h (grub_util_init_libzfs)
18353 (libzfs_handle): Remove.
18354 (grub_get_libzfs_handle): New prototype.
18355
18356 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
18357 attribute.
18358 (grub_util_init_libzfs): Remove.
18359 (grub_get_libzfs_handle): New function.
18360
18361 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
18362 grub_get_libzfs_handle() to obtain a libzfs handle instead of
18363 accessing `libzfs_handle' directly.
18364
18365 2010-08-01 Robert Millan <rmh@gnu.org>
18366
18367 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18368 (grub_find_zpool_from_mount_point): New function prototypes.
18369
18370 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
18371 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
18372
18373 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
18374 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
18375 `static' attribute.
18376
18377 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
18378 finding zpool from mount point into ...
18379 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
18380
18381 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
18382 requested path is part of a ZFS pool, use
18383 grub_find_zpool_from_mount_point() to detect its filesystem name,
18384 and generate a path with `/fsname@path' syntax.
18385
18386 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
18387
18388 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
18389 (void) rather than () so that this is a proper prototype.
18390
18391 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18392
18393 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
18394
18395 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18396
18397 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
18398 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
18399
18400 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
18401
18402 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
18403
18404 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
18405
18406 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
18407
18408 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
18409
18410 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
18411 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
18412 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
18413 disable gfxpayload.
18414 (Shell-like scripting): Add real content.
18415 (Serial terminal): Suggest `terminal_input serial; terminal_output
18416 serial' rather than putting the two commands on separate lines,
18417 since console input will be inoperative after the first command.
18418 (menuentry): Document --class, --users, and --hotkey options.
18419 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
18420 Vladimir Serbinenko).
18421
18422 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18423 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
18424
18425 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
18426
18427 2010-08-01 Robert Millan <rmh@gnu.org>
18428
18429 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18430 (grub_find_zpool_from_mount_point): New function prototypes.
18431
18432 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
18433 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
18434
18435 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
18436 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
18437 `static' attribute.
18438
18439 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
18440 finding zpool from mount point into ...
18441 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
18442
18443 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
18444 requested path is part of a ZFS pool, use
18445 grub_find_zpool_from_mount_point() to detect its filesystem name,
18446 and generate a path with `/fsname@path' syntax.
18447
18448 2010-08-01 Robert Millan <rmh@gnu.org>
18449
18450 Prevent accidental use of uninitialized libzfs_handle.
18451
18452 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
18453 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
18454 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
18455
18456 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
18457
18458 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
18459 util/grub.d/10_linux.in). Fixes Debian bug #591093.
18460
18461 2010-08-01 Robert Millan <rmh@gnu.org>
18462
18463 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
18464
18465 2010-07-31 Robert Millan <rmh@gnu.org>
18466
18467 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
18468
18469 2010-07-31 Robert Millan <rmh@gnu.org>
18470
18471 * kern/emu/misc.c: Add missing license header.
18472
18473 2010-07-31 Robert Millan <rmh@gnu.org>
18474
18475 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
18476
18477 * include/grub/util/libnvpair.h: Include `<config.h>'.
18478 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
18479 declaring libnvpair prototypes ourselves.
18480 * include/grub/util/libzfs.h: Include `<config.h>'.
18481 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
18482 declaring libzfs prototypes ourselves.
18483
18484 (libzfs_handle): Moved to ...
18485 * include/grub/util/misc.h (libzfs_handle): ... here.
18486 Include `<grub/util/libzfs.h>'.
18487
18488 2010-07-30 Robert Millan <rmh@gnu.org>
18489
18490 * include/grub/emu/misc.h: Add missing license header.
18491
18492 2010-07-30 Robert Millan <rmh@gnu.org>
18493
18494 Enable `grub-probe -t device' resolution on ZFS.
18495
18496 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
18497 * include/grub/util/libnvpair.h: New file.
18498 * include/grub/util/libzfs.h: New file.
18499
18500 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
18501 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
18502 `<grub/util/libnvpair.h>'.
18503 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
18504
18505 (find_mount_point_from_dir): New static function.
18506 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
18507 function.
18508 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
18509 find_root_device_from_libzfs() before ressorting to find_root_device().
18510
18511 * include/grub/util/misc.h (grub_util_init_libzfs): New function
18512 prototype.
18513 * util/misc.c: Include `<grub/util/libzfs.h>'.
18514 (grub_util_init_libzfs): New function.
18515 [HAVE_LIBZFS] (libzfs_handle): New global variable.
18516 [HAVE_LIBZFS] (fini_libzfs): New static function.
18517 (grub_util_init_libzfs): New function.
18518 * util/grub-probe.c (main): Call grub_util_init_libzfs().
18519
18520 2010-07-30 Robert Millan <rmh@gnu.org>
18521
18522 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
18523 (xmalloc, xrealloc, xstrdup, xasprintf): Add
18524 `warn_unused_result' attribute.
18525 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
18526 (grub_xasprintf, grub_xvasprintf): Likewise.
18527 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
18528
18529 2010-07-29 Robert Millan <rmh@gnu.org>
18530
18531 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
18532 (probe): Handle `PRINT_FS_LABEL'.
18533 (main): Handle `-t fs_label'.
18534
18535 2010-07-29 Robert Millan <rmh@gnu.org>
18536
18537 * configure.ac: Remove grub-mkisofs checks.
18538
18539 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
18540
18541 * util/ieee1275/grub-install.in: Don't use empty grub_device.
18542 Reported by: Lennart Sorensen.
18543
18544 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18545
18546 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
18547 prior to terminal_input/terminal_output separation. It's been over 1.5
18548 years and those versions weren't widely deployed.
18549
18550 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
18551
18552 * disk/raid.c (insert_array): Don't count named arrays when looking
18553 for unused array numbers.
18554 Reported and tested by: Michael Guntsche.
18555
18556 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18557
18558 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
18559 implementation of this so that grub-emu links again, with a note
18560 that this should support hotplugging in the future.
18561
18562 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18563
18564 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
18565
18566 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18567
18568 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
18569 handle on failure.
18570 (grub_loopback_close): Remove empty function.
18571 (grub_loopback_dev): Remove close method.
18572
18573 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18574
18575 Disable EFI cursor when the EFI console becomes inactive.
18576
18577 * term/efi/console.c (grub_efi_console_init): New function.
18578 (grub_efi_console_fini): New function.
18579 (grub_console_term_output): Register init and fini methods.
18580
18581 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18582
18583 * tests/util/grub-shell-tester.in: Remove bashism and declare as
18584 sh script.
18585
18586 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18587
18588 * disk/loopback.c (grub_loopback): Replace filename with file.
18589 (delete_loopback): Handle new semantics.
18590 (grub_cmd_loopback): Likewise.
18591 (grub_loopback_iterate): Likewise.
18592 (grub_loopback_close): Likewise.
18593
18594 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18595
18596 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
18597 with -p "".
18598 Reported by: Tito Keitel.
18599
18600 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18601
18602 * docs/grub.texi (Naming convention): Document new naming convention.
18603
18604 2010-07-20 Vadim Solomin <vadic052@gmail.com>
18605 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18606
18607 Generate device.map in something closer to the old ordering.
18608
18609 * util/deviceiter.c (struct device): New declaration.
18610 (compare_file_names): Rename to ...
18611 (compare_devices): ... this. Sort by kernel name in preference to
18612 the stable by-id name, but keep the latter as a fallback comparison.
18613 Update header comment.
18614 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
18615 of `struct device' rather than of plain file names.
18616
18617 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
18618
18619 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
18620 on i386.
18621
18622 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18623
18624 * commands/acpi.c (setup_common_tables): Use sizeof instead of
18625 hardcoding size.
18626 (setv1table): Likewise.
18627
18628 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18629
18630 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
18631 removing the homehost if present.
18632 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
18633 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
18634 removing the homehost if present.
18635 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
18636 if possible.
18637 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
18638
18639 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
18640 parameter. Set its pointer target to 0.
18641 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
18642 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
18643 `data_offset' value from the superblock for 1.x metadata.
18644 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
18645 data on the device.
18646 (insert_array): Record the start sector of data on the device.
18647 (grub_raid_register): Pass start_sector parameters to
18648 grub_raid_list->detect and insert_array.
18649 * include/grub/raid.h (struct grub_raid_array): Add start_sector
18650 member.
18651 (struct grub_raid): Add start_sector parameter to `detect'.
18652
18653 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
18654 __attribute__ ((packed)), leaving a comment.
18655 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
18656 (grub_mdraid_detect_09): ... here and ...
18657 (grub_mdraid_detect_1x): ... here.
18658
18659 2010-07-20 Peter Henn <peter.henn@web.de>
18660
18661 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
18662 chunk size and disk size, which are already given as sector counts
18663 as distinct from the 0.90 units. Fetch the correct device number
18664 from the role table instead of using the table index.
18665
18666 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
18667
18668 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
18669 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
18670 (WriteMostly1): New macro.
18671 Set array->name to NULL for metadata format 0.90. Add support for
18672 metadata 1.x. Fix some comments.
18673 * disk/raid.c (): Add support for name based RAID arrays. Fix a
18674 few comments.
18675 * util/getroot.c (grub_util_get_grub_dev): Add support for
18676 /dev/md/name style devices.
18677
18678 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18679
18680 * .bzrignore: Ignore 20_linux_xen.
18681
18682 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
18683
18684 * util/import_unicode.py: Remove unnecessary imports.
18685
18686 2010-07-17 Aleš Nesrsta <starous@volny.cz>
18687
18688 Hotplugging and USB hub support.
18689
18690 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
18691 (grub_ohci): Likewise.
18692 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
18693 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
18694 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
18695 (GRUB_OHCI_CTRL_EDS): Likewise.
18696 (GRUB_OHCI_BULK_EDS): Likewise.
18697 (GRUB_OHCI_TDS): Likewise.
18698 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
18699 (grub_ohci_ed_phys2virt): New function.
18700 (grub_ohci_virt_to_phys): Likewise.
18701 (grub_ohci_td_phys2virt): Likewise.
18702 (grub_ohci_td_virt2phys): Likewise.
18703 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
18704 attachment.
18705 (grub_ohci_find_ed): New function.
18706 (grub_ohci_alloc_td): Likewise.
18707 (grub_ohci_free_td): Likewise.
18708 (grub_ohci_free_tds): Likewise.
18709 (grub_ohci_transfer): Use previously allocated memory.
18710 (grub_ohci_portstatus): Reset status changed bit.
18711 (grub_ohci_detect_dev): Supply status changed.
18712 (grub_ohci_fini_hw): Free memory.
18713 (grub_ohci_restore_hw): Reallocate memory.
18714 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
18715 Reset status change.
18716 (grub_uhci_detect_dev): Supply status_change.
18717 * bus/usb/usb.c (attach_hooks): New var.
18718 (grub_usb_device_attach): New function.
18719 (grub_usb_register_attach_hook_class): Likewise.
18720 (grub_usb_unregister_attach_hook_class): Likewise.
18721 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
18722 (grub_usb_add_hub): Reset connection changed bit.
18723 (attach_root_port): New function.
18724 (grub_usb_root_hub): Likewise.
18725 (poll_nonroot_hub): Likewise.
18726 (grub_usb_poll_devices): Likewise.
18727 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
18728 * disk/usbms.c (grub_usbms_open): Use device hooks.
18729 (grub_usbms_iterate) :Poll devices.
18730 (grub_usbms_finddevs): Split into ...
18731 (grub_usbms_attach): ... this ...
18732 (grub_usbms_attach): ... and this.
18733 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
18734 in detect_dev.
18735 (grub_usb_interface): New fields attached and detach_hook.
18736 (grub_usb_attach_hook_class): New type.
18737 (grub_usb_attach_desc): New struct.
18738 (grub_usb_register_attach_hook_class): New function.
18739 (grub_usb_unregister_attach_hook_class): Likewise.
18740 (grub_usb_poll_devices): Likewise.
18741 (grub_usb_device_attach): Likewise.
18742 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
18743 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
18744
18745 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18746
18747 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
18748 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
18749 delta determination style. Works with most NetBSD partitions too.
18750
18751 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18752
18753 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
18754 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
18755
18756 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18757
18758 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
18759
18760 2010-07-14 Anton Blanchard <anton@samba.org>
18761
18762 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
18763 ET_DYN files.
18764
18765 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18766
18767 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
18768
18769 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18770
18771 * kern/partition.c (grub_partition_check_containment): New function to
18772 check that a partition is physically contained in a parent. Since
18773 offsets are relative (and non-negative), this reduces to checking that
18774 the partition ends before its parent.
18775 (grub_partition_map_probe): Discard out-of-range sub-partitions.
18776 (grub_partition_iterate): Likewise.
18777 * include/grub/partition.h (grub_partition_map): Slightly more detailed
18778 comments.
18779 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
18780 partitions that start before their parent, and add debug printfs.
18781
18782 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
18783
18784 * Makefile.in (.SUFFIX): Spell correctly, as ...
18785 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
18786 bare module name without `.mod', e.g. `test') tried to invoke a
18787 Modula-2 compiler.
18788
18789 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
18790
18791 * README: Point to the Info manual.
18792
18793 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
18794
18795 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
18796 2nd superblock position from partition size.
18797
18798 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
18799
18800 * Makefile.in (MAINTAINER_CLEANFILES): Remove
18801 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
18802 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
18803 outputs.
18804
18805 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18806
18807 Restructure SCSI .id handling.
18808 Reported and tested by: Aleš Nesrsta.
18809
18810 * disk/ata.c (grub_atapi_close): Removed. All users updated.
18811 (grub_atapi_dev): Changed .name to "ata". New field .id.
18812 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
18813 (grub_usbms_dev): New field .id.
18814 * disk/scsi.c (grub_scsi_iterate): Generate name.
18815 (grub_scsi_open): Parse name.
18816 * include/grub/scsi.h (grub_make_scsi_id): New function.
18817 (grub_scsi_dev): Change iterate and open to number instead of naming
18818 busses. All users updated.
18819 (grub_scsi): Remove name. Add .bus.
18820
18821 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18822
18823 * commands/help.c (grub_cmd_help): Fix a typo.
18824
18825 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18826
18827 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
18828 Reported and tested by: Colin Watson.
18829
18830 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18831
18832 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
18833 in this context.
18834
18835 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18836
18837 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
18838
18839 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
18840
18841 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
18842 indentation.
18843
18844 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18845
18846 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
18847 and disk/raid6_recover.c.
18848 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18849 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18850
18851 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18852
18853 * term/gfxterm.c (repaint_schedulded): Rename to ...
18854 (repaint_scheduled): ... this. Update all callers.
18855 (repaint_was_schedulded): Rename to ...
18856 (repaint_was_scheduled): ... this. Update all callers.
18857
18858 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18859
18860 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
18861 which we expect to be handled by upper layers.
18862
18863 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
18864
18865 * bus/usb/usbhub.c: #include time.h header.
18866
18867 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18868
18869 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
18870 entry_name also for entries without stat blocks (e.g. ".."); fixes
18871 corruption of the first entry in a directory.
18872
18873 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18874
18875 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
18876 after setting gfxterm as the active terminal. GRUB_BACKGROUND
18877 doesn't work otherwise.
18878
18879 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18880
18881 * docs/grub.texi (Features): Update list of supported file systems.
18882 (GNU/Linux): Update for GRUB 2.
18883 (Serial terminal): Remove mention of --disable-serial, which was a
18884 GRUB Legacy configure option. Update instructions to use
18885 `terminal_input' and `terminal_output' rather than `terminal'.
18886 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
18887 configuration' and `Installing GRUB using grub-install'.
18888 (Menu entry editor): Update for GRUB 2.
18889 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
18890 Document new -a, -u, and -v options.
18891 (initrd): New section.
18892 (initrd16): New section.
18893 (linux): New section.
18894 (linux16): New section.
18895 (search): The `var' argument to `--set' is optional.
18896 (GRUB only offers a rescue shell): Go into a little more detail on
18897 drive ordering.
18898
18899 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18900
18901 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
18902
18903 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18904
18905 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
18906 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
18907
18908 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18909
18910 * util/i386/pc/grub-setup.c (setup): Rename prefix to
18911 install_prefix, in line with install_dos_part and install_bsd_part.
18912 Add new prefix variable, which is copied to install_prefix after
18913 comparing core.img in memory with the one read from disk in the
18914 no-embedding case, and use that rather than overwriting
18915 install_prefix immediately when installing to a partition.
18916 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
18917 Bicakci.
18918
18919 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18920
18921 * configure.ac: Avoid == in test command, it's not portable.
18922 * util/grub.d/30_os-prober.in: Likewise.
18923
18924 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
18925
18926 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
18927
18928 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18929
18930 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
18931 multiple (top-level) partmaps.
18932
18933 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18934
18935 * util/i386/efi/grub-install.in: Don't use empty grub_device.
18936 Reported by: Tino Keitel.
18937
18938 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18939
18940 Bidi and diacritics support.
18941
18942 * Makefile.in (widthspec.bin): New target.
18943 (widthspec.h): Likewise.
18944 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
18945 * autogen.sh: Generate unidata.c.
18946 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
18947 * commands/ls.c (grub_ls_list_devices): Likewise.
18948 (grub_ls_list_files): Likewise.
18949 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
18950 (grub_mini_cmd_lsmod): Likewise.
18951 * commands/read.c: Likewise.
18952 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
18953 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
18954 * lib/arg.c (grub_arg_show_help): Likewise.
18955 * lib/crypto.c (grub_password_get): Likewise.
18956 * normal/auth.c (grub_username_get): Likewise.
18957 * normal/misc.c (grub_normal_print_device_info): Likewise.
18958 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
18959 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
18960 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
18961 (normal/charset.c_DEPENDENCIES): New variable.
18962 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
18963 (pkglib_MODULES): Remove charset.mod.
18964 (charset_mod_SOURCES): Removed.
18965 (charset_mod_CFLAGS): Likewise.
18966 (charset_mod_LDFLAGS): Likewise.
18967 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
18968 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
18969 and term/tparm.c.
18970 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18971 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18972 (kernel_img_HEADERS): Add terminfo.h.
18973 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
18974 Fill ->font. Reverse ascii bitmaps.
18975 (grub_font_get_xheight): New function.
18976 * font/font.c (grub_font_get_string_width): Moved from here ...
18977 * gfxmenu/font.c (grub_font_get_string_width): ... here.
18978 * font/font.c (grub_font_draw_string): Moved from here ...
18979 * gfxmenu/font.c (grub_font_draw_string): ... here.
18980 * font/font.c (grub_font_dup_glyph): New function.
18981 (grub_font_blit_glyph): Likewise.
18982 (grub_font_blit_glyph_mirror): Likewise.
18983 (blit_comb): Likewise.
18984 (grub_font_construct_dry_run): Likewise.
18985 (grub_font_get_constructed_device_width): Likewise.
18986 (grub_font_construct_glyph): Likewise.
18987 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
18988 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
18989 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
18990 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
18991 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
18992 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
18993 (grub_font_get_xheight): New proto.
18994 (grub_font_get_constructed_device_width): Likewise.
18995 (grub_font_construct_glyph): Likewise.
18996 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
18997 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
18998 * include/grub/font.h (grub_font_draw_string): Moved from here ...
18999 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
19000 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
19001 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
19002 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
19003 (grub_console_getcharwidth): Likewise.
19004 * include/grub/misc.h (grub_xputs): New proto.
19005 (grub_puts): Inlined.
19006 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
19007 (grub_normal_get_line_counter): Removed.
19008 (grub_install_newline_hook): Likewise.
19009 (grub_normal_get_char_counter): New proto.
19010 (grub_normal_reset_more): Likewise.
19011 (grub_xputs_normal): Likewise.
19012 * include/grub/powerpc/ieee1275/console.h: Removed.
19013 * include/grub/sparc64/ieee1275/console.h: Likewise.
19014 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
19015 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
19016 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
19017 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
19018 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
19019 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
19020 (grub_term_input): Pass reference to self. All users updated.
19021 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
19022 Pass reference to self. New fields normal_color, highlight_color and
19023 data. All users updated.
19024 (grub_putchar): Removed.
19025 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
19026 (grub_unicode_estimate_width): New function.
19027 (grub_term_getcharwidth): Add defaults.
19028 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
19029 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
19030 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
19031 (grub_cls): Remove EXPORT_FUNC.
19032 (grub_setcolorstate): Inline.
19033 (grub_newline_hook): Removed.
19034 * include/grub/terminfo.h: Rewritten. All users updated.
19035 * include/grub/unicode.h: New file.
19036 * include/grub/video.h (grub_video_signed_rect): New type.
19037 * kern/emu/console.c (grub_console_highlight_color): Removed.
19038 (grub_console_normal_color): Likewise.
19039 (grub_console_standard_color): Made static.
19040 (grub_ncurses_putchar): Remove mapping.
19041 (grub_ncurses_getcharwidth): Removed.
19042 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
19043 (grub_ncurses_setcolor): Removed.
19044 (grub_ncurses_getcolor): Likewise.
19045 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
19046 (grub_console_putchar): ... this.
19047 (grub_console_putchar): Handle argument difference.
19048 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
19049 console_init_early and console_init_lately.
19050 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
19051 * kern/misc.c (grub_puts): Removed.
19052 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
19053 (grub_vsnprintf_real): Remove str = NULL support.
19054 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
19055 * normal/charset.c (grub_utf8_to_ucs4): ... here.
19056 * kern/term.c (grub_putcode): Renamed to ...
19057 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
19058 (grub_putchar): Removed.
19059 (grub_xputs_dumb): New function.
19060 (grub_xputs): New variable.
19061 * lib/charset.c: Move from here ...
19062 * normal/charset.c: ... to here.
19063 (grub_ucs4_to_utf8): New function.
19064 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
19065 (join_types): New variable.
19066 (unpack_join): New function.
19067 (bidi_types): New variable.
19068 (unpack_bidi): New function.
19069 (get_bidi_type): Likewise.
19070 (get_join_type): Likewise.
19071 (is_mirrored): Likewise.
19072 (grub_unicode_get_comb_type): Likewise.
19073 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
19074 (is_type_after): Likewise.
19075 (grub_unicode_aglomerate_comb): Likewise.
19076 (bidi_line_wrap): Likewise.
19077 (grub_bidi_line_logical_to_visual): Likewise.
19078 (grub_bidi_logical_to_visual): Likewise.
19079 (grub_unicode_mirror_code): Likewise.
19080 (grub_unicode_shape_code): Likewise.
19081 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
19082 Don't use grub_putchar.
19083 * normal/main.c (grub_normal_init_page): Use grub_putcode.
19084 (grub_normal_reader_init): Likewise.
19085 (grub_xputs_saved): New variable.
19086 (GRUB_MOD_INIT): Set grub_xputs.
19087 (GRUB_MOD_FINI): Restore grub_xputs.
19088 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
19089 (menu_init): Avoid printing gfxmenu error.
19090 (show_menu): Use grub_normal_get_char_counter.
19091 * normal/menu_entry.c (update_screen): Fix out-of-array.
19092 (complete): Avoid NULL dereferencing.
19093 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
19094 * normal/menu_text.c (print_spaces): Removed.
19095 (grub_print_ucs4): Likewise.
19096 (grub_print_message_indented): Use grub_print_ucs4.
19097 (print_message): Use grub_putcode.
19098 (print_entry): Hanlde diacritics.
19099 * normal/term.c (term_state): New type.
19100 (grub_more_lines): Removed.
19101 (term_states): New variable.
19102 (grub_normal_line_counter): Renamed to ..
19103 (grub_normal_char_counter): ...this. All users updated.
19104 (grub_normal_get_line_counter): Renamed to ...
19105 (grub_normal_get_char_counter): ... this.
19106 (grub_normal_reset_more): New function.
19107 (process_newline): Removed.
19108 (print_more): New function.
19109 (grub_install_newline_hook): Removed.
19110 (map_code): New function.
19111 (grub_puts_terminal): Use grub_print_ucs4.
19112 (putglyph): New function.
19113 (putcode_real): Likewise.
19114 (grub_putcode): Use putcode_real.
19115 (get_maxwidth): New function.
19116 (get_startwidth): Likewise.
19117 (print_ucs4_terminal): Likewise.
19118 (find_term_state): Likewise.
19119 (put_glyphs_terminal): Likewise.
19120 (print_backlog): Likewise.
19121 (print_ucs4_real): Likewise.
19122 (grub_print_ucs4): Likewise.
19123 (grub_xputs_normal): Likewise.
19124 * term/efi/console.c (grub_console_putchar): Output diacritics.
19125 (grub_console_getcharwidth): Removed.
19126 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
19127 * term/gfxterm.c (clear_char): Free chars.
19128 (scroll_up): Avoid leaking memory.
19129 (grub_gfxterm_putchar): Support diacritics.
19130 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
19131 * term/i386/pc/console.c (grub_console_term_output): Declare as
19132 GRUB_TERM_CODE_TYPE_VGA.
19133 * term/i386/pc/vga.c (grub_vga_term): Declare as
19134 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
19135 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
19136 GRUB_TERM_CODE_TYPE_VGA.
19137 * term/i386/vga_common.c (map_char): Removed.
19138 (grub_console_putchar): Likewise.
19139 (grub_console_getcharwidth): Likewise.
19140 * term/ieee1275/ofconsole.c: Simplify using terminfo.
19141 (colors): Reordered to match terminfo.
19142 (grub_ofconsole_normal_color): Removed.
19143 (grub_ofconsole_writeesc): Likewise.
19144 (grub_ofconsole_highlight_color): Likewise.
19145 (grub_ofconsole_getcharwidth): Likewise.
19146 (grub_ofconsole_setcolorstate): Likewise.
19147 (grub_ofconsole_setcolor): Likewise.
19148 (grub_ofconsole_getcolor): Likewise.
19149 (grub_ofconsole_readkey): Renamed to ...
19150 (readkey): ... this. Remove escape sequence handling. Return -1 on no
19151 key.
19152 (grub_ofconsole_checkkey): Removed.
19153 (grub_ofconsole_getkey): Likewise.
19154 (grub_ofconsole_getxy): Likewise.
19155 (grub_ofconsole_gotoxy): Likewise.
19156 (grub_ofconsole_cls): Likewise.
19157 (grub_ofconsole_refresh): Likewise.
19158 (grub_ofconsole_terminfo_input): New struct.
19159 (grub_ofconsole_terminfo_output): Likewise.
19160 (grub_ofconsole_term_input): Use terminfo.
19161 (grub_ofconsole_term_output): Likewise.
19162 (grub_console_init): Split into ...
19163 (grub_console_init_early): ...this and ...
19164 (grub_console_init_lately): ...this. Use terminfo.
19165 (grub_ofconsole_putchar): Renamed to ...
19166 (put): ... this. Remove mapping.
19167 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
19168 * term/serial.c: Simplify using terminfo.
19169 (xpos): Removed.
19170 (ypos): Likewise.
19171 (keep_track): Likewise.
19172 (registered): Likewise.
19173 (input_buf): Likewise.
19174 (npending): Likewise.
19175 (serial_translate_key_sequence): Likewise.
19176 (fill_input_buf): Likewise.
19177 (grub_serial_checkkey): Likewise.
19178 (grub_serial_getkey): Likewise.
19179 (grub_serial_getxy): Likewise.
19180 (grub_serial_gotoxy): Likewise.
19181 (grub_serial_putchar): Likewise.
19182 (grub_serial_cls): Likewise.
19183 (grub_serial_setcolorstate): Likewise.
19184 (grub_serial_setcursor): Likewise.
19185 (serial_hw_init): Use serial_hw_fetch.
19186 (grub_serial_terminfo_input): New variable.
19187 (grub_serial_terminfo_output): Likewise.
19188 (grub_serial_term_input): Use terminfo.
19189 (grub_serial_term_output): Likewise.
19190 * term/terminfo.c (putstr): Use put.
19191 (grub_terminfo_all_free): New function
19192 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
19193 (grub_terminfo_output_register): New function.
19194 (grub_terminfo_output_unregister): Likewise.
19195 (grub_terminfo_getxy): Likewise.
19196 (grub_terminfo_readkey): Likewise.
19197 (grub_terminfo_checkkey): Likewise.
19198 (grub_terminfo_getkey): Likewise.
19199 (grub_terminfo_input_init): Likewise.
19200 (print_terminfo): Likewise.
19201 (grub_cmd_terminfo): Handle encoding.
19202 (grub_terminfo_gotoxy): Track position.
19203 (grub_terminfo_cls): Likewise.
19204 (grub_terminfo_putchar): Likewise.
19205 (grub_terminfo_setcolorstate): Handle colors
19206 (grub_terminfo_cursor_on): This ...
19207 (grub_terminfo_cursor_off): ... and this merged into ...
19208 (grub_terminfo_setcursor): ... this.
19209 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
19210 * unicode/ArabicShaping.txt: New file (imported from Unicode).
19211 * unicode/BidiMirroring.txt: Likewise.
19212 * unicode/UnicodeData.txt: Likewise.
19213 * unicode/COPYING: Likewise.
19214 * util/grub-editenv.c (grub_putchar): Removed.
19215 (grub_xputs_real): New function.
19216 (grub_xputs): New variable.
19217 * util/grub-fstest.c (grub_putchar): Removed.
19218 (grub_xputs_real): New function.
19219 (grub_xputs): New variable.
19220 * util/grub-mkdevicemap.c (grub_putchar): Removed.
19221 (grub_xputs_real): New function.
19222 (grub_xputs): New variable.
19223 * util/grub-probe.c (grub_putchar): Removed.
19224 (grub_xputs_real): New function.
19225 (grub_xputs): New variable.
19226 * util/grub-script-check.c (grub_putchar): Removed.
19227 (grub_xputs_real): New function.
19228 (grub_xputs): New variable.
19229 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
19230 (grub_xputs_real): New function.
19231 (grub_xputs): New variable.
19232 * util/import_unicode.py: New file.
19233 * util/grub-mkfont.c (ft_errmsgs): New array.
19234 (grub_glyph_info): Make bitmap a pointer.
19235 (file_formats): New type WIDTH_SPEC.
19236 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
19237 (options): Add width-spec.
19238 (help): Likewise.
19239 (add_char): Renamed to ...
19240 (add_glyph): ... this.
19241 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
19242 (glyph_replace): New type.
19243 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
19244 (add_char): New function.
19245 (add_subst): Likewise.
19246 (process_cursive): Likewise.
19247 (add_font): Handle GSUB.
19248 (write_font_width_spec): New function.
19249 (main): Sort glyphs.
19250 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
19251 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
19252 * kern/term.c (grub_cls): Moved from here...
19253 * normal/term.c (grub_cls): ... here.
19254
19255 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19256
19257 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
19258 suitable for using within the format argument of printf when
19259 converting grub_size_t.
19260 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
19261 "x" to convert grub_size_t arguments.
19262
19263 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19264
19265 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
19266 too long captions.
19267 (list_get_minimal_size): Take selection box into account.
19268
19269 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19270
19271 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
19272 NULL font.
19273
19274 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19275
19276 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
19277 devices when iterating over /dev/disk/by-id; they will be handled
19278 later if appropriate, which they aren't always (e.g. LVM).
19279
19280 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19281
19282 * include/grub/misc.h (grub_reboot): Declare as noreturn.
19283 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
19284 fails.
19285 (grub_halt): Likewise.
19286 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
19287 reset-all fails.
19288 (grub_halt): Don't return, even if all of shut-down, power-off, and
19289 poweroff fail.
19290
19291 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19292
19293 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
19294 arguments, not three.
19295
19296 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19297
19298 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
19299 * util/grub.d/10_linux.in: Use it to check for LVM, so that
19300 LVM-on-RAID is handled correctly.
19301
19302 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19303
19304 * docs/grub.texi (Changes from GRUB Legacy): New section.
19305 (Future): Fix typo.
19306
19307 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19308
19309 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
19310 grub.d/README accidentally ends up executable for one reason or
19311 another. Ignore it.
19312
19313 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19314
19315 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
19316 (gpt_partition_map_iterate): Support non-512B sectors.
19317
19318 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19319
19320 * kern/efi/init.c (grub_efi_init): Disable watchdog.
19321 Tested by: Seth Goldberg.
19322
19323 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19324
19325 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
19326 Properly align mbi.
19327 Reported by: Seth Goldberg.
19328
19329 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19330
19331 * util/grub-mkrescue.in: Avoid module duplication.
19332
19333 2010-07-01 Sean Finney <seanius@seanius.net>
19334
19335 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
19336
19337 2010-07-01 Sean Finney <seanius@seanius.net>
19338
19339 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
19340
19341 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19342
19343 * disk/lvm.c (grub_lvm_checkvalue): New function.
19344 (grub_lvm_check_flag): Likewise.
19345
19346 2010-07-01 Robert Millan <rmh@gnu.org>
19347
19348 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
19349 Support 'p' as partition separator on kernel of FreeBSD (used
19350 with GPT labels).
19351 (grub_util_biosdisk_get_grub_dev): Likewise.
19352
19353 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19354
19355 Yeeloong firmware port.
19356
19357 * boot/mips/yeeloong/fwstart.S: New file.
19358 * bus/cs5536.c (gpiodump): New const.
19359 (set_io_space): New function.
19360 (set_iod): Likewise.
19361 (set_p2d): Likewise.
19362 (grub_cs5536_init_geode): Likewise.
19363 * commands/mips/yeeloong/lsspd.c: New file.
19364 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
19365 (serial_mod_SOURCES): New variable.
19366 (serial_mod_CFLAGS): Likewise.
19367 (serial_mod_LDFLAGS): Likewise.
19368 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
19369 term/terminfo.c and term/tparm.c.
19370 (pkglib_IMAGES): Add fwstart.img.
19371 (fwstart_img_SOURCES): New variable.
19372 (fwstart_img_CFLAGS): Likewise.
19373 (fwstart_img_ASFLAGS): Likewise.
19374 (fwstart_img_LDFLAGS): Likewise.
19375 (fwstart_img_FORMAT): Likewise.
19376 (pkglib_MODULES): Add lsspd.mod.
19377 (lsspd_mod_SOURCES): New variable.
19378 (lsspd_mod_CFLAGS): Likewise.
19379 (lsspd_mod_LDFLAGS): Likewise.
19380 (pkglib_MODULES): Add halt.mod.
19381 (halt_mod_SOURCES): New variable.
19382 (halt_mod_CFLAGS): Likewise.
19383 (halt_mod_LDFLAGS): Likewise.
19384 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
19385 (serial_mod_SOURCES): Removed.
19386 (serial_mod_CFLAGS): Likewise.
19387 (serial_mod_LDFLAGS): Likewise.
19388 * disk/ata.c (check_device): New function.
19389 (grub_ata_device_initialize): Use check_device.
19390 (grub_ata_iterate): Recheck devices.
19391 (grub_ata_open): Likewise.
19392 (grub_atapi_iterate): Likewise.
19393 (grub_atapi_open): Likewise.
19394 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
19395 (GRUB_ATA_CH1_PORT1): Likewise.
19396 (GRUB_ATA_CH0_PORT2): Likewise.
19397 (GRUB_ATA_CH1_PORT2): Likewise.
19398 * include/grub/mips/loongson.h: New file.
19399 * include/grub/mips/yeeloong/ec.h: Likewise.
19400 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
19401 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
19402 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
19403 * include/grub/misc.h (grub_halt): Declare as noreturn.
19404 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
19405 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
19406 (UART_ENABLE_FIFO_TRIGGER1): New definition.
19407 (UART_ENABLE_DTRRTS): Likewise.
19408 (UART_ENABLE_MODEM): Removed.
19409 (UART_ENABLE_OUT2): New const.
19410 * include/grub/term.h (grub_term_register_input_active): New function.
19411 (grub_term_register_output_active): Likewise.
19412 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
19413 argument.
19414 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
19415 (init_pci): New function.
19416 (grub_machine_init): Execute platform init when firmware. Init serial.
19417 (grub_halt): Implement.
19418 (grub_exit): Likewise.
19419 (grub_reboot): Likewise.
19420 * term/serial.c (serial_hw_init): Update macros.
19421 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
19422 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
19423 (image_targets): New target mipsel-yeeloong-flash.
19424 (generate_image): Support IMAGE_YEELOONG_FLASH.
19425 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
19426 (grub_video_sm712_setup): Init card.
19427 (grub_video_sm712_set_palette): Removed.
19428 * video/sm712_init.c: New file.
19429
19430 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
19431
19432 * Makefile.in (install-local): Temporarily prepend $(builddir) to
19433 PATH when running help2man and then run it on the unadorned
19434 executable names, rather than passing $(builddir)/* paths to
19435 help2man. This avoids the build directory ending up in generated
19436 manual pages.
19437
19438 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
19439
19440 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
19441 to avoid accidents when debugging with 'sh -x'.
19442 * util/grub-mkrescue.in: Likewise.
19443 * util/grub.d/00_header.in: Likewise.
19444 * util/grub.d/10_hurd.in: Likewise.
19445 * util/grub.d/10_kfreebsd.in: Likewise.
19446 * util/grub.d/10_linux.in: Likewise.
19447 * util/grub.d/10_netbsd.in: Likewise.
19448 * util/grub.d/10_windows.in: Likewise.
19449 * util/grub.d/20_linux_xen.in: Likewise.
19450 * util/grub.d/30_os-prober.in: Likewise.
19451 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19452
19453 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
19454
19455 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
19456 last character in the buffer.
19457 Reported by: Vladimir Serbinenko.
19458
19459 2010-06-29 Robert Millan <rmh@gnu.org>
19460
19461 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
19462 (Command-line and menu entry commands): Document `badram' command.
19463
19464 2010-06-28 Robert Millan <rmh@gnu.org>
19465
19466 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
19467 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
19468 command using ${GRUB_BADRAM} as parameter.
19469
19470 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
19471
19472 * docs/grub.texi (Device map): New section.
19473 (Themes): New section (stub).
19474 * Makefile.in (docs/grub.info): The info documentation now builds
19475 without errors. Make sure it stays that way.
19476
19477 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19478
19479 Use normal parser for menu entries.
19480 Reported by: Thomas Frauendorfer
19481
19482 * include/grub/parser.h (grub_parser_execute): Don't export.
19483 * normal/menu.c (grub_menu_execute_entry_real): New function.
19484 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
19485
19486 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
19487
19488 * docs/grub.texi (Embedded configuration): New section (replacing
19489 old "Preset Menu" stub).
19490 (Images): New section.
19491 (configfile): Note that any menu entries defined in `file' are shown
19492 immediately.
19493
19494 2010-06-28 Josh Triplett <josh@joshtriplett.org>
19495
19496 * mmap/i386/pc/mmap_helper.S: Set CF on return.
19497
19498 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
19499
19500 * util/grub-install.in: Add --debug-image= option.
19501
19502 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
19503
19504 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
19505 possible on Linux.
19506
19507 * util/deviceiter.c (check_device): Rename to ...
19508 (check_device_readable_unique): ... this. Update all callers.
19509 Maintain and check a list of which devices (by canonicalized name)
19510 have already been seen.
19511 (clear_seen_devices): New function.
19512 (compare_file_names) [__linux__]: New function.
19513 (grub_util_iterate_devices): Clear the list of seen devices on exit
19514 and (just in case) on entry.
19515 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
19516 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
19517 seen-devices list, superseded by general code in check_device.
19518
19519 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
19520
19521 * commands/cat.c (options): New variable.
19522 (grub_cmd_cat): Parse options. If the --dos option is given, print
19523 DOS-style "\r\n" line endings as simple newlines (Debian bug
19524 #586358).
19525 (GRUB_MOD_INIT): Use extcmd.
19526 (GRUB_MOD_FINI): Likewise.
19527 * docs/grub.texi (cat): Document --dos.
19528
19529 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19530
19531 XEN with Linux grub-mkconfig support.
19532
19533 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
19534 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
19535 GRUB_CMDLINE_XEN_DEFAULT.
19536 * util/grub.d/20_linux_xen.in: New file.
19537
19538 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19539
19540 Initialise VGA video on qemu ourselves.
19541
19542 * boot/i386/qemu/boot.S: Don't call 0xc000.
19543 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
19544 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
19545 (kernel_img_HEADERS): Add pci.h.
19546 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
19547 * configure.ac: Force unifont on qemu and yeeloong.
19548 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
19549 (grub_vga_palette_write): Use correct register.
19550 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
19551 Call grub_qemu_init_cirrus.
19552 * kern/i386/qemu/init.c: New file.
19553 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
19554
19555 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
19556
19557 2010-06-26 Pavel Roskin <proski@gnu.org>
19558
19559 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
19560 13.
19561
19562 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
19563
19564 * docs/grub.texi (Simple configuration): Explain that
19565 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
19566 set to `true' to disable their respective recovery entries, not
19567 merely set.
19568
19569 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
19570
19571 Make the `source' command slightly faster.
19572
19573 * normal/main.c (grub_normal_execute): Don't re-read list files when
19574 nested.
19575
19576 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
19577
19578 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
19579 field position and mask size to red fields from mode_info, not
19580 green.
19581 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
19582 Remove redundant tag->common.framebuffer_type assignment.
19583 Reported by: Seth Goldberg.
19584
19585 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
19586
19587 Sync up other versions of the Linux loader with Robert Millan's
19588 change of 2010-01-09, "Make loader output a bit more user-friendly".
19589
19590 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
19591 grub_dprintf().
19592 (grub_cmd_linux): Likewise.
19593 (grub_cmd_initrd): Likewise.
19594 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
19595 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19596
19597 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
19598
19599 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
19600 larger than MEMORY_MAP_SIZE.
19601
19602 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
19603
19604 Fix parallel build.
19605
19606 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
19607 dependency.
19608 * script/parser.y: #include grub_script.tab.h header.
19609
19610 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19611
19612 Support >3GiB and <16MiB RAM in i386-qemu.
19613
19614 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
19615 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
19616 (grub_lower_mem): Removed.
19617 (grub_upper_mem): Likewise.
19618 (mem_size): Made static.
19619 (above_4g): New variable.
19620 (grub_machine_mmap_init): Detect small mem_size and above_4g.
19621 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
19622 support.
19623
19624 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19625
19626 Cirrus 5446 and Bochs video cards support.
19627
19628 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
19629 video_bochs.mod
19630 (video_cirrus_mod_SOURCES): New variable.
19631 (video_cirrus_mod_CFLAGS): Likewise.
19632 (video_cirrus_mod_LDFLAGS): Likewise.
19633 (video_bochs_mod_SOURCES): Likewise.
19634 (video_bochs_mod_CFLAGS): Likewise.
19635 (video_bochs_mod_LDFLAGS): Likewise.
19636 * include/grub/vga.h: New file.
19637 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
19638 (grub_video_fb_set_page_t): New type.
19639 (grub_video_fb_setup): New prototype.
19640 (grub_video_fb_swap_buffers): Likewise.
19641 (grub_video_fb_get_info_and_fini): Likewise.
19642 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
19643 (CRTC_DATA_PORT): Likewise.
19644 (CRTC_CURSOR): Likewise.
19645 (CRTC_CURSOR_ADDR_HIGH): Likewise.
19646 (CRTC_CURSOR_ADDR_LOW): Likewise.
19647 (CRTC_CURSOR_DISABLE): Likewise.
19648 (update_cursor): Use grub_vga_cr_write.
19649 (grub_vga_text_setcursor): Likewise.
19650 * video/bochs.c: New file.
19651 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
19652 (palette): Likewise.
19653 (palette_size): Likewise.
19654 (framebuffer): New variable.
19655 (grub_video_fb_init): Use 'framebuffer'.
19656 (grub_video_fb_fini): Likewise.
19657 (grub_video_fb_get_info): Likewise.
19658 (grub_video_fb_get_palette): Likewise.
19659 (grub_video_fb_set_palette): Likewise.
19660 (grub_video_fb_set_viewport): Likewise.
19661 (grub_video_fb_get_viewport): Likewise.
19662 (grub_video_fb_map_color): Likewise.
19663 (grub_video_fb_map_rgb): Likewise.
19664 (grub_video_fb_map_rgba): Likewise.
19665 (grub_video_fb_unmap_color): Likewise.
19666 (grub_video_fb_unmap_color_int): Likewise.
19667 (grub_video_fb_fill_rect): Likewise.
19668 (grub_video_fb_blit_bitmap): Likewise.
19669 (grub_video_fb_blit_render_target): Likewise.
19670 (grub_video_fb_scroll): Likewise.
19671 (grub_video_fb_create_render_target): Likewise.
19672 (grub_video_fb_doublebuf_blit_init): Likewise.
19673 (grub_video_fb_set_active_render_target): Handle doublebuffering.
19674 (doublebuf_pageflipping_update_screen): New function.
19675 (doublebuf_pageflipping_init): Likewise.
19676 (grub_video_fb_setup): Likewise.
19677 (grub_video_fb_swap_buffers): Likewise.
19678 (grub_video_fb_get_info_and_fini): Likewise.
19679 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
19680 All users updated.
19681 (doublebuf_pageflipping_commit): Restructured into ...
19682 (doublebuf_pageflipping_set_page): ... this.
19683 (doublebuf_pageflipping_update_screen): Removed.
19684 (doublebuf_pageflipping_init): Likewise.
19685 (double_buffering_init): Likewise.
19686 (grub_video_vbe_setup): Use grub_video_fb_setup.
19687 (grub_video_vbe_swap_buffers): Removed.
19688 (grub_video_vbe_set_active_render_target): Likewise.
19689 (grub_video_vbe_get_active_render_target): Likewise.
19690 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
19691 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
19692 grub_video_fb_set_active_render_target and
19693 grub_video_fb_get_active_render_target.
19694 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
19695 (SEQUENCER_DATA_PORT): Likewise.
19696 (MAP_MASK_REGISTER): Likewise.
19697 (CRTC_ADDR_PORT): Likewise.
19698 (CRTC_DATA_PORT): Likewise.
19699 (START_ADDR_HIGH_REGISTER): Likewise.
19700 (START_ADDR_LOW_REGISTER): Likewise.
19701 (GRAPHICS_ADDR_PORT): Likewise.
19702 (GRAPHICS_DATA_PORT): Likewise.
19703 (READ_MAP_REGISTER): Likewise.
19704 (INPUT_STATUS1_REGISTER): Likewise.
19705 (INPUT_STATUS1_VERTR_BIT): Likewise.
19706 (get_map_mask): Use grub_vga_sr_read.
19707 (set_map_mask): Use grub_vga_sr_write.
19708 (set_read_map): Use grub_vga_gr_write.
19709 (set_start_address): Use grub_vga_cr_write.
19710 * video/sm712.c (framebuffer): Remove leftover fields.
19711
19712 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
19713
19714 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
19715 setting GRUB_VIDEO_BACKEND. Make it available as a user override
19716 instead. Replace the gfxterm backend check with a check that
19717 ${GRUB_PREFIX}/video.lst is non-empty.
19718 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
19719 again.
19720 (load_video): New generated function. Call it before loading
19721 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
19722 * util/grub.d/10_linux.in (linux_entry): Call load_video.
19723 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
19724 * docs/grub.texi (Simple configuration): Document
19725 GRUB_VIDEO_BACKEND.
19726
19727 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19728
19729 Use video functions in linux and xnu loaders.
19730
19731 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
19732 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
19733 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
19734 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
19735 loader/i386/pc/linux.c.
19736 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
19737 (find_line_len): Removed.
19738 (find_framebuf): Likewise.
19739 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
19740 * loader/i386/efi/xnu.c: Removed.
19741 * loader/i386/pc/xnu.c: Moved from here...
19742 * loader/i386/xnu.c: ...here.
19743
19744 Enable priorities in video drivers.
19745
19746 * include/grub/video.h (grub_video_adapter_prio_t): New type.
19747 (grub_video_adapter): New field prio.
19748 (grub_video_register): Respect prio when inserting.
19749 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
19750 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
19751 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
19752 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
19753 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
19754 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
19755 * video/sm712.c (grub_video_sm712_adapter): Likewise.
19756
19757 Fix SDL driver ID.
19758
19759 * include/grub/video.h (grub_video_driver_id_t): New value
19760 GRUB_VIDEO_DRIVER_SDL.
19761 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
19762
19763 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19764
19765 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
19766 argument to printf.
19767 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19768
19769 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19770
19771 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
19772 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19773
19774 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19775
19776 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
19777 directly, and recommend grub-install instead.
19778 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19779
19780 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19781
19782 Fix i386-pc prefix handling with nested partitions (Debian bug
19783 #585068). Note that the case where the core image is booted using
19784 multiboot and relocated from its original location still requires
19785 more work.
19786
19787 * kern/i386/pc/init.c (make_install_device): If the prefix starts
19788 with "(,", fill the boot drive in between those two characters, but
19789 expect that a full partition specification including partition map
19790 names will follow.
19791 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
19792 specified, write a prefix without the drive name but including a
19793 full partition specification.
19794
19795 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
19796
19797 * util/grub-mkconfig.in: Ignore non-option arguments, for
19798 compatibility with older versions (before 2010-06-12) which did the
19799 same. In particular, this makes it easier to ship an update-grub
19800 wrapper which is compatible with that used with GRUB Legacy (Debian
19801 bug #586056).
19802
19803 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19804
19805 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
19806 for manual page generation.
19807
19808 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19809
19810 * po/POTFILES: Remove leftover commands/handler.c.
19811
19812 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
19813
19814 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
19815 left this script non-functional.
19816
19817 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
19818
19819 * docs/man/grub-emu.h2m: New file.
19820
19821 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
19822
19823 * docs/grub.texi (Commands): Document reduced command set in rescue
19824 mode.
19825 (cpuid): New section.
19826
19827 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
19828
19829 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
19830 new partition naming style.
19831 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
19832
19833 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
19834
19835 Add "-o grub.iso" like cmdline options support.
19836
19837 * util/grub-install.in: Improve cmdline option parsing.
19838 * util/grub-mkconfig.in: Likewise.
19839 * util/grub-mkrescue.in: Likewise.
19840 * util/grub-reboot.in: Likewise.
19841 * util/grub-set-default.in: Likewise.
19842 * util/i386/efi/grub-install.in: Likewise.
19843 * util/ieee1275/grub-install.in: Likewise.
19844 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19845
19846 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19847
19848 * .bzrignore: Ignore 41_custom.
19849
19850 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19851
19852 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
19853
19854 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19855
19856 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
19857 prototype declarations.
19858
19859 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
19860 generating fs, partmap, and video lists.
19861 * include/grub/fs.h (grub_fs_register): Omit prototype if
19862 GRUB_LST_GENERATOR is defined.
19863 * include/grub/partition.h (grub_partition_map_register): Likewise.
19864 * include/grub/video.h (grub_video_register): Likewise.
19865
19866 2010-06-12 Javier Martín <lordhabbit@gmail.com>
19867
19868 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
19869
19870 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19871
19872 * util/grub-mkrescue.in: Support --xorriso argument.
19873
19874 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19875
19876 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
19877 Suggested by: Thomas Schmitt.
19878
19879 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19880
19881 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
19882 Suggested by: Thomas Schmitt.
19883
19884 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19885
19886 custom.cfg support.
19887
19888 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
19889 * util/grub.d/41_custom.in: New file.
19890
19891 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19892
19893 * util/grub-mkrescue.in (make_image): Remove sh module, which has
19894 been merged back into normal.
19895
19896 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
19897
19898 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
19899 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
19900
19901 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
19902
19903 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
19904 when generating manual pages.
19905 * docs/man/grub-bin2h.h2m: New file.
19906 * docs/man/grub-editenv.h2m: New file.
19907 * docs/man/grub-fstest.h2m: New file.
19908 * docs/man/grub-install.h2m: New file.
19909 * docs/man/grub-macho2img.h2m: New file.
19910 * docs/man/grub-mkconfig.h2m: New file.
19911 * docs/man/grub-mkdevicemap.h2m: New file.
19912 * docs/man/grub-mkfont.h2m: New file.
19913 * docs/man/grub-mkimage.h2m: New file.
19914 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
19915 * docs/man/grub-mkrelpath.h2m: New file.
19916 * docs/man/grub-mkrescue.h2m: New file.
19917 * docs/man/grub-ofpathname.h2m: New file.
19918 * docs/man/grub-pe2elf.h2m: New file.
19919 * docs/man/grub-probe.h2m: New file.
19920 * docs/man/grub-reboot.h2m: New file.
19921 * docs/man/grub-script-check.h2m: New file.
19922 * docs/man/grub-set-default.h2m: New file.
19923 * docs/man/grub-setup.h2m: New file.
19924
19925 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
19926
19927 Use FOR_* macros instead of *_iterate whenever possible.
19928
19929 * commands/handler.c: Removed.
19930 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
19931 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
19932 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19933 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
19934 (grub_probe_SOURCES): Remove kern/parser.c.
19935 (util/grub-script-check.c_DEPENDENCIES): Removed.
19936 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
19937 and grub_script_check_init.c.
19938 (grub_script_check_init.lst): Removed.
19939 (grub_script_check_init.h): Likewise.
19940 (grub_script_check_init.c): Likewise.
19941 (pkglib_MODULES): Remove handler.mod and sh.mod.
19942 (handler_mod_SOURCES): Removed.
19943 (handler_mod_CFLAGS): Likewise.
19944 (handler_mod_LDFLAGS): Likewise.
19945 (normal_mod_SOURCES): Remove normal/handler.c.
19946 Add script/main.c, script/script.c, script/execute.c,
19947 script/function.c, script/lexer.c, grub_script.tab.c
19948 and grub_script.yy.c.
19949 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19950 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19951 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
19952 (grub_setup_SOURCES): Remove kern/parser.c.
19953 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19954 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
19955 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19956 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19957 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19958 (grub_setup_SOURCES): Remove kern/parser.c.
19959 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19960 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
19961 * include/grub/command.h (grub_command_iterate): Removed.
19962 (FOR_COMMANDS): New macro.
19963 * include/grub/dl.h (grub_dl): New member next.
19964 (grub_dl_iterate): Removed.
19965 (grub_dl_head): New variable declaration.
19966 (FOR_DL_MODULES): New macro.
19967 * include/grub/fs.h: Include list.h.
19968 (grub_fs): Make next first element.
19969 (grub_fs_list): New variable declaration.
19970 (grub_fs_register): Make inline.
19971 (grub_fs_unregister): Likewise.
19972 (grub_fs_iterate): Removed.
19973 (FOR_FILESYSTEMS): New macro.
19974 * include/grub/handler.h: Removed.
19975 * include/grub/list.h (grub_list_hook_t): Removed.
19976 (grub_list_test_t): Likewise.
19977 (grub_list_pop): Likewise.
19978 (grub_list_iterate): Likewise.
19979 (grub_list_insert): Likewise.
19980 (FOR_LIST_ELEMENTS): New macro.
19981 * include/grub/parser.h (grub_parser_class): Removed.
19982 (grub_parser_register): Likewise.
19983 (grub_parser_unregister): Likewise.
19984 (grub_parser_get_current): Likewise.
19985 (grub_parser_set_current): Likewise.
19986 (grub_register_rescue_parser): Likewise.
19987 (grub_rescue_parse_line): New function.
19988 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
19989 * include/grub/script_sh.h (grub_script_function_list): New variable
19990 declaration.
19991 (FOR_SCRIPT_FUNCTIONS): New macro.
19992 (grub_script_function_iterate): Removed.
19993 (grub_normal_parse_line): New prototype.
19994 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
19995 (FOR_DISABLED_TERM_INPUTS): Likewise.
19996 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19997 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19998 * include/grub/video.h (grub_video_adapter): Move 'next' to first
19999 element.
20000 (grub_video_register): Inline.
20001 (grub_video_unregister): Likewise.
20002 (grub_video_adapter_list): New variable declaration.
20003 (grub_video_iterate): Removed.
20004 (FOR_VIDEO_ADAPTERS): New macro.
20005 * kern/dl.c (grub_dl_list): Removed. All users updated.
20006 (grub_dl_iterate): Removed.
20007 * kern/fs.c (grub_fs_list): Make global.
20008 (grub_fs_register): Removed.
20009 (grub_fs_unregister): Likewise.
20010 (grub_fs_iterate): Likewise.
20011 * kern/handler.c: Removed.
20012 * kern/list.c (grub_list_pop): Removed.
20013 (grub_list_iterate): Likewise.
20014 (grub_list_insert): Likewise.
20015 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
20016 (grub_prio_list_insert): Don't use grub_list_insert.
20017 * kern/main.c (grub_register_rescue_parser): Don't call
20018 grub_register_rescue_parser.
20019 * kern/parser.c (grub_parser_class): Removed.
20020 (grub_parser_execute): Use grub_rescue_parse_line.
20021 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
20022 (grub_rescue_parser): Removed.
20023 (grub_register_rescue_parser): Likewise.
20024 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
20025 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
20026 (grub_auth_check_authentication): Likewise.
20027 * normal/completion.c (iterate_command): Removed.
20028 (grub_normal_do_completion): Use FOR_COMMANDS.
20029 * normal/handler.c: Removed.
20030 * normal/main.c (read_config_file): Remove parser changing.
20031 (grub_normal_execute): Don't call read_handler_list.
20032 (grub_normal_read_line_real): Statically allocate prompt.
20033 (grub_cmdline_run): Use grub_normal_parse_line.
20034 (GRUB_MOD_FINI): Don't call free_handler_list.
20035 * normal/menu_entry.c (run): Likewise.
20036 * script/function.c (grub_script_function_list): Make global.
20037 (grub_script_function_iterate): Removed.
20038 * script/main.c (grub_normal_parse_line): Make global.
20039 (grub_sh_parser): Removed.
20040 (GRUB_MOD_INIT): Likewise.
20041 (GRUB_MOD_FINI): Likewise.
20042 * tests/lib/functional_test.c (grub_functional_test): Use
20043 FOR_LIST_ELEMENTS.
20044 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
20045 (grub_test_run): Use FOR_LIST_ELEMENTS.
20046 * tests/lib/unit_test.c (main): Likewise.
20047 * util/deviceiter.c (grub_util_iterate_devices): Don't use
20048 grub_list_pop.
20049 * util/grub-fstest.c (grub_term_input_class): Removed.
20050 (grub_term_output_class): Likewise.
20051 * util/grub-probe.c: Likewise.
20052 * util/i386/pc/grub-setup.c: Likewise.
20053 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20054 * util/grub-script-check.c (main): Don't call grub_init_all and
20055 grub_fini_all.
20056 * video/video.c (grub_video_adapter_list): Make global.
20057 (grub_video_register): Removed.
20058 (grub_video_unregister): Likewise.
20059 (grub_video_iterate): Likewise.
20060
20061 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
20062
20063 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
20064 reported by Henrique Ferreiro.
20065
20066 2010-06-09 Robert Millan <rmh@gnu.org>
20067
20068 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
20069 ones, when both are available.
20070
20071 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20072
20073 Make --version uniform and avoid hard-coded program name.
20074
20075 * util/grub-mkimage.c (main): Use `program_name' instead of
20076 hard-coded string.
20077 * util/i386/pc/grub-setup.c (main): Likewise.
20078 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
20079 * util/grub-install.in: Save the basename of $0 in $self, and use the
20080 latter in informational messages. Use the same format for --version
20081 as the binary programs.
20082 * util/grub-mkconfig.in: Likewise.
20083 * util/grub-mkrescue.in: Likewise.
20084 * util/grub-reboot.in: Likewise.
20085 * util/grub-set-default.in: Likewise.
20086 * util/i386/efi/grub-install.in: Likewise.
20087 * util/ieee1275/grub-install.in: Likewise.
20088 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20089
20090 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20091
20092 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
20093 embedding area. Use <= instead of == when checking for non-emptiness.
20094
20095 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20096
20097 * configure.ac: Add `.' to the directories searched for unifont.
20098
20099 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
20100
20101 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
20102 grub_script.yy.h.
20103
20104 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
20105
20106 * docs/grub.texi (History): Expand to cover GRUB 2.
20107 (Serial terminal): Refer to `terminal_input' and `terminal_output'
20108 commands, not `terminal'.
20109 (serial): Likewise.
20110 (terminal_input): New section.
20111 (terminal_output): New section.
20112 (uppermem): New section (stub).
20113 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
20114
20115 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
20116
20117 * docs/grub.texi (Security): Menu entries are unrestricted by
20118 default, not restricted to superusers as I had previously thought.
20119 Reword to account for this.
20120
20121 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20122
20123 * kern/emu/misc.c (device_mapper_null_log): New function.
20124 (grub_device_mapper_supported): New function.
20125 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
20126 prototype.
20127 * kern/emu/hostdisk.c (find_partition_start): Check whether
20128 device-mapper is supported before trying to use it.
20129 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
20130
20131 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20132
20133 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
20134 (File name syntax): Likewise.
20135 (help): --all is no longer supported in GRUB 2. Be more precise
20136 about pattern matching.
20137
20138 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20139
20140 * normal/completion.c (grub_normal_do_completion): When completing
20141 arguments to "set" and the current word contains an equals sign,
20142 skip to after the equals sign before starting completion.
20143
20144 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20145
20146 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
20147
20148 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20149
20150 * docs/grub.texi (Network): New section.
20151 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
20152 `(nd)' as in GRUB Legacy.
20153 (pxe_unload): New section.
20154
20155 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20156
20157 * docs/grub.texi (Troubleshooting): `echo' is not usually available
20158 in the rescue shell, so recommend using `set' instead. Thanks,
20159 Jordan Uggla.
20160
20161 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20162
20163 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
20164 (password): New section.
20165 (password_pbkdf2): New section.
20166 (search): New section.
20167 (Security): New section.
20168 (Troubleshooting): New section, currently very incomplete.
20169 (Invoking grub-mkpasswd-pbkdf2): New section.
20170 (Internals): New section, currently very incomplete.
20171
20172 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20173
20174 * util/grub.d/00_header.in: Add some more quoting (of
20175 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
20176 work again.
20177 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
20178
20179 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20180
20181 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
20182 to `count', fixing variable shadowing that broke the -c option.
20183
20184 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
20185
20186 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
20187 in case they contain spaces.
20188
20189 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
20190
20191 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
20192 "part_" to partmap module names, in line with grub-install.
20193 Reported by: Jindřich Makovička (Debian bug #584426).
20194
20195 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
20196
20197 * util/grub-mkimage.c: Make target-related error messages slightly
20198 more helpful; -O talks about "format". Explicitly point to the use
20199 of -O if no target is specified.
20200 Reported by: Didier Raboud (Debian bug #584415).
20201
20202 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
20203
20204 * INSTALL: Document several build requirements for optional features
20205 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
20206
20207 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
20208
20209 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
20210 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
20211 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
20212
20213 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20214
20215 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
20216 Thanks to Jordan Uggla for spotting this.
20217
20218 2010-06-02 Aleš Nesrsta <starous@volny.cz>
20219
20220 Finally make USB usable.
20221
20222 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
20223 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
20224 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
20225 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
20226 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
20227 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
20228 (GRUB_OHCI_FSMPS): Likewise.
20229 (GRUB_OHCI_PERIODIC_START): Likewise.
20230 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
20231 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
20232 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
20233 (GRUB_OHCI_SET_PORT_RESET): Likewise.
20234 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
20235 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
20236 (grub_ohci_transaction): Likewise.
20237 (grub_ohci_transfer): Improve condition detection algorithms.
20238 Handle toggle property. Program the transactions correctly.
20239 Improve error handling. Various important fixups.
20240 (grub_ohci_portstatus): Put register writes in right order.
20241 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
20242 (grub_uhci_transfer): Don't show "failed" message on success.
20243 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
20244 array.
20245 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
20246 determine its size.
20247 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
20248 before initialization is completed. Use IN direction for empty
20249 transfers. Use last_trans and compute toggle.
20250 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
20251 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
20252 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
20253 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
20254 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
20255 (grub_usb_device): Increase toggle to 256.
20256 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
20257 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
20258 GRUB_USBMS_SUBCLASS_SFF8070.
20259 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
20260 (grub_scsi_inquiry): New member page and alloc_length.
20261 (grub_scsi_request_sense): New structure.
20262 (grub_scsi_request_sense_data): Likewise.
20263 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
20264 control.
20265 * disk/scsi.c (grub_scsi_request_sense): New function.
20266 (grub_scsi_test_unit_ready): Likewise.
20267 (grub_scsi_inquiry): Fill new fields.
20268 (grub_scsi_read_capacity): Likewise.
20269 (grub_scsi_read10): Add request sense at the end.
20270 (grub_scsi_read12): Likewise.
20271 (grub_scsi_write10): Likewise.
20272 (grub_scsi_write12): Likewise.
20273 (grub_scsi_open): Add Test Unit Ready.
20274 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
20275 Support additional subclasses. Con't clear halt yet. Activate the
20276 proper config. Calculate LUNs correctly.
20277 (grub_usbms_transfer): Various important fixups.
20278
20279 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20280
20281 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
20282 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
20283 (grub_ohci_fini_hw): New function.
20284 (grub_ohci_restore_hw): Likewise.
20285 (GRUB_MOD_INIT(ohci)): Register preboot hook.
20286 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
20287 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
20288
20289 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20290
20291 Dedicated DMA allocations.
20292
20293 * bus/pci.c (grub_memalign_dma32): New function
20294 (grub_dma_free): Likewise.
20295 (grub_dma_get_virt): Likewise.
20296 (grub_dma_get_phys): Likewise.
20297 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
20298 (grub_ohci_pci_iter): Use dma32_alloc.
20299 (grub_ohci_transfer): Likewise.
20300 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20301 (grub_usb_bulk_readwrite): Likewise.
20302 * include/grub/pci.h: Add declarations.
20303
20304 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20305
20306 CS5536 support.
20307
20308 * bus/cs5536.c: New file.
20309 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
20310 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
20311 (cs5536_mod_SOURCES): New variable.
20312 (cs5536_mod_CFLAGS): Likewise.
20313 (cs5536_mod_LDFLAGS): Likewise.
20314 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
20315 machine/pci.h.
20316 (kernel_img_SOURCES): Add bus/cs5536.c.
20317 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
20318 usb_keyboard.mod.
20319 (usb_mod_SOURCES): New variable.
20320 (usb_mod_CFLAGS): New variable.
20321 (usb_mod_LDFLAGS): New variable.
20322 (usbtest_mod_SOURCES): New variable.
20323 (usbtest_mod_CFLAGS): New variable.
20324 (usbtest_mod_LDFLAGS): New variable.
20325 (ohci_mod_SOURCES): New variable.
20326 (ohci_mod_CFLAGS): New variable.
20327 (ohci_mod_LDFLAGS): New variable.
20328 (usbms_mod_SOURCES): New variable.
20329 (usbms_mod_CFLAGS): New variable.
20330 (usbms_mod_LDFLAGS): New variable.
20331 (usb_keyboard_mod_SOURCES): New variable.
20332 (usb_keyboard_mod_CFLAGS): New variable.
20333 (usb_keyboard_mod_LDFLAGS): New variable.
20334 * include/grub/smbus.h: New file.
20335 * include/grub/cs5536.h: New file.
20336
20337 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20338
20339 * util/grub.d/00_header.in: Add safety check to make sure that
20340 ${locale_dir} exists before trying to probe it.
20341
20342 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20343
20344 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
20345 per the GNU Coding Standards; this is now too obscure to be worth
20346 documenting.
20347 (QNX): Likewise.
20348 (chainloader): Remove cross-reference to `SCO UnixWare'.
20349
20350 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20351
20352 * docs/grub.texi (Chain-loading): New section.
20353 (DOS/Windows): New section, borrowed from GRUB Legacy with details
20354 adjusted for GRUB 2.
20355 (SCO UnixWare): Likewise.
20356 (QNX): Likewise.
20357 (chainloader): Add reference to `Block list syntax'.
20358 (drivemap): New section.
20359 (parttool): New section.
20360
20361 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20362
20363 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
20364 the grub shell'.
20365 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
20366 (Installing GRUB using grub-install): Remove reference to the grub
20367 shell; mention `grub-mkimage' and `grub-setup' instead.
20368 (Invoking grub-install): Likewise.
20369 (Interface): Add reference to `Menu entry editor'.
20370 (serial): Remove `--device' option.
20371
20372 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20373
20374 * docs/grub.texi (Configuration): New section, documenting
20375 configuration file generation using grub-mkconfig. I've left a slot
20376 for documenting the full shell scripting format but have not yet
20377 started on writing that up.
20378 (Invoking grub-mkconfig): New section.
20379
20380 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20381
20382 * docs/grub.texi (direntry): Remove grub-terminfo reference.
20383 (GNU GRUB manual): Likewise.
20384 (General commands): Update description of `terminfo' for GRUB 2.
20385
20386 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20387
20388 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
20389 (GRUB_MOD_INIT): Fix capitalisation.
20390 * docs/grub.texi (Command-line and menu entry commands): Document
20391 gettext and gptsync commands.
20392
20393 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20394
20395 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
20396 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
20397
20398 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
20399
20400 Add btrfs probing support, currently only in the single-device case.
20401
20402 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
20403 function.
20404 (grub_guess_root_device): Call find_root_device_from_mountinfo
20405 before looking in /dev.
20406
20407 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20408
20409 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
20410 GRUB_DISK_SIZE_UNKNOWN.
20411 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
20412
20413 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
20414
20415 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
20416 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
20417 corrupted or not synced properly.
20418
20419 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20420
20421 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
20422 Reported by: Seth Goldberg.
20423
20424 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20425
20426 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
20427 addition of dest.
20428 Reported by: Seth Goldberg.
20429
20430 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20431
20432 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
20433 Reported by: Seth Goldberg.
20434
20435 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20436
20437 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
20438 64-bit address as signed on MIPS.
20439
20440 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
20441
20442 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
20443 to the empty string.
20444
20445 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
20446
20447 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
20448
20449 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
20450 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
20451 * kern/misc.c (__enable_execute_stack): Disable on
20452 GRUB_MACHINE_EMU.
20453
20454 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
20455
20456 Make grub-probe work with symbolic links under /dev/mapper as well
20457 as with real block devices. The Linux world seems to be (at best)
20458 in transition here, and GRUB shouldn't get caught in the middle.
20459
20460 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
20461 /dev/mapper.
20462
20463 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
20464
20465 * util/grub-script-check.c (main): Ensure defined behaviour on empty
20466 input files (in which case exit zero).
20467
20468 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
20469
20470 * kern/emu/misc.c (canonicalize_file_name): realpath can still
20471 return NULL for various reasons even if it has a maximum-length
20472 buffer: for example, there might be a symlink loop, or the path
20473 might exceed PATH_MAX. If this happens, return NULL.
20474
20475 2010-05-27 Robert Millan <rmh@gnu.org>
20476
20477 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
20478 partmap module to handle cross-partmap setups.
20479 Reported by Orestes Mas. Gràcies!
20480
20481 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
20482
20483 * util/grub-mkrescue.in: Initialise override_dir rather than
20484 assuming that it's unset or empty in the environment.
20485
20486 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
20487
20488 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
20489 variable index into p_index to suppress a warning with -Wshadow.
20490
20491 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
20492
20493 * INSTALL: Added flex >= 2.5.35 requirement.
20494
20495 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20496
20497 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
20498
20499 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20500
20501 cmostest support.
20502
20503 * commands/i386/cmostest.c: New file.
20504 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
20505 (cmostest_mod_SOURCES): New variable.
20506 (cmostest_mod_CFLAGS): Likewise.
20507 (cmostest_mod_LDFLAGS): Likewise.
20508 * conf/i386-pc.rmk: Likewise.
20509 * docs/grub.texi (Vendor power-on keys): New section.
20510 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
20511 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
20512 and GRUB_BUTTON_CMOS_ADDRESS.
20513 * util/grub.d/00_header.in: Handle powering-on by separate button.
20514
20515 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20516
20517 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
20518 Removed drawing_scrollbar argument. All users updated
20519 Fixes #29792.
20520 Reported by Jo Shields
20521
20522 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20523
20524 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
20525 buffer since gfxterm handles double repaint.
20526
20527 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20528
20529 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
20530 * term/gfxterm.c (real_scroll): Likewise.
20531
20532 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20533
20534 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
20535 before calling BIOS.
20536
20537 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20538
20539 * include/grub/i18n.h: Always enable grub_gettext.
20540
20541 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20542
20543 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
20544 partition naming style.
20545
20546 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
20547
20548 * util/grub-mkconfig.in: Fix handling of -o so that it works when
20549 not the first option.
20550
20551 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
20552
20553 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
20554
20555 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
20556
20557 * util/misc.c: Move inclusion of <limits.h> to ...
20558 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
20559
20560 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
20561
20562 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
20563 Fix merge error in NetBSD code.
20564 (find_partition_start) [__NetBSD__]: Likewise.
20565
20566 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
20567
20568 Fix grub-mkrescue usage unit testing.
20569
20570 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
20571
20572 2010-05-18 Christian Franke <franke@computer.org>
20573
20574 * util/grub.d/10_windows.in: Use path names instead of
20575 drive letters to prevent warning from Cygwin 1.7.
20576 Add drivemap command to menuentry if needed.
20577
20578 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
20579
20580 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
20581 gnumach and gnumach.gz.
20582
20583 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20584
20585 * include/grub/i18n.h (gettext): Inline instead of using #define.
20586 (grub_gettext): Likewise.
20587 (_): Likewise.
20588
20589 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20590
20591 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
20592 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
20593 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
20594 (main): Add a slash after pkglibdirroot.
20595
20596 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20597
20598 * util/grub-install.in: Add missing "in" keyword.
20599
20600 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20601
20602 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
20603 Reported by: Seth Goldberg.
20604
20605 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20606
20607 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
20608
20609 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
20610
20611 * configure.ac: Check for Linux device-mapper support.
20612
20613 * util/hostdisk.c (device_is_mapped): New function.
20614 (find_partition_start): New function, partly broken out from
20615 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
20616 device-mapper support added.
20617 (linux_find_partition): Use find_partition_start.
20618 (convert_system_partition_to_system_disk): Add `st' argument.
20619 Support Linux /dev/mapper/* devices if device-mapper support is
20620 available; only DM-RAID devices are understood at present.
20621 (find_system_device): Add `st' argument. Pass it to
20622 convert_system_partition_to_system_disk.
20623 (grub_util_biosdisk_get_grub_dev): Pass stat result to
20624 find_system_device and convert_system_partition_to_system_disk. Use
20625 find_partition_start.
20626
20627 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
20628 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
20629 * util/deviceiter.c [__linux__]: Define MINOR.
20630 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
20631 * util/mkdevicemap.c (grub_putchar): New function.
20632 (grub_getkey): New function.
20633 (grub_refresh): New function.
20634 (main): Set debug=all if -v -v is used.
20635
20636 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
20637
20638 Fix build with non-GNU libcs.
20639
20640 * util/misc.c (canonicalize_file_name): Move to ...
20641 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
20642 grub_make_system_path_relative_to_its_root.
20643
20644 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
20645
20646 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
20647 we handle finding grub-mkimage. Default to finding grub-mkimage in
20648 ${bindir} with program_transform_name applied, and provide a
20649 --grub-mkimage option to override this.
20650
20651 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20652
20653 Remove grub-mkisofs.
20654
20655 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
20656 (grub_mkisofs_SOURCES): Removed.
20657 (grub_mkisofs_CFLAGS): Removed.
20658 * util/mkisofs/defaults.h: Removed.
20659 * util/mkisofs/eltorito.c: Likewise.
20660 * util/mkisofs/exclude.h: Likewise.
20661 * util/mkisofs/hash.c: Likewise.
20662 * util/mkisofs/include/: Likewise.
20663 * util/mkisofs/include/fctldefs.h: Likewise.
20664 * util/mkisofs/include/mconfig.h: Likewise.
20665 * util/mkisofs/include/prototyp.h: Likewise.
20666 * util/mkisofs/include/statdefs.h: Likewise.
20667 * util/mkisofs/iso9660.h: Likewise.
20668 * util/mkisofs/joliet.c: Likewise.
20669 * util/mkisofs/match.c: Likewise.
20670 * util/mkisofs/match.h: Likewise.
20671 * util/mkisofs/mkisofs.c: Likewise.
20672 * util/mkisofs/mkisofs.h: Likewise.
20673 * util/mkisofs/msdos_partition.h: Likewise.
20674 * util/mkisofs/multi.c: Likewise.
20675 * util/mkisofs/name.c: Likewise.
20676 * util/mkisofs/rock.c: Likewise.
20677 * util/mkisofs/tree.c: Likewise.
20678 * util/mkisofs/write.c: Likewise.
20679
20680 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20681
20682 Unify grub-mkimage accross platforms.
20683
20684 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
20685 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
20686 (grub_mkelfimage_SOURCES): Removed.
20687 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
20688 (util/grub-mkimage.c_DEPENDENCIES): .. this.
20689 (bin_UTILITIES): Add grub-mkimage.
20690 (grub_mkimage_SOURCES): New variable.
20691 (kernel_img_HEADERS): Remove machine/kernel.h.
20692 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
20693 (pkglib_PROGRAMS): Add kernel.img.
20694 (kernel_img_HEADERS): Add machine/kernel.h.
20695 (kernel_img_FORMAT): Removed.
20696 (bin_UTILITIES): Remove grub-mkimage.
20697 (grub_mkimage_SOURCES): Removed.
20698 (grub_mkimage_CFLAGS): Likewise.
20699 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20700 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
20701 (pkglib_PROGRAMS): Add kernel.img.
20702 (bin_UTILITIES): Remove grub-mkimage.
20703 (grub_mkimage_SOURCES): Removed.
20704 (grub_mkimage_CFLAGS): Likewise.
20705 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20706 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
20707 (pkglib_PROGRAMS): Add kernel.img.
20708 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
20709 (pkglib_PROGRAMS): Add kernel.img.
20710 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
20711 (grub_mkimage_SOURCES): Removed.
20712 (grub_mkimage_CFLAGS): Likewise.
20713 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20714 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
20715 (pkglib_PROGRAMS): Add kernel.img.
20716 (bin_UTILITIES): Remove grub-mkimage.
20717 (grub_mkimage_SOURCES): Removed.
20718 (grub_mkimage_CFLAGS): Likewise.
20719 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20720 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
20721 (grub_mkimage_SOURCES): Removed.
20722 (grub_mkimage_CFLAGS): Likewise.
20723 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20724 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
20725 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
20726 (grub_pe32_optional_header): ... this.
20727 (grub_pe64_optional_header): ... and this. All users updated.
20728 (GRUB_PE32_PE32_MAGIC): Split into ..
20729 (GRUB_PE32_PE32_MAGIC): .. this.
20730 (GRUB_PE32_PE64_MAGIC): .. and this.
20731 (GRUB_PE32_SIGNATURE_SIZE): New definition.
20732 * include/grub/elf.h (PT_GNU_STACK): New definition.
20733 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
20734 * include/grub/i386/efi/kernel.h: Likewise.
20735 * include/grub/i386/kernel.h: Likewise.
20736 * include/grub/i386/pc/kernel.h: Likewise.
20737 * include/grub/i386/qemu/boot.h: Likewise.
20738 * include/grub/mips/kernel.h: Likewise.
20739 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20740 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20741 * include/grub/powerpc/kernel.h: Likewise.
20742 * include/grub/sparc64/ieee1275/boot.h: Likewise.
20743 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20744 * include/grub/sparc64/kernel.h: Likewise.
20745 * include/grub/x86_64/efi/kernel.h: Likewise.
20746 * include/grub/x86_64/kernel.h: Likewise.
20747 * include/grub/offsets.h: New file.
20748 * include/grub/kernel.h (grub_module_info): Split into ...
20749 (grub_module_info32): ... this.
20750 (grub_module_info64): ... and this.
20751 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
20752 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
20753 (grub_boot_blocklist): Moved from here ...
20754 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
20755 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
20756 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
20757 * include/grub/types.h (grub_target_to_host16): Removed.
20758 (grub_target_to_host32): Likewise.
20759 (grub_target_to_host64): Likewise.
20760 (grub_host_to_target16): Likewise.
20761 (grub_host_to_target32): Likewise.
20762 (grub_host_to_target64): Likewise.
20763 (grub_host_to_target_addr): Likewise.
20764
20765 Support grub-mkrescue for efi, coreboot and qemu.
20766
20767 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
20768 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
20769 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
20770 * util/grub-mkrawimage.c: Moved from here ...
20771 * util/grub-mkimage.c: ... here. All users updated.
20772 (ALIGN_ADDR): Use image_target.
20773 (TARGET_NO_FIELD): New const.
20774 (image_target_desc): New type.
20775 (image_targets): New array.
20776 (grub_target_to_host64): Use image_target.
20777 (grub_target_to_host32): Likewise.
20778 (grub_target_to_host16): Likewise.
20779 (grub_host_to_target64): Likewise.
20780 (grub_host_to_target32): Likewise.
20781 (grub_host_to_target16): Likewise.
20782 (grub_host_to_target_addr): Likewise.
20783 (generate_image): Handle multiimage.
20784 (main): Require -O parameter. All users updated.
20785 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
20786 util/efi/grub-mkimage.c
20787 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
20788 New option --rom-directory.
20789 Use xorriso.
20790 * util/i386/efi/grub-mkimage.c: Removed.
20791 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
20792 (grub_target_to_host32): Likewise.
20793 (grub_target_to_host64): Likewise.
20794 (grub_host_to_target16): Likewise.
20795 (grub_host_to_target32): Likewise.
20796 (grub_host_to_target64): Likewise.
20797 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
20798 (grub_target_to_host32): Likewise.
20799 (grub_target_to_host64): Likewise.
20800 (grub_host_to_target16): Likewise.
20801 (grub_host_to_target32): Likewise.
20802 (grub_host_to_target64): Likewise.
20803
20804 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
20805
20806 Source tree is reorganized for emu build.
20807
20808 * include/grub/util/console.h: Move from here...
20809 * include/grub/emu/console.h: ...to here.
20810 * include/grub/util/getroot.h: Move from here...
20811 * include/grub/emu/getroot.h: ...to here.
20812 * include/grub/util/hostdisk.h: Move from here...
20813 * include/grub/emu/hostdisk.h: ...to here.
20814 * util/console.c: Move from here...
20815 * kern/emu/console.c: ...to here.
20816 * util/getroot.c: Move from here...
20817 * kern/emu/getroot.c: ...to here.
20818 * util/grub-emu.c: Move from here...
20819 * kern/emu/main.c: ...to here.
20820 * util/hostdisk.c: Move from here...
20821 * kern/emu/hostdisk.c: ...to here.
20822 * util/hostfs.c: Move from here...
20823 * kern/emu/hostfs.c: ...to here.
20824 * util/mm.c: Move from here...
20825 * kern/emu/mm.c: ...to here.
20826 * util/pci.c: Move from here...
20827 * bus/emu/pci.c: ...to here.
20828 * util/sdl.c: Move from here...
20829 * video/emu/sdl.c: ...to here.
20830 * util/time.c: Move from here...
20831 * kern/emu/time.c: ...to here.
20832 * util/usb.c: Move from here...
20833 * bus/usb/emu/usb.c: ...to here.
20834
20835 * include/grub/emu/misc.h: New header for grub-emu functions.
20836 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
20837
20838 * conf/any-emu.rmk: Rule updates for above renames.
20839 * conf/common.rmk: Likewise.
20840 * conf/i386-pc.rmk: Likewise.
20841 * conf/i386-qemu.rmk: Likewise.
20842 * conf/mips.rmk: Likewise.
20843 * conf/sparc64-ieee1275.rmk: Likewise.
20844 * conf/x86-efi.rmk: Likewise.
20845
20846 * disk/lvm.h: #include updates for above renames.
20847 * util/grub-mkrelpath.c: Likewise.
20848 * util/grub-probe.c: Likewise.
20849 * util/i386/pc/grub-setup.c: Likewise.
20850 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20851 * kern/emu/console.c: Likewise.
20852 * kern/emu/getroot.c: Likewise.
20853 * kern/emu/hostdisk.c: Likewise.
20854 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
20855
20856 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
20857 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
20858 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
20859 * util/misc.c: Remove grub-emu functions.
20860
20861 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20862
20863 Fix gfxmenu crash.
20864 Reported by: Thorsten Grützmacher.
20865
20866 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
20867 timeout hook.
20868 (circprog_set_property): Register and unregister timeout hook.
20869 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
20870 (label_destroy): Free template. and unregister hook.
20871 (label_set_state): New function.
20872 (label_set_property): Handle templates and hooks.
20873 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
20874 timeout hook.
20875 (progress_bar_set_property): Register and unregister timeout hook.
20876 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
20877 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
20878 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
20879 (update_timeout_visit): Removed.
20880 (update_timeouts): New function.
20881 (redraw_timeouts): Likewise.
20882 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
20883 (grub_gfxmenu_clear_timeout): Likewise.
20884 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
20885 (grub_gfxmenu_timeout_notify): Likewise.
20886 (grub_gfxmenu_timeout_notifications): New external variable.
20887 (grub_gfxmenu_timeout_register): New function.
20888 (grub_gfxmenu_timeout_unregister): Likewise.
20889
20890 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20891
20892 Transform (broken) vga terminal into (working) vga video driver.
20893
20894 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
20895 video/i386/pc/vga.c.
20896 * include/grub/video.h (grub_video_driver_id):
20897 Add GRUB_VIDEO_DRIVER_VGA.
20898 * term/i386/pc/vga.c: Renamed to ...
20899 * video/i386/pc/vga.c: ...this
20900 (DEBUG_VGA): Removed.
20901 (CHAR_WIDTH): Likewise.
20902 (CHAR_HEIGHT): Likewise.
20903 (TEXT_WIDTH): Likewise.
20904 (TEXT_HEIGHT): Likewise.
20905 (DEFAULT_FG_COLOR): Likewise.
20906 (DEFAULT_BG_COLOR): Likewise.
20907 (colored_char): Likewise.
20908 (xpos): Likewise.
20909 (ypos): Likewise.
20910 (cursor_state): Likewise.
20911 (fg_color): Likewise.
20912 (bg_color): Likewise.
20913 (text_buf): Likewise.
20914 (page): Likewise.
20915 (font): Likewise.
20916 (framebuffer): New variable.
20917 (set_read_map): Disabled.
20918 (setup): New variable.
20919 (is_target): Likewise.
20920 (grub_vga_mod_init): Likewise.
20921 (grub_vga_mod_fini): Likewise.
20922 (check_vga_mem): Likewise.
20923 (write_char): Likewise.
20924 (write_cursor): Likewise.
20925 (scroll_up): Likewise.
20926 (grub_vga_putchar): Likewise.
20927 (grub_vga_getcharwidth): Likewise.
20928 (grub_vga_getwh): Likewise.
20929 (grub_vga_getxy): Likewise.
20930 (grub_vga_gotoxy): Likewise.
20931 (grub_vga_cls): Likewise.
20932 (grub_vga_setcolorstate): Likewise.
20933 (grub_vga_setcursor): Likewise.
20934 (grub_video_vga_init): New function.
20935 (grub_video_vga_setup): Likewise.
20936 (grub_video_vga_fini): Likewise.
20937 (update_target): Likewise.
20938 (grub_video_vga_blit_bitmap): Likewise.
20939 (grub_video_vga_blit_render_target): Likewise.
20940 (grub_video_vga_set_active_render_target): Likewise.
20941 (grub_video_vga_get_active_render_target): Likewise.
20942 (grub_video_vga_swap_buffers): Likewise.
20943 (grub_video_vga_set_palette): Likewise.
20944 (grub_video_vga_get_info_and_fini): Likewise.
20945 (grub_vga_term): Removed.
20946 (grub_video_vga_adapter): New variable.
20947 (GRUB_MOD_INIT): Register a video driver instead of terminal.
20948 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
20949
20950 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20951
20952 * video/readers/jpeg.c: Indented.
20953
20954 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20955
20956 Various jpeg cleanups.
20957
20958 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
20959 (grub_jpeg_decode_quan_table): Use sizeof.
20960 (grub_jpeg_decode_du): Use ARRAY_SIZE.
20961
20962 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
20963
20964 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
20965 tables. Ignore non-last ac bit.
20966 (grub_jpeg_decode_quan_table): Likewise.
20967
20968 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20969
20970 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
20971 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
20972 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20973 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
20974 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
20975 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
20976
20977 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20978
20979 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
20980 error.
20981
20982 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20983
20984 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
20985
20986 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20987
20988 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
20989 condition.
20990
20991 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20992
20993 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
20994 part.
20995
20996 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20997
20998 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
20999 pointers.
21000
21001 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21002
21003 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
21004
21005 2010-05-01 Christian Franke <franke@computer.org>
21006
21007 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
21008 Remove broken Cygwin path conversion.
21009 * util/misc.c: [__CYGWIN__] Add include and define.
21010 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
21011 for Cygwin 1.7.
21012 (make_system_path_relative_to_its_root): Simplify loop, replace early
21013 return by break.
21014 [__CYGWIN__] Add conversion to win32 path.
21015 Include "/" case in trailing slash removal.
21016
21017 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21018
21019 * kern/main.c (grub_load_config): Fix copy-pasted comment.
21020 Reported by: Seth Goldberg
21021
21022 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21023
21024 * commands/help.c (grub_cmd_help): Fix a typo.
21025 Reported by: Seth Goldberg
21026
21027 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21028
21029 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
21030 name and add N_.
21031 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
21032 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
21033 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
21034 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
21035 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
21036 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
21037 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
21038 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
21039 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
21040 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21041 * normal/context.c (GRUB_MOD_INIT): Likewise.
21042 * normal/main.c (GRUB_MOD_INIT): Likewise.
21043 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
21044 * term/serial.c (GRUB_MOD_INIT): Likewise.
21045 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
21046
21047 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21048
21049 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
21050 extra == 0.
21051
21052 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21053
21054 * commands/iorw.c: New file.
21055 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
21056 (iorw_mod_SOURCES): New variable.
21057 (iorw_mod_CFLAGS): Likewise.
21058 (iorw_mod_LDFLAGS): Likewise.
21059
21060 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21061
21062 Hotkey support
21063
21064 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
21065 * normal/main.c (hotkey_aliases): New variable.
21066 (grub_normal_add_menu_entry): Parse "--hotkey".
21067 * normal/menu_text.c (run_menu): Handle hotkeys.
21068
21069 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21070
21071 * kern/i386/coreboot/init.c (grub_machine_init): Call
21072 grub_machine_mmap_init on qemu.
21073
21074 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21075
21076 * boot/i386/qemu/boot.S: Add a missing .code16.
21077
21078 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21079
21080 Use LBIO on coreboot.
21081
21082 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
21083 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
21084 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
21085 New declaration.
21086 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
21087 grub_machine_mmap_init on coreboot.
21088 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
21089 GRUB_LINUXBIOS_MEMBER_LINK.
21090 (grub_machine_mmap_iterate): Fix declaration.
21091 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
21092
21093 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21094
21095 Split coreboot and multiboot ports.
21096
21097 * conf/i386-multiboot.rmk: New file.
21098 * configure.ac: Add multiboot port.
21099 * include/grub/i386/multiboot/boot.h: New file.
21100 * include/grub/i386/multiboot/console.h: Likewise.
21101 * include/grub/i386/multiboot/init.h: Likewise.
21102 * include/grub/i386/multiboot/kernel.h: Likewise.
21103 * include/grub/i386/multiboot/loader.h: Likewise.
21104 * include/grub/i386/multiboot/memory.h: Likewise.
21105 * include/grub/i386/multiboot/serial.h: Likewise.
21106 * include/grub/i386/multiboot/time.h: Likewise.
21107 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
21108 * loader/multiboot.c: Likewise.
21109 * loader/multiboot_mbi2.c: Likewise.
21110 * util/grub-mkrescue.in: Generate multiboot rescue.
21111
21112 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21113
21114 * kern/parser.c (grub_parser_execute): Cope with read-only config.
21115
21116 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21117
21118 Merge handling of input and output terminals. Fix a hang.
21119
21120 * commands/terminal.c (abstract_terminal): New struct.
21121 (handle_command): New function. Based on grub_cmd_terminal_input.
21122 (grub_cmd_terminal_input): Use handle_command.
21123 (grub_cmd_terminal_output): Use handle_command.
21124
21125 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
21126
21127 Fix comment handling.
21128
21129 * tests/grub_script_comments.in: New testcase.
21130 * conf/tests.rmk: Rules for new testcase.
21131 * script/yylex.l: Updated flex rules.
21132
21133 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
21134
21135 * docs/grub.texi (play): Document that zero pitches produce rests.
21136 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
21137 if argc is 1.
21138
21139 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
21140
21141 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
21142 autogen issues.
21143
21144 2010-04-26 Christian Franke <franke@computer.org>
21145
21146 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
21147 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
21148 (grub_get_prefix): Remove function.
21149 * util/grub-emu.c (main): Replace grub_get_prefix () call by
21150 make_system_path_relative_to_its_root ().
21151 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
21152
21153 2010-04-24 Christian Franke <franke@computer.org>
21154
21155 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
21156 (kernel_img_LDFLAGS): Remove -static-libgcc.
21157
21158 2010-04-24 Christian Franke <franke@computer.org>
21159
21160 * configure.ac: Do not CHECK_BSS_START_SYMBOL
21161 and CHECK_END_SYMBOL if grub-emu is built.
21162 Unset TARGET_OBJ2ELF if grub-emu is built
21163 without module support.
21164
21165 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
21166
21167 Nilfs2 support.
21168
21169 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
21170 (grub_fstest_SOURCES): Likewise.
21171 (pkglib_MODULES): Add nilfs2.mod.
21172 (nilfs2_mod_SOURCES): New variable.
21173 (nilfs2_mod_CFLAGS): Likewise.
21174 (nilfs2_mod_LDFLAGS): Likewise.
21175 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
21176 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
21177 * fs/nilfs2.c: New file.
21178
21179 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
21180
21181 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
21182 is not supported.
21183
21184 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
21185
21186 Add grub-mkconfig support for NetBSD.
21187
21188 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
21189 * util/grub-mkconfig.in: export new NetBSD specific variables.
21190 * po/POTFILES-shell: added 10_netbsd.in.
21191 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
21192
21193 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
21194
21195 Fix emu build with grub-emu-pci and grub-emu-modules.
21196
21197 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
21198 functions.
21199 * include/grub/libpciaccess.h: New file.
21200 * conf/any-emu.rmk: Update kernel headers for emu build.
21201
21202 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
21203
21204 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
21205
21206 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
21207
21208 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
21209
21210 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21211
21212 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
21213 Retrieve chosen/bootpath if bootpath isn't hardcoded.
21214 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
21215 util/ieee1275/ofpath.c.
21216 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
21217 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
21218 * include/grub/sparc64/ieee1275/boot.h
21219 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
21220 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
21221 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
21222 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
21223 const char *.
21224 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
21225 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
21226 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
21227 install.
21228
21229 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
21230
21231 * util/grub-mkconfig.in: Corrected two == equality tests.
21232 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
21233 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
21234 expect a number appended to it.
21235 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
21236 expects a number appended to it.
21237
21238 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21239
21240 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
21241
21242 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21243
21244 * util/hostdisk.c (make_device_name): Change to new partition naming.
21245
21246 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
21247
21248 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
21249
21250 2010-04-17 Christian Franke <franke@computer.org>
21251
21252 * Makefile.in: Add missing localedir setting.
21253
21254 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
21255
21256 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
21257 mistake in r2156. Noticed by Anthony Fok.
21258
21259 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
21260 @localedir@.
21261 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
21262
21263 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
21264
21265 Fix a spurious, uninitialized variable warning.
21266
21267 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
21268 Initialize variable, shdr.
21269 (grub_freebsd_load_elfmodule): Likewise.
21270 (grub_freebsd_load_elf_meta): Likewise.
21271
21272 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
21273
21274 Fix for escaped dollar in double quoted strings.
21275
21276 * script/yylex.l: Updated flex rules.
21277 * conf/tests.rmk: Rule for new testcase.
21278 * tests/grub_script_dollar.in: New testcase.
21279
21280 2010-04-13 Carles Pina i Estany <carles@pina.cat>
21281 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
21282
21283 Enclose all translated strings in grub.cfg in single quotes, and
21284 escape them appropriately (Ubuntu bug #552921).
21285
21286 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
21287 * util/grub.d/10_hurd.in: Use it.
21288 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21289 * util/grub.d/10_linux.in (linux_entry): Likewise.
21290
21291 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21292
21293 Fix cygwin compilation.
21294
21295 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
21296 * include/grub/misc.h (__register_frame_info)
21297 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
21298 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
21299 * kern/misc.c (__register_frame_info)
21300 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
21301 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
21302
21303 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21304
21305 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
21306
21307 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21308
21309 Unify libgcc processing.
21310
21311 * Makefile.in (kernel_img_LDFLAGS): New variable.
21312 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
21313 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
21314 overwriting.
21315 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
21316 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
21317 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
21318 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
21319 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
21320 overwriting. Remove -lgcc and -static-libgcc
21321 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
21322 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
21323 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
21324 (kernel_img_LDFLAGS): Append instead of overwriting.
21325 Remove -lgcc and -static-libgcc
21326 * conf/sparc64-ieee1275.rmk: Likewise.
21327 * include/grub/powerpc/libgcc.h: Move to ...
21328 * include/grub/libgcc.h: .. this.
21329 * include/grub/libgcc.h: Don't export most of the function on x86.
21330 (__bswapsi2): New export.
21331 (__bswapdi2): Likewise.
21332 * include/grub/mips/libgcc.h: Removed.
21333 * include/grub/sparc64/libgcc.h: Likewise.
21334
21335 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21336
21337 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
21338 disk_info_msg (conflicts with gettexting into languages with cases).
21339
21340 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
21341
21342 Add grub-probe support for NetBSD.
21343
21344 * util/getroot.c (find_root_device): Convert block device to
21345 character device on NetBSD.
21346 * util/probe.c (probe): Require character device on NetBSD.
21347 * util/hostdisk.c: NetBSD specific headers.
21348 (configure_device_driver): new function to tune device driver
21349 parameters (currently only for NetBSD floppy driver).
21350 (grub_util_biosdisk_open): NetBSD specific code (get disk size
21351 via disklabel ioctl).
21352 (open_device): call configure_device_driver on NetBSD.
21353 (convert_system_partition_to_system_disk): NetBSD specific code.
21354 (device_is_wholedisk): Likewise.
21355 (grub_util_biosdisk_get_grub_dev): Likewise.
21356 (make_device_name): Fixed a typo in bsd_part_str.
21357 * configure.ac: check for opendisk() and getrawpartition() on
21358 NetBSD and set LIBUTIL.
21359 * Makefile.in: add LIBUTIL to LIBS.
21360
21361 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
21362
21363 Documentation fix.
21364
21365 * util/grub-script-check.c: Better help message.
21366
21367 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
21368
21369 Fix FreeBSD build.
21370
21371 * configure.ac: Flex version check.
21372 * conf/common.rmk: Add -Wno-error to sh.mod.
21373 * script/yylex.l: Remove all #pragma.
21374
21375 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21376
21377 * include/grub/util/misc.h (canonicalise_file_name): Add missing
21378 prototype.
21379 Reported by: Seth Goldberg.
21380
21381 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21382
21383 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
21384 Rename "module" to "module2".
21385 Reported by: Seth Goldberg.
21386
21387 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21388
21389 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
21390 EXPORT_FUNC.
21391 Reported by: Seth Goldberg.
21392
21393 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21394
21395 * lib/posix_wrap/locale.h: Add missing file.
21396 Reported by: Seth Goldberg.
21397
21398 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21399
21400 grub-emu module load support.
21401
21402 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
21403 NO_DYNAMIC_MODULES switched to this.
21404 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
21405 (CFLAGS): Likewise.
21406 * conf/any-emu.rmk: Generate symlist.
21407 (kernel_img_HEADERS): Add util/datetime.h.
21408 (kernel_img_HEADERS) [sdl]: Add sdl.h.
21409 (kernel_img_HEADERS) [libusb]: Add libusb.h.
21410 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
21411 kern/$(target_cpu)/cache.S.
21412 * configure.ac (grub-emu-modules): New option.
21413 * genmk.rb: Handle multiple source lists.
21414 * include/grub/sdl.h: New file.
21415 * include/grub/libusb.h: Likewise.
21416 * util/grub-emu.c (main): Hanle (host) root.
21417 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
21418 GRUB_ERR_UNKNOWN_DEVICE.
21419 * util/misc.c: Move mm functions to ...
21420 * util/mm.c: ... here. All users updated.
21421
21422 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21423
21424 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
21425 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
21426 missing files.
21427 (maintainer-clean): Remove libgcrypt-grub.
21428
21429 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21430
21431 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
21432
21433 2010-04-09 EFI Coder <eficoder@hotmail.com>
21434
21435 * normal/menu_text.c (print_message): Clean up the message and show
21436 the Fn information when on EFI
21437 * term/efi/console.c (grub_console_checkkey): Add F4 support.
21438
21439 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21440
21441 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
21442 All users updated.
21443 * normal/crypto.c (read_crypto_list): Likewise.
21444 * normal/dyncmd.c (read_command_list): Likewise.
21445 * normal/term.c (read_terminal_list): Likewise.
21446 * normal/main.c (read_lists): Use explicit prefix.
21447 (read_lists_hook): Use read_lists.
21448 (grub_normal_execute): Likewise.
21449
21450 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21451
21452 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
21453 Reported by: Thomas Schmitt.
21454 Add -no-emul-boot to grub-mkisofs parameters.
21455
21456 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21457
21458 * font/font.c: Indented.
21459
21460 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
21461
21462 Elif support to GRUB script (by Deepak Vankadaru).
21463
21464 * tests/grub_script_if.in: New testcase.
21465 * conf/tests.rmk: Rule for new testcase.
21466 * script/parser.y: Grammar rules for elif.
21467
21468 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
21469
21470 While and until loops support to GRUB script.
21471
21472 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
21473 (grub_script_create_cmdwhile): New function prototype.
21474 (grub_script_execute_cmdwhile): New function prototype.
21475 * script/execute.c (grub_script_execute_cmdwhile): New function.
21476 * script/parser.y (command): New commands.
21477 (whilecmd): New grammar rule.
21478 (untilcmd): New grammar rule.
21479 * script/script.c (grub_script_create_cmdwhile): New function.
21480 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
21481 function.
21482
21483 * tests/grub_script_while1.in: New testcase.
21484 * conf/tests.rmk: Rule for new testcase.
21485
21486 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21487
21488 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
21489 as *.jpg.
21490
21491 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
21492
21493 GRUB_BACKGROUND support.
21494
21495 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
21496 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
21497
21498 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21499
21500 Load fonts and modules for gfxmenu in grub-mkconfig.
21501 Idea by: Mario Vazquez
21502
21503 * util/grub.d/00_header.in: Load pf2 and image modules.
21504
21505 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21506
21507 grub-mkconfig multiple terminal support.
21508
21509 * util/grub-mkconfig.in: Handle multiple terminals correctly.
21510 * util/grub.d/00_header.in: Likewise.
21511
21512 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21513
21514 * Makefile.in: Specify files explicitly instead of using $< and $@ since
21515 we use cd $(srcdir).
21516
21517 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
21518
21519 * util/grub.d/10_linux.in: Only use the first word of
21520 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
21521 spaces in GRUB_DISTRIBUTOR.
21522 * util/grub.d/10_kfreebsd.in: Likewise.
21523 * util/grub.d/10_hurd.in: Likewise.
21524
21525 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
21526
21527 Fix unit testing framework for Qemu 0.12.
21528
21529 * tests/util/grub-shell.in: Remove -serial stdio option.
21530
21531 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
21532
21533 POSIX header file wrappers.
21534
21535 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
21536 equivalents.
21537 * lib/posix_wrap/ctype.h: Likewise.
21538 * lib/posix_wrap/errno.h: Likewise.
21539 * lib/posix_wrap/langinfo.h: Likewise.
21540 * lib/posix_wrap/limits.h: Likewise.
21541 * lib/posix_wrap/localcharset.h: Likewise.
21542 * lib/posix_wrap/stdint.h: Likewise.
21543 * lib/posix_wrap/stdio.h: Likewise.
21544 * lib/posix_wrap/stdlib.h: Likewise.
21545 * lib/posix_wrap/string.h: Likewise.
21546 * lib/posix_wrap/sys/types.h: Likewise.
21547 * lib/posix_wrap/unistd.h: Likewise.
21548 * lib/posix_wrap/wchar.h: Likewise.
21549 * lib/posix_wrap/wctype.h: Likewise.
21550 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
21551 (grub_script.yy.h): Likewise.
21552 * script/yylex.l: Remove POSIX emulation #defines.
21553 * Makefile.in (POSIX_CFLAGS): New variable.
21554 (GNULIB_UTIL_CFLAGS): Likewise.
21555
21556 Regexp support.
21557
21558 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
21559 (regexp_mod_SOURCES): New variable.
21560 (regexp_mod_CFLAGS): Likewise.
21561 (regexp_mod_LDFLAGS): Likewise.
21562 * commands/regexp.c: New file.
21563 * gnulib/regcomp.c: New file. Imported from gnulib.
21564 * gnulib/regex.c: Likewise.
21565 * gnulib/regex_internal.c: Likewise.
21566 * gnulib/regex_internal.h: Likewise.
21567 * gnulib/regexec.c: Likewise.
21568 * gnulib/regex.h: Likewise.
21569
21570 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21571
21572 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
21573 unsupported video mode types.
21574
21575 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21576
21577 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
21578
21579 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21580
21581 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
21582 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
21583
21584 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
21585
21586 Remove unused grub_vga_get_font.
21587
21588 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
21589 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
21590
21591 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21592
21593 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
21594 * include/grub/misc.h: Likewise.
21595
21596 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21597
21598 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
21599 for which failure is fatal.
21600
21601 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21602
21603 * util/grub-install.in: Use mkdir -p to create grub directory.
21604 * util/i386/efi/grub-install.in: Likewise.
21605 * util/ieee1275/grub-install.in: Likewise.
21606
21607 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21608
21609 * Makefile.in (LEX): new variable.
21610
21611 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21612
21613 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
21614 `=' and added double quotes on operands of this equality test.
21615
21616 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21617
21618 * Makefile.in (uninstall): Remove a leftover debug echo.
21619 Reported by: Grégoire Sutre
21620
21621 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21622
21623 MIPS multiboot2 support.
21624
21625 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
21626 (multiboot2_mod_SOURCES): New variable.
21627 (multiboot2_mod_CFLAGS): Likewise.
21628 (multiboot2_mod_LDFLAGS): Likewise.
21629 (multiboot2_mod_ASFLAGS): Likewise.
21630 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
21631 definition.
21632 (MULTIBOOT_ENTRY_REGISTER): Likewise.
21633 (MULTIBOOT_MBI_REGISTER): Likewise.
21634 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
21635 (MULTIBOOT_ELF32_MACHINE): Likewise.
21636 (MULTIBOOT_ELF64_MACHINE): Likewise.
21637 * include/grub/mips/multiboot.h: New file.
21638 * include/grub/video.h (grub_video_driver_id): New type
21639 GRUB_VIDEO_DRIVER_SM712.
21640 (grub_video_get_info_and_fini): Export.
21641 (grub_video_get_palette): Likewise.
21642 (grub_video_get_driver_id): Likewise.
21643 * include/multiboot2.h: Resynced with spec.
21644 * loader/i386/multiboot.c: Moved from here ...
21645 * loader/multiboot.c: ... here. All users updated.
21646 (grub_multiboot_boot): Use platform-specific macros.
21647 * loader/i386/multiboot_elfxx.c: Moved from here ...
21648 * loader/multiboot_elfxx.c: ... here. All users updated.
21649 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
21650 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
21651 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
21652
21653 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
21654
21655 Import gnulib argp module.
21656
21657 * gnulib/argp-ba.c: New file.
21658 * gnulib/argp-eexst.c: Likewise.
21659 * gnulib/argp-fmtstream.c: Likewise.
21660 * gnulib/argp-fmtstream.h: Likewise.
21661 * gnulib/argp-fs-xinl.c: Likewise.
21662 * gnulib/argp-help.c: Likewise.
21663 * gnulib/argp-namefrob.h: Likewise.
21664 * gnulib/argp-parse.c: Likewise.
21665 * gnulib/argp-pin.c: Likewise.
21666 * gnulib/argp-pv.c: Likewise.
21667 * gnulib/argp-pvh.c: Likewise.
21668 * gnulib/argp-version-etc.c: Likewise.
21669 * gnulib/argp-version-etc.h: Likewise.
21670 * gnulib/argp-xinl.c: Likewise.
21671 * gnulib/argp.h: Likewise.
21672
21673 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21674
21675 * kern/device.c (grub_device_iterate): Clear errors after failed
21676 opening device.
21677
21678 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21679
21680 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
21681 returned by firmware.
21682
21683 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
21684
21685 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
21686 compilation on coreboot and qemu
21687
21688 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21689
21690 * include/multiboot2.h: Resync with spec.
21691
21692 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21693
21694 Multiboot2 tag support
21695
21696 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
21697 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
21698 Remove loader/multiboot_loader.c.
21699 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
21700 (grub_multiboot2_real_boot): Likewise.
21701 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
21702 (grub_get_multiboot_mmap_count): New proto.
21703 (grub_fill_multiboot_mmap): Likewise.
21704 (grub_multiboot_set_video_mode): Likewise.
21705 (grub_multiboot_set_console): Likewise.
21706 (grub_multiboot_load): Likewise.
21707 (grub_multiboot_load_elf): Likewise.
21708 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
21709 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
21710 * include/multiboot.h: Resynced with specification.
21711 * include/multiboot2.h: Resynced with specification.
21712 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
21713 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
21714 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
21715 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
21716 users updated.
21717 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
21718 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
21719 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
21720 Removed.
21721 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
21722 Moved from here...
21723 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
21724 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21725 Moved from here...
21726 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
21727 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
21728 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
21729 All users updated.
21730 * loader/i386/multiboot_mbi2.c: New file.
21731
21732 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21733
21734 Resync with gnulib.
21735
21736 * Makefile.in (GNULIB_CFLAGS): New variable.
21737 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
21738 (grub_script_check_CFLAGS): New variable.
21739 * gnulib/alloca.h: Resync with gnulib.
21740 * gnulib/error.c: Likewise.
21741 * gnulib/error.h: Likewise.
21742 * gnulib/fnmatch.c: Likewise.
21743 * gnulib/fnmatch_loop.c: Likewise.
21744 * gnulib/getdelim.c: Likewise.
21745 * gnulib/getline.c: Likewise.
21746 * gnulib/getopt.c: Likewise.
21747 * gnulib/getopt1.c: Likewise.
21748 * gnulib/getopt_int.h: Likewise.
21749 * gnulib/gettext.h: Likewise.
21750 * gnulib/progname.c: Likewise.
21751 * gnulib/progname.h: Likewise.
21752
21753 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
21754
21755 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
21756 which is the case with --disabled-nls.
21757
21758 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
21759 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
21760 * util/misc.c: Likewise.
21761 * util/mkisofs/mkisofs.c: Likewise.
21762 * util/mkisofs/mkisofs.h: Likewise.
21763
21764 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21765
21766 Simplify Apple CC support.
21767
21768 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
21769 Add 0 byte at the end not to have a symbol with empty target.
21770 * mmap/i386/pc/mmap_helper.S: Likewise.
21771 * genmk.rb: Ignore errors 2030 and 2050.
21772 * kern/i386/pc/startup.S: Use LOCAL when possible.
21773
21774 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
21775
21776 Testcase and the fix for final semicolon on cmdline.
21777
21778 * tests/grub_script_final_semicolon.in: New testcase.
21779 * conf/tests.rmk: Rules for the new testcase.
21780 * script/parser.y: Grammar fix.
21781
21782 2010-03-26 BVK Chaitanya <bvk@localhost>
21783
21784 Blank lines testcase for GRUB script.
21785
21786 * tests/grub_script_blanklines.in: New testcase.
21787 * conf/tests.rmk: Rules for the new testcase.
21788
21789 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21790
21791 Don't use __FILE__.
21792
21793 * genmk.rb: Add -DGRUB_FILE to all C targets.
21794 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
21795 * include/grub/list.h: Likewise.
21796 * include/grub/misc.h: Likewise.
21797 * include/grub/mm.h: Likewise.
21798 * include/grub/test.h: Likewise.
21799 * kern/mm.c: Likewise.
21800 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21801
21802 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21803
21804 Sunpc partitions support.
21805
21806 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
21807 (grub_fstest_SOURCES): Likewise.
21808 (pkglib_MODULES): Add part_sunpc.mod.
21809 (part_sunpc_mod_SOURCES): New variable.
21810 (part_sunpc_mod_CFLAGS): Likewise.
21811 (part_sunpc_mod_LDFLAGS): Likewise.
21812 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
21813 * partmap/sunpc.c: New file.
21814
21815 2010-03-26 BVK Chaitanya <bvk@localhost>
21816
21817 For loop support to GRUB script.
21818
21819 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
21820 (grub_script_create_cmdfor): New function prototype.
21821 (grub_script_execute_cmdfor): New function prototype.
21822 * script/execute.c (grub_script_execute_cmdfor): New function.
21823 * script/parser.y (command): New for command.
21824 (forcmd): New grammar rule.
21825 * script/script.c (grub_script_create_cmdfor): New function.
21826 * util/grub-script-check.c (grub_script_execute_cmdfor): New
21827 function.
21828 * tests/grub_script_for1.in: New testcase.
21829 * conf/tests.rmk: Rules for new testcase.
21830
21831 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21832
21833 Nested partitions
21834
21835 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
21836 'partition' is NULL, grub_partition_get_start already does that.
21837 * commands/loadenv.c (check_blocklists): Likewise.
21838 (write_blocklists): Likewise.
21839 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
21840 (grub_fstest_SOURCES): Likewise.
21841 (pkglib_MODULES): Add part_bsd.mod.
21842 (part_bsd_mod_SOURCES): New variable.
21843 (part_bsd_mod_CFLAGS): Likewise.
21844 (part_bsd_mod_LDFLAGS): Likewise.
21845 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
21846 (grub_emu_SOURCES): Likewise.
21847 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21848 * include/grub/bsdlabel.h: New file.
21849 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
21850 'get_name'.
21851 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
21852 (grub_partition_map_list): New variable.
21853 (grub_partition_map_register): Inline.
21854 (grub_partition_map_unregister): Likewise.
21855 (FOR_PARTITION_MAPS): New macro.
21856 (grub_partition_map_iterate): Removed.
21857 (grub_partition_get_start): Handle nested partitions.
21858 * include/grub/msdos_partition.h: Remove bsd-related entries.
21859 (grub_pc_partition): Remove.
21860 * kern/disk.c (grub_disk_close): Free partition data.
21861 (grub_disk_adjust_range): Handle nested partitions.
21862 * kern/partition.c (grub_partition_map_probe): New function.
21863 (grub_partition_probe): Parse name to number, handle subpartitions.
21864 (get_partmap): New function.
21865 (grub_partition_iterate): Handle subpartitions.
21866 (grub_partition_get_name): Likewise.
21867 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
21868 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
21869 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
21870 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
21871 Set 'number'.
21872 (acorn_partition_map_probe): Remove.
21873 (acorn_partition_map_get_name): Likewise.
21874 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
21875 Set 'number'.
21876 Set 'index' to 0 since there can be only one partition entry per sector.
21877 (amiga_partition_map_probe): Remove.
21878 (amiga_partition_map_get_name): Likewise.
21879 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
21880 Set 'number'.
21881 Set 'offset' and 'index' to real positions of partitions.
21882 (apple_partition_map_probe): Remove.
21883 (apple_partition_map_get_name): Likewise.
21884 * partmap/bsdlabel.c: New file.
21885 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
21886 Set 'number'.
21887 Allocate 'data' so it can be correctly freed.
21888 Set 'index' to offset inside sector.
21889 (gpt_partition_map_probe): Remove.
21890 (gpt_partition_map_get_name): Likewise.
21891 * partmap/msdos.c (grub_partition_parse): Remove.
21892 (pc_partition_map_iterate): Don't force raw access.
21893 Set 'number'.
21894 Make 'ext_offset' a local variable.
21895 (pc_partition_map_probe): Remove.
21896 (pc_partition_map_get_name): Remove.
21897 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
21898 Set 'number'.
21899 (sun_partition_map_probe): Remove.
21900 (sun_partition_map_get_name): Likewise.
21901 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
21902 (grub_pcpart_type): Likewise.
21903 * util/hostdisk.c (open_device): Handle new numbering scheme.
21904 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
21905 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
21906 * util/grub-probe.c (probe_partmap): Handle nested paritions.
21907 * util/grub-install.in: Insert all subpartition modules.
21908 * util/ieee1275/grub-install.in: Likewise.
21909
21910 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
21911
21912 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
21913 grammar.
21914
21915 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
21916
21917 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
21918
21919 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
21920
21921 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
21922 match where 'make install' puts them.
21923 * util/i386/efi/grub-install.in: Likewise.
21924
21925 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
21926
21927 * .bzrignore: Add gentrigtables, grub-script-check,
21928 grub_script_check_init.c, grub_script_check_init.h, and
21929 trigtables.c.
21930
21931 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
21932
21933 * kern/parser.c: Indented.
21934
21935 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21936
21937 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
21938
21939 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21940
21941 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
21942 alpha_mask_size == 0 case.
21943
21944 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
21945
21946 GRUB shell lexer and parser improvements.
21947
21948 * conf/any-emu.rmk: Build rule updates.
21949 * conf/common.rmk: Likewise.
21950 * conf/i386-coreboot.rmk: Likewise.
21951 * conf/i386-efi.rmk: Likewise.
21952 * conf/i386-ieee1275.rmk: Likewise.
21953 * conf/i386-pc.rmk: Likewise.
21954 * conf/powerpc-ieee1275.rmk: Likewise.
21955 * conf/x86_64-efi.rmk: Likewise.
21956
21957 * configure.ac: Configure check for flex.
21958
21959 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
21960 types.
21961 (grub_lexer_param): Struct member updates.
21962 (grub_parser_param): Likewise.
21963 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
21964 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
21965 (grub_script_lexer_init): Prototype update.
21966 (grub_script_lexer_record_start): Likewise.
21967 (grub_script_lexer_record_stop): Likewise.
21968 (grub_script_lexer_yywrap): New function prototype.
21969 (grub_script_lexer_fini): Likewise.
21970 (grub_script_execute_argument_to_string): Removed by...
21971 (grub_script_execute_argument_to_argv): ...better version.
21972
21973 * script/execute.c (ROUND_UPTO): New macro.
21974 (grub_script_execute_cmdline): Out of memory fixes.
21975 (grub_script_execute_menuentry): Likewise.
21976 (grub_script_execute_argument_to_string): Removed. Update all
21977 users by...
21978 (grub_script_execute_argument_to_argv): ...better version.
21979 * script/function.c (grub_script_function_create): Use
21980 grub_script_execute_argument_to_argv instead of
21981 grub_script_execute_argument_to_string.
21982
21983 * script/lexer.c (check_varstate): Removed.
21984 (check_textstate): Removed.
21985 (grub_script_lexer_record_start): Likewise.
21986 (grub_script_lexer_record_stop): Likewise.
21987 (recordchar): Replaced with...
21988 (grub_script_lexer_record): ...new function.
21989 (nextchar): Removed.
21990 (grub_script_lexer_init): Rewritten.
21991 (grub_script_yylex): Rewritten.
21992 (append_newline): New function.
21993 (grub_script_lexer_yywrap): New function.
21994 (grub_script_lexer_fini): New function.
21995 (grub_script_yyerror): Sets error flag.
21996
21997 * script/yylex.l: New file.
21998 (grub_lexer_yyfree): Wrapper for flex yyffre.
21999 (grub_lexer_yyalloc): Likewise.
22000 (grub_lexer_yyrealloc): Likewise.
22001 * script/parser.y: Refactored.
22002
22003 * script/script.c (grub_script_arg_add): Out of memory fixes.
22004 (grub_script_add_arglist): Likewise.
22005 (grub_script_create_cmdline): Likewise.
22006 (grub_script_create_cmdmenu): Likewise.
22007 (grub_script_add_cmd): Likewise.
22008 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
22009 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
22010 unnecessary code.
22011
22012 * tests/grub_script_echo1.in: New testcase.
22013 * tests/grub_script_vars1.in: New testcase.
22014 * tests/grub_script_echo_keywords.in: New testcase.
22015
22016 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22017
22018 Remove some redundancy in build system.
22019
22020 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
22021 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
22022 (TARGET_LDFLAGS): Add -nostdlib.
22023 (TARGET_IMG_LDFLAGS): Likewise.
22024 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
22025 anything since mmap isn't available.
22026 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
22027 Add util/time.c.
22028 (pkglib_MODULES): Remove reboot.mod.
22029 (reboot_mod_SOURCES): Removed.
22030 (reboot_mod_CFLAGS): Likewise.
22031 (reboot_mod_LDFLAGS): Likewise.
22032 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
22033 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
22034 (DEFSYMFILES): Add kernel_syms.lst.
22035 (kernel_img_HEADERS): Add common headers.
22036 (symlist.c): New target.
22037 (kernel_syms.lst): Likewise.
22038 (pkglib_MODULES): Add memdisk.mod.
22039 (memdisk_mod_SOURCES): New variable.
22040 (memdisk_mod_CFLAGS): Likewise.
22041 (memdisk_mod_LDFLAGS): Likewise.
22042 (pkglib_MODULES): Add reboot.mod.
22043 (reboot_mod_SOURCES): New variable.
22044 (reboot_mod_CFLAGS): Likewise.
22045 (reboot_mod_LDFLAGS): Likewise.
22046 (pkglib_MODULES): Add date.mod.
22047 (date_mod_SOURCES): New variable.
22048 (date_mod_CFLAGS): Likewise.
22049 (date_mod_LDFLAGS): Likewise.
22050 (pkglib_MODULES): Add datehook.mod.
22051 (datehook_mod_SOURCES): New variable.
22052 (datehook_mod_CFLAGS): Likewise.
22053 (datehook_mod_LDFLAGS): Likewise.
22054 (pkglib_MODULES): Add lsmmap.mod.
22055 (lsmmap_mod_SOURCES): New variable.
22056 (lsmmap_mod_CFLAGS): Likewise.
22057 (lsmmap_mod_LDFLAGS): Likewise.
22058 (pkglib_MODULES): Add boot.mod.
22059 (boot_mod_SOURCES): New variable.
22060 (boot_mod_CFLAGS): Likewise.
22061 (boot_mod_LDFLAGS): Likewise.
22062 * conf/i386-coreboot.rmk: Removed redundant parts.
22063 * conf/i386-ieee1275.rmk: Likewise.
22064 * conf/i386-pc.rmk: Likewise.
22065 * conf/mips-yeeloong.rmk: Likewise.
22066 * conf/mips.rmk: Likewise.
22067 * conf/powerpc-ieee1275.rmk: Likewise.
22068 * conf/sparc64-ieee1275.rmk: Likewise.
22069 * conf/x86_64-efi.rmk: Likewise.
22070 * conf/i386-coreboot.rmk: Moved qemu parts ..
22071 * conf/i386-qemu.rmk: ... here
22072 * conf/i386-efi.rmk: Moved common parts to...
22073 * conf/x86-efi.rmk: ... here.
22074 * conf/i386.rmk: Added modules common to all x86 variants.
22075 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
22076 * disk/memdisk.c: Remove grub/machine/kernel.h.
22077 * gensymlist.sh.in: Include symbol.h.
22078 * hook/datehook.c: Correct module name.
22079 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
22080 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
22081 * include/grub/i386/efi/serial.h: New file.
22082 * include/grub/x86_64/efi/serial.h: Likewise.
22083 * util/time.c: Likewise.
22084 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
22085
22086 2010-03-14 Colin King <colin.king@ubuntu.com>
22087 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
22088
22089 Shrink the pre-partition-table part of boot.img by eight bytes.
22090
22091 * boot/i386/pc/boot.S (ERR): New macro.
22092 (chs_mode): Use ERR.
22093 (geometry_error): Likewise.
22094 (hd_probe_error): Remove. This is only used once, so we wrwite
22095 it inline instead.
22096 (read_error): Instead of printing read_error_string, just set up
22097 %si and fall through to ...
22098 (error_message): ... this new function, also used by ERR.
22099
22100 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
22101
22102 Speed up consecutive hostdisk operations on the same device.
22103
22104 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
22105 (grub_util_biosdisk_open): Initialise disk->data.
22106 (struct linux_partition_cache): New structure.
22107 (linux_find_partition): Cache partition start positions; these are
22108 expensive to compute on every read and write.
22109 (open_device): Cache open file descriptor in disk->data, so that we
22110 don't have to reopen it and flush the buffer cache for consecutive
22111 operations on the same device.
22112 (grub_util_biosdisk_close): New function.
22113 (grub_util_biosdisk_dev): Set `close' member.
22114
22115 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
22116 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
22117 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22118 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
22119 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
22120
22121 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22122
22123 Compile parts of grub-emu as modules.
22124
22125 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
22126 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
22127 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
22128 (all-local): Add $(GRUB_EMU).
22129 (install-local): Install $(GRUB_EMU).
22130 (uninstall): Uninstall $(GRUB_EMU).
22131 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
22132 * kern/dl.c: Likewise.
22133 * commands/sleep.c: Not include machine/time.h.
22134 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
22135 (COMMON_CFLAGS): Likewise.
22136 (sbin_UTILITIES): Remove grub-emu.
22137 (grub_emu_SOURCES): Removed.
22138 (kernel_img_RELOCATABLE): New variable.
22139 (pkglib_PROGRAMS): Add kernel.img.
22140 (kernel_img_SOURCES): New variable
22141 (kernel_img_CFLAGS): Likewise.
22142 (kernel_img_LDFLAGS): Likewise.
22143 (TARGET_NO_STRIP): Likewise.
22144 (TARGET_NO_DYNAMIC_MODULES): Likewise.
22145 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
22146 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
22147 (grub-emu): New target.
22148 (GRUB_EMU): New variable.
22149 * configure.ac: Whitelist -emu as possible x86_64 architecture.
22150 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
22151 * loader/xnu.c: Likewise.
22152 * include/grub/pci.h: Likewise.
22153 * genemuinit.sh: New file.
22154 * genemuinitheader.sh: Likewise.
22155 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
22156 Support TARGET_NO_DYNAMIC_MODULES.
22157 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
22158 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
22159 * disk/loopback.c: Likewise.
22160 * font/font_cmd.c: Likewise.
22161 * partmap/acorn.c: Likewise.
22162 * partmap/amiga.c: Likewise.
22163 * partmap/apple.c: Likewise.
22164 * partmap/gpt.c: Likewise.
22165 * partmap/msdos.c: Likewise.
22166 * partmap/sun.c: Likewise.
22167 * parttool/msdospart.c: Likewise.
22168 * term/gfxterm.c: Likewise.
22169 * video/bitmap.c: Likewise.
22170 * video/readers/jpeg.c: Likewise.
22171 * video/readers/png.c: Likewise.
22172 * video/readers/tga.c: Likewise.
22173 * video/video.c: Likewise.
22174 * util/grub-emu.c (read_command_list): Removed.
22175 (main): Don't call util_init_nls.
22176 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
22177 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
22178
22179 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22180
22181 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
22182 date.mod, datehook.mod.
22183 (datetime_mod_SOURCES): New variable.
22184 (datetime_mod_CFLAGS): Likewise.
22185 (datetime_mod_LDFLAGS): Likewise.
22186 (date_mod_SOURCES): Likewise.
22187 (date_mod_CFLAGS): Likewise.
22188 (date_mod_LDFLAGS): Likewise.
22189 (datehook_mod_SOURCES): Likewise.
22190 (datehook_mod_CFLAGS): Likewise.
22191 (datehook_mod_LDFLAGS): Likewise.
22192 * conf/sparc64-ieee1275.rmk: Likewise.
22193 * lib/ieee1275/datetime.c: New file.
22194
22195 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22196
22197 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
22198 (ieee1275_fb_mod_SOURCES): New variable.
22199 (ieee1275_fb_mod_CFLAGS): Likewise.
22200 (ieee1275_fb_mod_LDFLAGS): Likewise.
22201 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
22202 New proto.
22203 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
22204 (HEAP_MAX_ADDR): Likewise.
22205 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
22206 type.
22207 Correct stop condition.
22208 (grub_ieee1275_devices_iterate): New function.
22209 * video/ieee1275.c: New file.
22210
22211 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22212
22213 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
22214
22215 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
22216 as scratch.
22217 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
22218 SCRATCH_PAD_DISKBOOT as scratch.
22219 (bootit): Pass Openfirmware pointer in %o4.
22220 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
22221 of 0x200000.
22222 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
22223 with util/grub-mkrawimage.c.
22224 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
22225 * include/grub/aout.h (AOUT_MID_SUN): New definition.
22226 (grub_aout_get_type) [GRUB_UTIL]: Removed.
22227 (grub_aout_load) [GRUB_UTIL]: Likewise.
22228 * include/grub/kernel.h (grub_modules_get_end): New proto.
22229 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
22230 (SCRATCH_PAD_BOOT): New definition.
22231 (SCRATCH_PAD_DISKBOOT): Likewise.
22232 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
22233 * include/grub/sparc64/ieee1275/ieee1275.h
22234 (grub_ieee1275_original_stack): New variable
22235 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22236 New definition
22237 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
22238 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
22239 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
22240 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
22241 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
22242 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
22243 (grub_platform_image_format_t): New type.
22244 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
22245 * kern/main.c (grub_modules_get_end)
22246 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
22247 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
22248 (codestart): Switch stacks.
22249 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
22250 variable.
22251 (grub_heap_init): Use grub_modules_get_end.
22252 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
22253 stack.
22254 * util/grub-mkrawimage.c (generate_image): Support sparc64.
22255 (main): Likewise.
22256 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
22257
22258 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
22259
22260 * util/grub-mkrescue.in: Base ISO UUID on UTC.
22261
22262 2010-03-08 Matt Kraai <kraai@ftbfs.org>
22263
22264 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
22265 bug #559005).
22266
22267 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
22268
22269 * genmoddep.awk: Output all missing symbols and not only first.
22270
22271 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22272
22273 * NEWS: Put the date of 1.98 release.
22274
22275 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22276
22277 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
22278 ft2build.h.
22279
22280 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22281
22282 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
22283 completition in the middle of string.
22284
22285 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22286
22287 * util/grub-mkrescue.in: Use mktemp with explicit template.
22288
22289 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22290
22291 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
22292
22293 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22294
22295 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
22296 right pointer.
22297
22298 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
22299
22300 Fix FreeBSD compilation.
22301
22302 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
22303 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
22304
22305 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
22306
22307 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
22308
22309 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22310
22311 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
22312
22313 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22314
22315 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
22316
22317 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
22318
22319 Support relative image path in theme file.
22320
22321 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
22322 (image_set_property): Handle theme_dir and relative path.
22323
22324 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22325
22326 * configure.ac: Alias amd64 to x86_64.
22327
22328 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22329
22330 * NEWS: mention multiboot on EFI.
22331
22332 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22333
22334 * kern/main.c (grub_load_modules): Handle errors from init functions of
22335 embeded modules.
22336
22337 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22338
22339 * normal/autofs.c (autoload_fs_module): Handle errors.
22340
22341 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22342
22343 Disable linux.mod on qemu-mips since it's not functional and leads
22344 to compilation failure.
22345
22346 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
22347 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
22348 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
22349 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
22350 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
22351 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
22352 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
22353 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
22354 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
22355 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
22356 Reported by: BVK Chaitanya
22357
22358 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
22359
22360 * INSTALL: Add gettext as a dependency and add qemu to a new section
22361 "Prerequisites for make-check".
22362
22363 2010-03-04 Christian Franke <franke@computer.org>
22364
22365 * util/grub-pe2elf.c: Add missing include "progname.h".
22366
22367 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22368
22369 * normal/crypto.c (read_crypto_list): Fix a typo.
22370 Reported by: Seth Goldberg.
22371
22372 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22373
22374 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
22375 Reported by: Seth Goldberg.
22376
22377 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22378
22379 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
22380 ascii.bitmaps.
22381
22382 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22383
22384 * genmk.rb: Remove terminal*.lst in make clean.
22385 Reported by: Seth Goldberg.
22386
22387 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22388
22389 * util/i386/efi/grub-install.in: Copy gettext files.
22390
22391 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22392
22393 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
22394
22395 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22396
22397 Wait for user entry basing on presence of output rather than on errors.
22398
22399 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
22400 (grub_install_newline_hook): Likewise.
22401 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
22402 * normal/menu.c (show_menu): Check line_counter to determine presence
22403 of output.
22404 * normal/term.c (grub_normal_line_counter): New variable.
22405 (grub_normal_get_line_counter): New function.
22406 (grub_install_newline_hook): Likewise.
22407
22408 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22409
22410 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
22411
22412 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22413
22414 * configure.ac: Update version to 1.98.
22415
22416 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22417
22418 * util/grub.d/10_linux.in (linux_entry): Don't default to
22419 gfxpayload=keep if Linux doesn't support video handover.
22420
22421 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
22422
22423 Don't compile video modules on yeeloong since video subsystem is part
22424 of kernel.
22425
22426 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
22427 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
22428 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
22429 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
22430 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
22431 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
22432 * include/grub/bitmap_scale.h: Likewise.
22433 * include/grub/bufio.h: Likewise.
22434 * include/grub/font.h: Likewise.
22435 * include/grub/gfxterm.h: Likewise.
22436 * include/grub/video.h: Likewise.
22437 * include/grub/vbe.h: Don't include video_fb.h.
22438 * video/i386/pc/vbe.c: Include video_fb.h.
22439 * commands/i386/pc/vbetest.c: Include video.h.
22440
22441 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
22442
22443 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
22444 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
22445 default entry if GRUB_SAVEDEFAULT=true. This allows using
22446 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
22447 saving a new default on every boot.
22448
22449 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
22450
22451 * normal/crypto.c (read_crypto_list): Fix a memory leak.
22452 * normal/term.c (read_terminal_list): Likewise.
22453 * normal/main.c (grub_normal_init_page): Likewise.
22454 (grub_normal_read_line_real): Likewise.
22455
22456 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
22457
22458 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
22459 memory leak.
22460 Reported by: Seth Goldberg.
22461
22462 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
22463
22464 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
22465 duplicate declaration of `start'.
22466
22467 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
22468
22469 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
22470 filename.
22471 Reported by: Georgy Buranov
22472
22473 2010-02-20 Carles Pina i Estany <carles@pina.cat>
22474
22475 * util/grub-mkrawimage.c (usage): Change string formatting to
22476 improve gettext.
22477
22478 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
22479
22480 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
22481 backspace keys.
22482
22483 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
22484
22485 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
22486 Reported by: Michael Suchanek.
22487
22488 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
22489
22490 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
22491 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
22492
22493 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
22494
22495 Remove any reference to non-free fonts.
22496
22497 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
22498 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
22499 uses non-free components.
22500 * font/font.c (grub_font_get_name): Remove example name.
22501 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
22502 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
22503 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
22504 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
22505
22506 2010-02-16 Georgy Buranov <gburanov@gmail.com>
22507
22508 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
22509
22510 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
22511
22512 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
22513 Double divisor.
22514 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
22515 features.
22516 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
22517
22518 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
22519
22520 * gensymlist.sh.in: Use TARGET_CC instead of CC.
22521
22522 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22523
22524 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
22525 * docs/grub.texi (Command-line and menu entry commands): Document play
22526 command.
22527
22528 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22529
22530 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
22531 parse arguments as inline tempo and notes. Move code for playing notes
22532 to...
22533 (play): ... new function.
22534
22535 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22536
22537 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
22538 grub_uint16_t instead of short.
22539 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
22540 disk from little endian to cpu endianness.
22541
22542 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
22543
22544 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
22545 GRUB_TICKS_PER_SECOND instead of 120.
22546
22547 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22548
22549 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
22550 escape sequence after \e.
22551
22552 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22553
22554 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
22555 non-ASCII characters.
22556
22557 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22558
22559 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
22560 set root in single quotes to prevent \, from being unescaped.
22561
22562 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22563
22564 Prevent unknown commands from stopping menuentry execution.
22565
22566 * script/execute.c (grub_script_execute_cmdline): Print error after
22567 unknown command.
22568
22569 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22570
22571 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
22572 Reported by: Pavel Pisa.
22573
22574 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22575
22576 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
22577
22578 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22579
22580 Merge grub_ieee1275_map_physical into grub_map and rename to
22581 grub_ieee1275_map
22582
22583 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
22584 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
22585 Remove.
22586 * kern/ieee1275/openfw.c (grub_map): Rename to ...
22587 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
22588 necessary.
22589 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
22590
22591 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22592
22593 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
22594 opening and not after.
22595
22596 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22597
22598 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
22599 constants.
22600
22601 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22602
22603 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
22604 (alloc_phys): Use ALIGN_UP instead of align_addr.
22605
22606 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22607
22608 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
22609
22610 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22611
22612 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
22613
22614 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22615
22616 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
22617 verbose dprintf.
22618
22619 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22620
22621 Fix over-4GiB seek on sparc64.
22622
22623 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
22624 Replace pos_i and pos_lo with pos. All users updated.
22625 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22626 New constant.
22627 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22628 Likewise.
22629 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
22630 and pos_lo.
22631
22632 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22633
22634 * util/grub-mkrawimage.c (main): Call set_program_name.
22635
22636 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22637
22638 Properly align 64-bit targets.
22639
22640 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
22641 (generate_image): Use ALIGN_ADDR.
22642
22643 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22644
22645 Properly create cross-endian images.
22646
22647 * include/grub/types.h (grub_host_to_target_addr): New macro
22648 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
22649
22650 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22651
22652 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
22653
22654 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22655
22656 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
22657
22658 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
22659 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
22660 (grub_linux_boot): Divide by 64K when on VESA.
22661
22662 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22663
22664 Support GRUB_GFXPAYLOAD_LINUX.
22665
22666 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
22667 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
22668
22669 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22670
22671 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
22672 to show messages instead of discarding them.
22673 Process errors after executing command and not before. Keep old method
22674 too as precaution.
22675
22676 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
22677
22678 * configure.ac: Check for ft2build.h.
22679
22680 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22681
22682 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
22683
22684 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22685
22686 * genkernsyms.sh.in: Use TARGET_CC.
22687
22688 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
22689
22690 * NEWS: Update.
22691
22692 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22693
22694 * include/grub/multiboot2.h: Remove leftover file.
22695 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
22696 * include/grub/partition.h [GRUB_UTIL]: Likewise.
22697
22698 2010-02-07 Yves Blusseau <blusseau@zetam.org>
22699
22700 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
22701
22702 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22703
22704 Fix warnings in grub-emu when compiling with maximum warning options.
22705
22706 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
22707 (grub_arch_modules_addr): Return 0 and not NULL.
22708 * util/misc.c (ENABLE_RELOCATABLE): New definition.
22709 (xstrdup): Use newstr instead of dup.
22710 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
22711 of disk to dsk to avoid shadowing.
22712 (find_free_slot): Fix prototype.
22713 * util/getroot.c (grub_util_is_dmraid): Make static.
22714 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
22715 Add missing prototype.
22716 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
22717
22718 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22719
22720 * loader/i386/linux.c (grub_linux_setup_video): Handle error
22721 appropriately.
22722
22723 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22724
22725 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
22726 code out.
22727
22728 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22729
22730 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
22731 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
22732 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
22733 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
22734 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
22735 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
22736
22737 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22738
22739 * include/grub/err.h (grub_err_printf): Don't export.
22740
22741 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22742
22743 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
22744
22745 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22746
22747 * include/grub/i18n.h (grub_gettext_dummy): Removed.
22748 * kern/misc.c (grub_gettext_dummy): Make static.
22749
22750 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22751
22752 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
22753 by non-valid ones.
22754 * kern/term.c (grub_putchar): Likewise.
22755
22756 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22757
22758 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
22759 buggy hook call and memory leak.
22760
22761 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22762
22763 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
22764
22765 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22766
22767 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
22768
22769 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22770
22771 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
22772 modevar.
22773 Return grub_errno on allocation error.
22774
22775 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22776
22777 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
22778
22779 2010-02-06 Yves Blusseau <blusseau@zetam.org>
22780
22781 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
22782 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
22783
22784 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22785
22786 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
22787 non-pxe disk.
22788 (grub_pxefs_open): Likewise.
22789
22790 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22791
22792 * util/grub.d/10_hurd.in: Add --class information to menuentries.
22793 * util/grub.d/10_kfreebsd.in: Likewise.
22794 * util/grub.d/10_linux.in: Likewise.
22795
22796 2010-02-06 Colin D Bennett <colin@gibibit.com>
22797
22798 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
22799 (gfxmenu_mod_SOURCES): New variable.
22800 (gfxmenu_mod_CFLAGS): Likewise.
22801 (gfxmenu_mod_LDFLAGS): Likewise.
22802 * include/grub/term.h (grub_term_set_current_output): Declare
22803 argument as const.
22804 * docs/gfxmenu-theme-example.txt: New file.
22805 * gfxmenu/gfxmenu.c: Likewise.
22806 * gfxmenu/gui_box.c: Likewise.
22807 * gfxmenu/gui_canvas.c: Likewise.
22808 * gfxmenu/gui_circular_progress.c: Likewise.
22809 * gfxmenu/gui_image.c: Likewise.
22810 * gfxmenu/gui_label.c: Likewise.
22811 * gfxmenu/gui_list.c: Likewise.
22812 * gfxmenu/gui_progress_bar.c: Likewise.
22813 * gfxmenu/gui_string_util.c: Likewise.
22814 * gfxmenu/gui_util.c: Likewise.
22815 * gfxmenu/icon_manager.c: Likewise.
22816 * gfxmenu/model.c: Likewise.
22817 * gfxmenu/named_colors.c: Likewise.
22818 * gfxmenu/theme_loader.c: Likewise.
22819 * gfxmenu/view.c: Likewise.
22820 * gfxmenu/widget-box.c: Likewise.
22821 * include/grub/gfxmenu_model.h: Likewise.
22822 * include/grub/gfxmenu_view.h: Likewise.
22823 * include/grub/gfxwidgets.h: Likewise.
22824 * include/grub/gui.h: Likewise.
22825 * include/grub/gui_string_util.h: Likewise.
22826 * include/grub/icon_manager.h: Likewise.
22827
22828 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22829
22830 Agglomerate scrolling in gfxterm.
22831
22832 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
22833 (grub_virtual_screen_setup): Initialise 'total_screen'.
22834 (write_char): Split to ...
22835 (paint_char): ... this ...
22836 (write_char): ... and this.
22837 (paint_char): Handle delayed scrolling.
22838 (draw_cursor): Likewise.
22839 (scroll_up): Split to ...
22840 (real_scroll): ... this ...
22841 (scroll_up): ... and this.
22842 (real_scroll): Handle multi-line scroll and draw below-the-bottom
22843 characters.
22844 (grub_gfxterm_refresh): Call real_scroll.
22845
22846 2010-02-06 Colin D Bennett <colin@gibibit.com>
22847
22848 * include/grub/misc.h (grub_iscntrl): New inline function.
22849 (grub_isalnum): Likewise.
22850 (grub_strtol): Likewise.
22851
22852 2010-02-06 Colin D Bennett <colin@gibibit.com>
22853
22854 * normal/menu_text.c (get_entry_number): Move from here ...
22855 * normal/menu.c (get_entry_number): ... moved here.
22856 * include/grub/menu.h (grub_menu_get_default_entry_index):
22857 New prototype.
22858 * normal/menu.c (grub_menu_get_default_entry_index): New function.
22859 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
22860 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
22861 (grub_menu_viewer_should_return): Likewise.
22862 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
22863 * normal/menu_text.c (run_menu): Enable menu switching.
22864 * normal/menu_viewer.c (should_return): New variable.
22865 (menu_viewer_changed): Likewise.
22866 (grub_menu_viewer_show_menu): Handle menu viewer changes.
22867 (grub_menu_viewer_should_return): New function.
22868 (menuviewer_write_hook): Likewise.
22869 (grub_menu_viewer_init): Likewise.
22870
22871 2010-02-06 Colin D Bennet <colin@gibibit.com>
22872 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22873
22874 Support for gfxterm in a window.
22875
22876 * include/grub/gfxterm.h: New file.
22877 * include/grub/video.h (struct grub_video_rect): New declaration.
22878 (grub_video_rect_t): Likewise.
22879 * term/gfxterm.c (struct grub_gfxterm_window): New type.
22880 (refcount): New variable.
22881 (render_target): Likewise.
22882 (window): Likewise.
22883 (repaint_callback): Likewise.
22884 (grub_virtual_screen_setup): Use 'render_target'.
22885 (init_window): New function.
22886 (grub_gfxterm_init_window): Likewise.
22887 (grub_gfxterm_init): Check reference counter.
22888 Use init_window.
22889 (destroy_window): New function.
22890 (grub_gfxterm_destroy_window): Likewise.
22891 (grub_gfxterm_fini): Check reference counter.
22892 Use destroy_window.
22893 (redraw_screen_rect): Restore viewport.
22894 Use 'render_target' and 'window'.
22895 Call 'repaint_callback'.
22896 (write_char): Use 'render_target'.
22897 (draw_cursor): Likewise.
22898 (scroll_up): Restore viewport.
22899 Use 'render_target' and 'window'.
22900 Call 'repaint_callback'.
22901 (grub_gfxterm_cls): Likewise.
22902 (grub_gfxterm_refresh): Use 'window'.
22903 (grub_gfxterm_set_repaint_callback): New function.
22904 (grub_gfxterm_background_image_cmd): Use 'window'.
22905 (grub_gfxterm_get_term): New function.
22906 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
22907
22908 2010-02-06 Colin D Bennett <colin@gibibit.com>
22909
22910 Bitmap scaling support.
22911
22912 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
22913 (bitmap_scale_mod_SOURCES): New variable.
22914 (bitmap_scale_mod_CFLAGS): Likewise.
22915 (bitmap_scale_mod_LDFLAGS): Likewise.
22916 * include/grub/bitmap_scale.h: New file.
22917 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
22918 (background_image_cmd_options): New variable.
22919 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
22920 (cmd): Rename and change type to ...
22921 (background_image_cmd_handle): ... this. All users updated.
22922 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
22923 * video/bitmap_scale.c: New file.
22924
22925 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22926
22927 SDL support.
22928
22929 * Makefile.in (LIBSDL): New variable.
22930 (enable_grub_emu_sdl): Likewise.
22931 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
22932 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
22933 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
22934 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
22935 * util/sdl.c: New file.
22936
22937 2010-02-06 Colin D Bennett <colin@gibibit.com>
22938 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22939
22940 Double buffering support.
22941
22942 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
22943 * include/grub/video.h: Update comment.
22944 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
22945 New type.
22946 (grub_video_fb_doublebuf_blit_init): New prototype.
22947 * term/gfxterm.c (scroll_up): Support double buffering.
22948 (grub_gfxterm_refresh): Likewise.
22949 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
22950 (grub_video_fb_doublebuf_blit_init): Likewise.
22951 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
22952 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
22953 'displayed_page', 'render_page' and 'update_screen'.
22954 (grub_video_vbe_fini): Free offscreen buffer.
22955 (doublebuf_pageflipping_commit): New function.
22956 (doublebuf_pageflipping_update_screen): Likewise.
22957 (doublebuf_pageflipping_init): Likewise.
22958 (double_buffering_init): Likewise.
22959 (grub_video_vbe_setup): Enable doublebuffering.
22960 (grub_video_vbe_swap_buffers): Implement.
22961 (grub_video_vbe_set_active_render_target): Handle double buffering.
22962 (grub_video_vbe_get_active_render_target): Likewise.
22963 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
22964 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
22965 (grub_video_vbe_enable_double_buffering): Likewise.
22966 (grub_video_vbe_swap_buffers): Use update_screen.
22967 (grub_video_set_mode): Use double buffering.
22968
22969 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22970
22971 * maintainance/gentrigtables.py: Remove.
22972 * lib/trig.c: Likewise.
22973
22974 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
22975
22976 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
22977 `trigtables.c'.
22978 (trigtables.c): New rule.
22979 (gentrigtables): Likewise.
22980 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
22981
22982 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22983
22984 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
22985 integer constants.
22986
22987 2010-02-06 Colin D Bennet <colin@gibibit.com>
22988
22989 Trigonometry support.
22990
22991 * include/grub/trig.h: New file.
22992 * lib/trig.c: Likewise.
22993 * maintainance/gentrigtables.py: Likewise.
22994 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
22995 (trig_mod_SOURCES): New variable.
22996 (trig_mod_CFLAGS): Likewise.
22997 (trig_mod_LDFLAGS): Likewise.
22998
22999 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23000
23001 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
23002 disk devices.
23003
23004 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23005
23006 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
23007 error.
23008
23009 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
23010
23011 * util/hostdisk.c (open_device): Don't use partition device when reading
23012 before the partition.
23013 (grub_util_biosdisk_read): Don't read from partition and before the
23014 partition in single operation.
23015 (grub_util_biosdisk_write): Don't write to partition and before the
23016 partition in single operation.
23017
23018 2010-02-03 Torsten Landschoff <torsten@debian.org>
23019
23020 * kern/disk.c (grub_disk_read): Fix offset computation when reading
23021 last sectors.
23022
23023 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
23024
23025 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
23026 CDROM reads.
23027 (grub_biosdisk_write): Refuse to write to CDROM.
23028
23029 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
23030
23031 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
23032
23033 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
23034
23035 * font/font.c (find_glyph): Check that bmp_idx is available before
23036 using it.
23037 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
23038 with (font == NULL).
23039
23040 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
23041
23042 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
23043
23044 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
23045
23046 * include/grub/script_sh.h (sourcecode): Add const qualifier.
23047 * util/grub-script-check.c (getline): Fix empty lines case.
23048
23049 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
23050
23051 * Makefile.in (check): Exit with fail status when one of the tests
23052 fails.
23053 * tests/example_functional_test.c (example_test): Fix reversed assert.
23054 * tests/example_unit_test.c (example_test): Likewise.
23055
23056 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
23057
23058 * util/grub.d/10_linux.in: This script does not use any of the
23059 contents of gettext.sh, only the external command `gettext', so stop
23060 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
23061 the same prefix as GRUB.)
23062 * util/grub.d/10_kfreebsd.in: Likewise.
23063
23064 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23065
23066 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
23067 of the line.
23068
23069 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23070
23071 * kern/disk.c (grub_disk_read): Fix offset computation when reading
23072 last sectors.
23073
23074 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23075
23076 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
23077 having a 4KiB and not 32KiB buffer size.
23078
23079 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23080
23081 * util/hostfs.c: Include `<errno.h>'.
23082 (grub_hostfs_read): Handle errors from fseeko() and fread().
23083
23084 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23085
23086 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
23087 loop when using read hooks on files whose size isn't sector-aligned.
23088
23089 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23090
23091 Remove unused parameter.
23092
23093 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
23094 (grub_iso9660_open): Remove initialization of `data->length'.
23095
23096 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23097
23098 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
23099 memleak conditions.
23100
23101 2010-01-27 Carles Pina i Estany <carles@pina.cat>
23102
23103 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
23104 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
23105
23106 2010-01-26 Carles Pina i Estany <carles@pina.cat>
23107
23108 * util/bin2h.c (usage): Fix warning (space after backslash).
23109
23110 2010-01-26 Carles Pina i Estany <carles@pina.cat>
23111
23112 * font/font.c: Include `grub/fontformat.h.
23113 Remove font file format constants.
23114 (grub_font_load): Use the new macros.
23115 * include/grub/fontformat.h: New file.
23116 * util/grub-mkfont.c: Include `grub/fontformat.c'.
23117 (write_font_pf2): Use the new macros.
23118
23119 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
23120
23121 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
23122 does.
23123
23124 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
23125
23126 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
23127
23128 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
23129 (_start): Macroify `0x7F'.
23130
23131 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
23132 (make_install_device): Use "(pxe)" as fallback prefix when booting
23133 via PXE.
23134
23135 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
23136
23137 * configure.ac: Reset LIBS after check for libgcc symbols.
23138
23139 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
23140
23141 * util/hostdisk.c (open_device): Add trailing newline to debug
23142 message.
23143
23144 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
23145
23146 * configure.ac: Check for `limits.h'.
23147 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
23148
23149 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
23150
23151 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
23152 capitalize error strings.
23153
23154 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
23155
23156 * util/grub.d/10_hurd.in: Add a recovery mode.
23157
23158 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
23159
23160 * configure.ac: Check for libgcc symbols with -nostdlib.
23161
23162 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
23163
23164 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
23165
23166 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23167
23168 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
23169 stack since heap may be unavailable at that point.
23170 (grub_ofconsole_gotoxy): Likewise.
23171
23172 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23173
23174 * configure.ac: Check for _restgpr_14_x.
23175 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
23176 and _savegpr_* prototypes.
23177
23178 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
23179
23180 Use generic grub_reboot() for i386-efi.
23181
23182 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
23183 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
23184 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
23185
23186 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23187
23188 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
23189 presence of "prefix" variable as it breaks when normal.mod is
23190 embedded.
23191
23192 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23193
23194 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
23195 stack since heap is unavailable at that point.
23196
23197 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23198
23199 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
23200 (grub_freebsd_bootinfo): Rewritten.
23201 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
23202
23203 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23204
23205 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
23206
23207 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
23208
23209 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
23210 domain now.
23211
23212 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
23213
23214 * util/misc.c (make_system_path_relative_to_its_root): Change the work
23215 around for handling "/" to the correct fix. Fix a memory leak. Use
23216 xstrdup instead of strdup.
23217
23218 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23219
23220 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
23221
23222 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23223
23224 Optimise glyph lookup by Basic Multilingual Plane lookup array.
23225
23226 * font/font.c (struct grub_font): New member 'bmp_idx'.
23227 (font_init): Initialise 'bmp_idx'.
23228 (load_font_index): Fill 'bmp_idx'.
23229 (find_glyph): Make inline. Use bmp_idx for BMP characters.
23230
23231 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23232
23233 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
23234 unnecessary calls.
23235
23236 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23237
23238 Move context handling out of the kernel.
23239
23240 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
23241 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
23242 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
23243 * conf/i386-efi.rmk: Likewise.
23244 * conf/i386-ieee1275.rmk: Likewise.
23245 * conf/i386-pc.rmk: Likewise.
23246 * conf/powerpc-ieee1275.rmk: Likewise.
23247 * conf/sparc64-ieee1275.rmk: Likewise.
23248 * conf/x86_64-efi.rmk: Likewise.
23249 * include/grub/env.h: Include grub/menu.h.
23250 (grub_env_var_type): Removed.
23251 (grub_env_var): Replaced field 'type' with 'global'.
23252 (grub_env_find): New prototype.
23253 (grub_env_context_open): Remove EXPORT_FUNC.
23254 (grub_env_context_close): Likewise.
23255 (grub_env_export): Likewise.
23256 (grub_env_set_data_slot): Removed.
23257 (grub_env_get_data_slot): Likewise.
23258 (grub_env_unset_data_slot): Likewise.
23259 (grub_env_unset_menu): New prototype.
23260 (grub_env_set_menu): Likewise.
23261 (grub_env_get_menu): Likewise.
23262 * include/grub/env_private.h: New file.
23263 * include/grub/normal.h (grub_context_init): New prototype.
23264 (grub_context_fini): Likewise.
23265 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
23266 * normal/context.c (grub_cmd_export): ... to here.
23267 * kern/env.c: Include env_private.h.
23268 (HASHSZ): Moved to include/grub/env_private.h.
23269 (grub_env_context): Likewise.
23270 (grub_env_sorted_var): Likewise.
23271 (current_context): Renamed from this ...
23272 (grub_current_context): ...to this. 'static' removed. All users updated.
23273 (grub_env_find): Removed 'static'.
23274 (grub_env_context_open): Moved to normal/context.c.
23275 (grub_env_context_close): Likewise.
23276 (grub_env_export): Likewise.
23277 (mangle_data_slot_name): Removed.
23278 (grub_env_set_data_slot): Likewise.
23279 (grub_env_get_data_slot): Likewise.
23280 (grub_env_unset_data_slot): Likewise.
23281 * kern/main.c (grub_set_root_dev): Don't export root.
23282 It will be done later.
23283 (grub_main): Don't export prefix.
23284 It will be done later.
23285 * normal/context.c: New file.
23286 * normal/main.c (free_menu): Use grub_env_unset_menu.
23287 (grub_normal_add_menu_entry): Use grub_env_get_menu.
23288 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
23289 (GRUB_MOD_INIT(normal)): Call grub_context_init.
23290 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
23291
23292 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23293
23294 setpci support.
23295
23296 * commands/setpci.c: New file.
23297 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
23298 (setpci_mod_SOURCES): New variable.
23299 (setpci_mod_CFLAGS): Likewise.
23300 (setpci_mod_LDFLAGS): Likewise.
23301
23302 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23303
23304 Byte-addressable PCI configuration space.
23305
23306 * bus/pci.c (grub_pci_make_address): Use byte address instead of
23307 dword address.
23308 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
23309 GRUB_PCI_REG_CACHELINE.
23310 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
23311 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
23312 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
23313 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
23314 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
23315 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
23316 grub_pci_make_address.
23317 (lock_rom_area): Likewise.
23318 * commands/lspci.c (grub_lspci_iter): Use macroses
23319 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
23320 of grub_pci_make_address.
23321 * disk/ata.c (grub_ata_pciinit): Likewise.
23322 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
23323 (GRUB_PCI_REG_VENDOR): Likewise.
23324 (GRUB_PCI_REG_DEVICE): Likewise.
23325 (GRUB_PCI_REG_COMMAND): Likewise.
23326 (GRUB_PCI_REG_STATUS): Likewise.
23327 (GRUB_PCI_REG_REVISION): Likewise.
23328 (GRUB_PCI_REG_CLASS): Likewise.
23329 (GRUB_PCI_REG_CACHELINE): Likewise.
23330 (GRUB_PCI_REG_LAT_TIMER): Likewise.
23331 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
23332 (GRUB_PCI_REG_BIST): Likewise.
23333 (GRUB_PCI_REG_ADDRESSES): Likewise.
23334 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23335 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23336 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23337 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23338 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23339 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23340 (GRUB_PCI_REG_CIS_POINTER): Likewise.
23341 (GRUB_PCI_REG_SUBVENDOR): Likewise.
23342 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
23343 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
23344 (GRUB_PCI_REG_CAP_POINTER): Likewise.
23345 (GRUB_PCI_REG_IRQ_LINE): Likewise.
23346 (GRUB_PCI_REG_IRQ_PIN): Likewise.
23347 (GRUB_PCI_REG_MIN_GNT): Likewise.
23348 (GRUB_PCI_REG_MAX_LAT): Likewise.
23349 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
23350 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
23351 * video/efi_uga.c (find_framebuf): Likewise.
23352 * video/sm712.c (grub_video_sm712_setup): Likewise.
23353 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
23354 space.
23355
23356 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23357
23358 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
23359 can be reliably determined to be supported.
23360
23361 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23362
23363 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
23364 that VESA is supported.
23365 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
23366 supported.
23367
23368 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23369
23370 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
23371
23372 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23373
23374 * util/misc.c (make_system_path_relative_to_its_root): Work around
23375 special-casing of "/", as previous incarnation of this routine did.
23376
23377 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23378
23379 Fix any-emu compilation.
23380
23381 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
23382 * grub_bin2h_SOURCES: New variable.
23383
23384 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23385
23386 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
23387
23388 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23389
23390 * util/grub.d/00_header.in: Fix handling of locale_dir.
23391
23392 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23393
23394 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
23395 as possible unifont location (Gentoo).
23396 Reported by: Alexander Brüning
23397
23398 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23399
23400 Don't try to generate lists for kernel.img.
23401
23402 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
23403 (pkglib_MODULES): Remove kernel.img.
23404 (kernel_img_EXPORTS): Removed.
23405 (kernel_img_RELOCATABLE): New variable.
23406 * conf/x86_64-efi.rmk: Likewise.
23407 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
23408
23409 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23410
23411 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
23412 grub_xasprintf or grub_snprintf.
23413 (grub_vsprintf): Likewise.
23414 (grub_snprintf): New proto.
23415 (grub_vsnprintf): Likewise.
23416 (grub_xasprintf): Likewise.
23417 (grub_xvasprintf): Likewise.
23418 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
23419 (grub_sprintf): Removed.
23420 (grub_vsnprintf): New function.
23421 (grub_snprintf): Likewise.
23422 (grub_xvasprintf): Likewise.
23423 (grub_xasprintf): Likewise.
23424 (grub_vsprintf): Renamed to ...
23425 (grub_vsnprintf_real): ...this. New argument max_len.
23426
23427 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
23428
23429 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
23430 fix grub-script-check warning.
23431
23432 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23433
23434 * include/grub/font.h (grub_font_load): Fix prototype.
23435
23436 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23437
23438 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
23439
23440 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23441
23442 * include/grub/x86_64/at_keyboard.h: New file.
23443
23444 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23445
23446 * loader/mips/linux.c: Include missing grub/i18n.h.
23447
23448 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23449
23450 * normal/menu.c (notify_execution_failure): Clarify error message.
23451
23452 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23453
23454 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
23455 return value (and revert all return statements). Update users.
23456
23457 2010-01-20 Dan Merillat <debian@dan.merillat.org>
23458
23459 * kern/device.c (grub_device_iterate): Allocate new part_ent
23460 structure based on sizeof (*p) rather than sizeof (p->next), to
23461 account for structure padding.
23462
23463 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
23464 disk is NULL, which might happen for LVM physical volumes with no
23465 LVM signature.
23466
23467 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23468
23469 * loader/mips/linux.c (grub_cmd_initrd)
23470 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
23471
23472 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23473
23474 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
23475 (grub_video_video_init, grub_video_bitmap_init)
23476 (grub_font_manager_init, grub_term_gfxterm_init)
23477 (grub_at_keyboard_init): New extern declarations.
23478 (grub_machine_init): Initialize gfxterm and at_keyboard.
23479
23480 * kern/main.c (grub_main): Revert grub_printf delay kludge.
23481
23482 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
23483 `gfxterm.mod' into core image.
23484
23485 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23486 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23487 (kernel_img_FORMAT): Copy to ...
23488
23489 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23490 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23491 (kernel_img_FORMAT): ... here, and ...
23492
23493 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23494 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23495 (kernel_img_FORMAT): ... here.
23496
23497 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
23498 and input (at_keyboard) terminals in kernel.
23499 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
23500
23501 (pkglib_MODULES): Remove `pci.mod'.
23502 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
23503 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
23504 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
23505 (at_keyboard_mod_LDFLAGS): Remove variables.
23506
23507 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
23508
23509 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
23510
23511 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
23512
23513 * include/grub/mips/libgcc.h: Only export symbols for functions
23514 that libgcc provides.
23515
23516 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
23517
23518 MIPS support.
23519
23520 * bus/bonito.c: New file.
23521 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
23522 GRUB_PCI_NUM_DEVICES.
23523 * term/i386/pc/serial.c: Move to ...
23524 * term/serial.c: ... here. All users updated.
23525 * util/i386/pc/grub-mkimage.c: Move to ...
23526 * util/grub-mkrawimage.c: ... here. All users updated.
23527 * term/i386/pc/at_keyboard.c: Move to ...
23528 * term/at_keyboard.c: ... here. All users updated.
23529 * conf/mips-qemu-mips.rmk: New file.
23530 * conf/mips-yeeloong.rmk: Likewise.
23531 * conf/mips.rmk: Likewise.
23532 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
23533 mipsel-qemu-mips.
23534 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
23535 to port addresses.
23536 (grub_ata_pciinit): Support CS5536.
23537 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
23538 * font/font_cmd.c (loadfont_command): Open file before passing it to
23539 grub_font_load.
23540 (pseudo_file_read): New function.
23541 (pseudo_file_close): Likewise.
23542 (pseudo_fs): New structure.
23543 (load_font_module): New function.
23544 (GRUB_MOD_INIT(font_manager)): Load embedded font.
23545 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
23546 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
23547 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
23548 * include/grub/i386/at_keyboard.h: Split into ...
23549 * include/grub/at_keyboard.h: ... this ...
23550 * include/grub/i386/at_keyboard.h: ... and this.
23551 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
23552 New prototype.
23553 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
23554 updated.
23555 (grub_elf64_size): Likewise.
23556 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
23557 filename.
23558 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
23559 * include/grub/i386/coreboot/serial.h: Rewritten.
23560 * include/grub/i386/ieee1275/serial.h: Include
23561 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
23562 * include/grub/i386/pc/serial.h: Moved from here ...
23563 * include/grub/serial.h: ... to here. All users updated.
23564 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
23565 (GRUB_PCI_NUM_BUS): Likewise.
23566 (GRUB_PCI_NUM_DEVICES): Likewise.
23567 (grub_pci_device_map_range): Add missing volatile keyword.
23568 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
23569 * include/grub/mips/at_keyboard.h: New file.
23570 * include/grub/mips/cache.h: Likewise.
23571 * include/grub/mips/io.h: Likewise.
23572 * include/grub/mips/kernel.h: Likewise.
23573 * include/grub/mips/libgcc.h: Likewise.
23574 * include/grub/mips/pci.h: Likewise.
23575 * include/grub/mips/qemu-mips/boot.h: Likewise.
23576 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23577 * include/grub/mips/qemu-mips/loader.h: Likewise.
23578 * include/grub/mips/qemu-mips/memory.h: Likewise.
23579 * include/grub/mips/qemu-mips/serial.h: Likewise.
23580 * include/grub/mips/qemu-mips/time.h: Likewise.
23581 * include/grub/mips/relocator.h: Likewise.
23582 * include/grub/mips/time.h: Likewise.
23583 * include/grub/mips/types.h: Likewise.
23584 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
23585 * include/grub/mips/yeeloong/boot.h: Likewise.
23586 * include/grub/mips/yeeloong/kernel.h: Likewise.
23587 * include/grub/mips/yeeloong/loader.h: Likewise.
23588 * include/grub/mips/yeeloong/memory.h: Likewise.
23589 * include/grub/mips/yeeloong/pci.h: Likewise.
23590 * include/grub/mips/yeeloong/serial.h: Likewise.
23591 * include/grub/mips/yeeloong/time.h: Likewise.
23592 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
23593 * kern/elf.c (grub_elf32_size): New parameter. All users
23594 updated.
23595 (grub_elf64_size): Likewise.
23596 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
23597 Load modules before saying "Welcome to GRUB!".
23598 Call grub_refresh after saying "Welcome to GRUB!".
23599 * kern/mips/cache.S: New file.
23600 * kern/mips/cache_flush.S: Likewise.
23601 * kern/mips/dl.c: Likewise.
23602 * kern/mips/init.c: Likewise.
23603 * kern/mips/qemu-mips/init.c: Likewise.
23604 * kern/mips/startup.S: Likewise.
23605 * kern/mips/yeeloong/init.c: Likewise.
23606 * kern/term.c (grub_putcode): Handle NULL terminal.
23607 (grub_getcharwidth): Likewise.
23608 (grub_getkey): Likewise.
23609 (grub_checkkey): Likewise.
23610 (grub_getkeystatus): Likewise.
23611 (grub_getxy): Likewise.
23612 (grub_getwh): Likewise.
23613 (grub_gotoxy): Likewise.
23614 (grub_cls): Likewise.
23615 (grub_setcolorstate): Likewise.
23616 (grub_setcolor): Likewise.
23617 (grub_getcolor): Likewise.
23618 (grub_refresh): Likewise.
23619 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
23620 (write_jump): Add hatch nop.
23621 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
23622 * lib/mips/setjmp.S: New file.
23623 * loader/mips/linux.c: Likewise.
23624 * term/i386/pc/at_keyboard.c: Move from here ...
23625 * term/at_keyboard.c: ... to here.
23626 * term/i386/pc/serial.c: Moved from here ...
23627 * term/serial.c: ... to here. All users updated.
23628 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
23629 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
23630 (serial_translate_key_sequence): Avoid deadlock.
23631 (grub_serial_getkey): Handle backspace.
23632 (grub_serial_putchar): Fix newline handling.
23633 * util/i386/pc/grub-mkimage.c: Move from here ...
23634 * util/grub-mkrawimage.c: ... to here. All users updated.
23635 (generate_image): New parameters 'font_path' and 'format'.
23636 Support embedding font.
23637 Use grub_host_to_target* instead of grub_cpu_to_le*.
23638 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
23639 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
23640 (options): New option "--font".
23641 (usage): Likewise.
23642 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
23643 (main): Handle "--font".
23644 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
23645 (grub_virtual_screen_setup): Set bg_color_display.
23646 (redraw_screen_rect): Use bg_color_display instead of incorrect
23647 bg_color.
23648 (grub_gfxterm_cls): Likewise.
23649 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
23650 Support embedding config file.
23651 (add_segments): Likewise.
23652 (options): New option "--config".
23653 (main): Handle "--config".
23654 * video/sm712.c: New file.
23655
23656 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23657
23658 Fix parallel builds.
23659
23660 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
23661 font.c depend on ascii.h).
23662
23663 2010-01-12 Carles Pina i Estany <carles@pina.cat>
23664
23665 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
23666
23667 2010-01-11 Carles Pina i Estany <carles@pina.cat>
23668
23669 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
23670 By default: disabled.
23671 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
23672 parameter.
23673
23674 2010-01-10 Carles Pina i Estany <carles@pina.cat>
23675
23676 * font/font.c: Update copyright years.
23677 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
23678
23679 2010-01-10 Carles Pina i Estany <carles@pina.cat>
23680
23681 * font/font.c: Include `ascii.h'.
23682 (ASCII_BITMAP_SIZE): New macro.
23683 (ascii_font_glyph): Define.
23684 (ascii_glyph_lookup): New function.
23685 (grub_font_get_string_width): Change comment. If glyph not found, use
23686 ascii_glyph_lookup.
23687 (grub_font_get_glyph_with_fallback): If glyph not available returns
23688 ascii_glyph_lookup.
23689 * util/grub-mkfont.c (file_formats): New enum.
23690 (options): Add `ascii-bitmaps' new option.
23691 (usage): Add `asii-bitmaps' new option.
23692 (write_font_ascii_bitmap): New function.
23693 (write_font): Rename to ...
23694 (write_font_p2): ... this. Remove print_glyphs call.
23695 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
23696 used. Call print_glyphs.
23697 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
23698
23699 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23700
23701 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
23702 (grub_bin2h_SOURCES): New variable.
23703 * util/bin2h.c: New file.
23704
23705 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23706
23707 * include/multiboot.h: Resynced with spec.
23708 * include/multiboot2.h: Likewise.
23709 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
23710 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
23711
23712 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23713
23714 * include/grub/term.h (grub_term_register_input,
23715 grub_term_register_output): Check return of terminal init()
23716 routines, and abort if errors are raised.
23717
23718 * commands/terminal.c: Update copyright year.
23719
23720 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23721
23722 * commands/terminal.c (grub_cmd_terminal_input)
23723 (grub_cmd_terminal_output): Check return of terminal init()
23724 routines, and abort if errors are raised.
23725
23726 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23727
23728 * include/grub/i386/bsd.h: Fix include pathes.
23729
23730 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23731
23732 Add missing *BSD copyright headers.
23733
23734 * include/grub/aout.h: Add BSD licence.
23735 * include/grub/i386/bsd.h: Parts under different licences moved to ...
23736 * include/grub/i386/freebsd_linker.h: ... here,
23737 * include/grub/i386/freebsd_reboot.h: ... here,
23738 * include/grub/i386/netbsd_bootinfo.h: ... here,
23739 * include/grub/i386/netbsd_reboot.h: ... here,
23740 * include/grub/i386/openbsd_bootarg.h: ... here,
23741 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
23742 licence to each file.
23743
23744 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23745
23746 * acinclude.m4: Remove `nop' assembly instruction; it's not
23747 implemented by all architectures.
23748
23749 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23750
23751 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
23752 ELILO. This is no longer necessary.
23753
23754 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
23755
23756 Added new tool, grub-scrit-check to verify grub.cfg syntax.
23757
23758 * util/grub-script-check.c: grub-script-check tool.
23759 * conf/common.rmk: Make rules for grub-script-check.
23760
23761 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23762
23763 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
23764 spotting it back in 2008. Shame on me for forgetting he did.
23765
23766 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
23767
23768 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23769
23770 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
23771 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
23772 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
23773 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
23774 (GRUB_VIDEO_TYPE_EFI): Rename to ...
23775 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
23776
23777 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
23778
23779 * include/grub/test.h: Add license header.
23780 * tests/example_functional_test.c: Likewise.
23781 * tests/example_unit_test.c: Likewise.
23782 * tests/lib/functional_test.c: Likewise.
23783 * tests/lib/test.c: Likewise.
23784 * tests/lib/unit_test.c: Likewise.
23785
23786 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
23787
23788 Use flag-based instead of hook-based video mode selection and "auto"
23789 keyword.
23790
23791 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
23792 (grub_video_set_mode): Changed prototype. All users updated.
23793 (grub_video_check_mode_flag): New inline function.
23794 * video/video.c (parse_modespec): New function.
23795 (grub_video_set_mode): Parse flags and keywords.
23796
23797 2010-01-17 Carles Pina i Estany <carles@pina.cat>
23798
23799 * util/misc.c (grub_util_info): Fix the order of the parameters in a
23800 fprintf call.
23801
23802 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
23803
23804 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
23805
23806 2010-01-16 Carles Pina i Estany <carles@pina.cat>
23807
23808 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
23809 string.
23810 * util/grub-emu.c (usage): Likewise.
23811 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
23812 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23813 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23814 * util/i386/pc/grub-setup.c (usage): Likewise.
23815
23816 2010-01-16 Carles Pina i Estany <carles@pina.cat>
23817
23818 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
23819 the message.
23820 (grub_util_info): Likewise.
23821 (grub_util_error): Likewise.
23822 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
23823 and/or new lines in `grub_util_warna', `grub_util_info',
23824 `grub_util_error' calls.
23825 * util/getroot.c: Likewise.
23826 * util/grub-editenv.c: Likewise.
23827 * util/grub-emu.c: Likewise.
23828 * util/grub-fstest.c: Likewise.
23829 * util/grub-mkdevicemap.c: Likewise.
23830 * util/grub-mkfont.c: Likewise.
23831 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23832 * util/grub-mkrelpath.c: Likewise.
23833 * util/grub-pe2elf.c: Likewise.
23834 * util/grub-probe.c: Likewise.
23835 * util/hostdisk.c: Likewise.
23836 * util/i386/efi/grub-mkimage.c: Likewise.
23837 * util/i386/pc/grub-mkimage.c: Likewise.
23838 * util/i386/pc/grub-setup.c: Likewise.
23839 * util/ieee1275/ofpath.c: Likewise.
23840 * util/mkisofs/eltorito.c: Likewise.
23841 * util/mkisofs/rock.c: Likewise.
23842 * util/mkisofs/write.c: Likewise.
23843 * util/raid.c: Likewise.
23844 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23845 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23846
23847 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23848
23849 Enable multiboot on non-pc.
23850
23851 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
23852 multiboot.mod and multiboot2.mod to ...
23853 * conf/i386.rmk (pkglib_MODULES): ... here.
23854 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
23855 Moved to ...
23856 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
23857 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
23858 Moved to ...
23859 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
23860 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
23861 Moved to ...
23862 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
23863 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
23864 Moved to ...
23865 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
23866 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
23867 relocator.mod.
23868 (ata_mod_SOURCES): Removed.
23869 (ata_mod_CFLAGS): Likewise.
23870 (ata_mod_LDFLAGS): Likewise.
23871 (relocator_mod_SOURCES): Removed.
23872 (relocator_mod_CFLAGS): Likewise.
23873 (relocator_mod_ASFLAGS): Likewise.
23874 (relocator_mod_LDFLAGS): Likewise.
23875 Include i386.mk.
23876 * include/grub/x86_64/multiboot.h: New file.
23877 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
23878 Terminate EFI.
23879
23880 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23881
23882 Video multiboot support.
23883
23884 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
23885 New prototype.
23886 * include/multiboot.h: Resynced with multiboot specification.
23887 * include/multiboot2.h: Likewise.
23888 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
23889 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
23890 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
23891 (HAS_VGA_TEXT): Likewise.
23892 (accepts_video): New variable.
23893 (grub_multiboot_set_accepts_video): New function.
23894 (grub_multiboot_get_mbi_size): Account for video structures.
23895 (set_video_mode): New function.
23896 (retrieve_video_parameters): Likewise.
23897 (grub_multiboot_make_mbi): Fill video fields.
23898
23899 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23900
23901 Video driver ids.
23902
23903 * include/grub/video.h (grub_video_driver_id): New type.
23904 (grub_video_adapter): New member 'id'. All users updated.
23905 (grub_video_get_driver_id): New proto.
23906 * video/video.c (grub_video_get_driver_id): New function.
23907
23908 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23909
23910 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
23911 `var=val'.
23912
23913 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23914
23915 * normal/cmdline.c (print_completion): Gettextizze.
23916
23917 2001-01-14 Carles Pina i Estany <carles@pina.cat>
23918
23919 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
23920
23921 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23922
23923 * gettext/gettext.c (grub_gettext_translate): Push and pop
23924 grub_errno.
23925 (grub_gettext_delete_list): Change comment style.
23926 * kern/err.c (grub_error): Gettextizze.
23927 (grub_fatal): Gettextizze.
23928
23929 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23930
23931 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
23932 (grub_linux16_real_boot): ... this.
23933 * kern/i386/loader.S: Likewise.
23934 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
23935 (grub_linux16_boot): New function. Switches to text mode and calls
23936 grub_linux16_real_boot().
23937
23938 * loader/i386/bsd.c: Include `<grub/video.h>'.
23939 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
23940 text mode before calling grub_unix_real_boot().
23941
23942 * loader/i386/multiboot.c: Include `<grub/video.h>'.
23943 (grub_multiboot_boot): Switch to text mode before calling
23944 grub_relocator32_boot().
23945
23946 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
23947 (grub_chainloader_boot): Switch to text mode before calling
23948 grub_chainloader_real_boot().
23949
23950 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23951 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23952
23953 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
23954 non-empty value.
23955
23956 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23957 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23958
23959 * util/grub.d/00_header.in: Define a "savedefault" function for use
23960 in menu entries.
23961 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
23962
23963 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23964 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23965
23966 * util/grub-mkconfig_lib.in (save_default_entry): Only set
23967 saved_entry if boot_once is unset.
23968 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
23969 previous saved entry (i.e. grub-reboot).
23970
23971 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23972
23973 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
23974
23975 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23976
23977 * util/grub.d/00_header.in: Use `set var=val' rather than plain
23978 `var=val'.
23979 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
23980
23981 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23982
23983 * util/grub-reboot.in: Fix --version output.
23984 * util/grub-set-default.in: Likewise.
23985
23986 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23987
23988 * util/grub.d/00_header.in: Silently ignore zero-sized environment
23989 blocks.
23990
23991 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23992
23993 * util/grub.d/00_header.in: Quote the value assigned to `default',
23994 in case it contains spaces.
23995
23996 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23997
23998 * util/grub.d/30_os-prober.in: Fix merge error that moved a
23999 `save_default_entry' call from the macosx case to the linux case.
24000
24001 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
24002 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
24003
24004 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
24005 in `chosen' environment variable.
24006 * normal/menu_text.c (get_entry_number): Check if the variable
24007 matches the title of a menu entry.
24008 (run_menu): Pass menu to get_entry_number.
24009
24010 * util/grub-reboot.in: New file.
24011 * util/grub-set-default.in: New file.
24012 * conf/common.rmk (grub-reboot): New utility.
24013 (grub-set-default): New utility.
24014
24015 * util/grub-mkconfig_lib.in (save_default_entry): New function.
24016 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
24017 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
24018 move it to `saved_entry' for the next boot. Load environment on
24019 initialisation.
24020 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
24021 * util/grub.d/10_hurd.in: Likewise.
24022 * util/grub.d/10_linux.in (linux_entry): Likewise.
24023 * util/grub.d/10_windows.in: Likewise.
24024 * util/grub.d/30_os-prober.in: Likewise.
24025
24026 * util/grub-install.in: Create environment block.
24027 * util/i386/efi/grub-install.in: Likewise.
24028 * util/ieee1275/grub-install.in: Likewise.
24029 * util/sparc64/ieee1275/grub-install.in: Likewise.
24030
24031 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
24032
24033 Unit testing framework for GRUB.
24034
24035 * Makefile.in: Test framework build rules for 'make check'.
24036 * conf/tests.rmk: Build rules for individual tests and framework.
24037
24038 * include/grub/test.h: Header file for whitebox tests.
24039 * tests/lib/functional_test.c: Framework support for whitebox
24040 functional tests.
24041 * tests/lib/test.c: Common whitebox testing code for unit and
24042 functional tests.
24043 * tests/lib/unit_test.c: Framework support for whitebox unit
24044 tests.
24045
24046 * tests/util/grub-shell-tester.in: Support utility for grub-script
24047 tests.
24048 * tests/util/grub-shell.in: Utility to execute grub-script
24049 commands in a Qemu instance.
24050
24051 * tests/example_functional_test.c: Example whitebox functional
24052 test.
24053 * tests/example_grub_script_test.in: Example grub-script test.
24054 * tests/example_scripted_test.in: Example scripted test.
24055 * tests/example_unit_test.c: Example whitebox unit test.
24056
24057 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
24058
24059 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
24060 Add loader/i386/multiboot_mbi.c.
24061 (multiboot2_mod_SOURCES): Likewise.
24062 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
24063 (multiboot2_mod_SOURCES): Likewise.
24064 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
24065 (grub_multiboot_make_mbi): Likewise.
24066 (grub_multiboot_free_mbi): Likewise.
24067 (grub_multiboot_init_mbi): Likewise.
24068 (grub_multiboot_add_module): Likewise.
24069 (grub_multiboot_set_bootdev): Likewise.
24070 * loader/i386/multiboot.c (mbi): Removed.
24071 (mbi_dest): Likewise.
24072 (alloc_mbi): New variable.
24073 (grub_multiboot_payload_size): Removed. All users updated.
24074 (grub_multiboot_pure_size): New variable.
24075 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
24076 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
24077 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
24078 (grub_fill_multiboot_mmap): Likewise.
24079 (grub_multiboot_get_bootdev): Likewise.
24080 (grub_multiboot): Use multiboot_mbi functions.
24081 * loader/i386/multiboot_mbi.c: New file.
24082
24083 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
24084
24085 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
24086 it would result in module crash.
24087
24088 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
24089
24090 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
24091 (grub_ofconsole_getwh): Split to ...
24092 (grub_ofconsole_getwh): ... this.
24093 (grub_ofconsole_dimensions): ...and this.
24094 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
24095
24096 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
24097
24098 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
24099
24100 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
24101
24102 * loader/i386/pc/multiboot2.c: Removed stalled file.
24103
24104 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
24105
24106 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
24107 Reported by: Grégoire Sutre
24108
24109 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
24110
24111 * util/misc.c (canonicalize_file_name): New function.
24112 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
24113 instead of realpath().
24114
24115 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
24116
24117 * util/grub-install.in (usage): Clarify meaning of --root-directory,
24118 and make it clearer that it's optional. Based on confusion
24119 witnessed on IRC.
24120
24121 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
24122
24123 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
24124 in premature implicit newline.
24125
24126 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
24127
24128 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
24129 which resulted in garbled command line at the end of screen.
24130
24131 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24132
24133 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
24134 initialization with similar approach as with other Linux loaders.
24135
24136 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24137
24138 Fix i386-ieee1275 build.
24139
24140 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
24141 and grub_term_height() for video_{width,height} initialization.
24142
24143 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24144
24145 Fix grub-emu build.
24146
24147 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
24148
24149 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24150 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
24151
24152 Support for multiple terminals.
24153
24154 * Makefile.in (pkglib_DATA): terminal.lst.
24155 (terminal.lst): New target.
24156 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
24157 (GRUB_MOD_INIT(handler)): Likewise.
24158 (GRUB_MOD_FINI(handler)): Likewise.
24159 * commands/help.c (grub_cmd_help): Handle multiple terminals.
24160 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
24161 * commands/sleep.c (do_print): Use grub_term_restore_pos.
24162 (grub_cmd_sleep): Use grub_term_save_pos.
24163 * commands/terminal.c: New file.
24164 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
24165 commands/terminal.c and lib/charset.c.
24166 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
24167 (pkglib_MODULES): Add terminal.mod.
24168 (terminal_mod_SOURCES): New variable.
24169 (terminal_mod_CFLAGS): Likewise.
24170 (terminal_mod_LDFLAGS): Likewise.
24171 * genhandlerlist.sh: Don't handle terminals.
24172 * genmk.rb: Generate terminal-*.lst.
24173 * genterminallist.sh: New file.
24174 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
24175 (grub_is_valid_utf8): Likewise.
24176 (grub_utf8_to_ucs4_alloc): Likewise.
24177 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
24178 (grub_menu_register_viewer): Changed argument.
24179 (grub_menu_try_text): New proto.
24180 (grub_gfxmenu_try_hook): New declaration.
24181 * include/grub/normal.h (grub_normal_exit_level): New declaration.
24182 (grub_menu_init_page): Additional argument term.
24183 (grub_normal_init_page): Likewise.
24184 (grub_cmdline_get): Arguments simplified.
24185 (grub_utf8_to_ucs4_alloc): Removed.
24186 (grub_print_ucs4): Additional argument term.
24187 (grub_getstringwidth): Likewise.
24188 (grub_print_message_indented): Likewise.
24189 (grub_menu_text_register_instances): New proto.
24190 (grub_show_menu): Likewise.
24191 (read_terminal_list): Likewise.
24192 (grub_set_more): Likewise.
24193 * include/grub/parser.h: Include handler.h.
24194 * include/grub/reader.h: Rewritten.
24195 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
24196 (GRUB_TERM_WIDTH): Changed to function.
24197 (GRUB_TERM_HEIGHT): Likewise.
24198 (GRUB_TERM_BORDER_WIDTH): Likewise.
24199 (GRUB_TERM_BORDER_HEIGHT): Likewise.
24200 (GRUB_TERM_NUM_ENTRIES): Likewise.
24201 (GRUB_TERM_ENTRY_WIDTH): Likewise.
24202 (GRUB_TERM_CURSOR_X): Likewise.
24203 (grub_term_input_class): Likewise.
24204 (grub_term_output_class): Likewise.
24205 (grub_term_outputs_disabled): New declaration.
24206 (grub_term_inputs_disabled): Likewise.
24207 (grub_term_outputs): Likewise.
24208 (grub_term_inputs): Likewise.
24209 (grub_term_register_input): Rewritten.
24210 (grub_term_register_output): Likewise.
24211 (grub_term_unregister_input): Likewise.
24212 (grub_term_unregister_output): Likewise.
24213 (FOR_ACTIVE_TERM_INPUTS): New macro.
24214 (FOR_DISABLED_TERM_INPUTS): Likewise.
24215 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
24216 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
24217 * include/grub/terminfo.h: Add oterm argument to all protypes.
24218 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
24219 Use grub_rescue_run.
24220 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
24221 All users updated.
24222 * kern/reader.c: Removed. All users updated.
24223 * kern/rescue_reader.c (grub_rescue_init): Removed.
24224 (grub_rescue_reader): Likewise.
24225 (grub_register_rescue_reader): Likewise.
24226 (grub_rescue_run): New function based on kern/reader.c.
24227 * kern/term.c: Adapted for multiterm.
24228 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
24229 (grub_is_valid_utf8): Likewise.
24230 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
24231 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
24232 right terminal.
24233 * loader/i386/linux.c (grub_linux_boot): Likewise.
24234 * normal/auth.c (grub_username_get): New function.
24235 (grub_auth_check_authentication): Use grub_username_get.
24236 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
24237 * normal/color.c: Adapt for multiterm.
24238 * normal/main.c (read_config_file): Don't use grub_reader_loop.
24239 (grub_normal_init_page): Additional argument term.
24240 (read_lists): Call read_terminal_lists.
24241 (grub_enter_normal_mode): Call grub_cmdline_run.
24242 Handle grub_normal_exit_level.
24243 (grub_cmd_normal): Make reentrant.
24244 (grub_cmd_normal_exit): New function.
24245 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
24246 * normal/menu.c: Adapt for multiterm.
24247 * normal/menu_entry.c: Likewise.
24248 * normal/menu_text.c: Likewise.
24249 * normal/menu_viewer.c: Removed. All users updated.
24250 * normal/term.c: New file.
24251 * util/console.c: Change order of includes to workaround a bug in
24252 ncurses headers.
24253 * term/terminfo.c: New argument oterm on all exported functions.
24254 All users updated.
24255 * util/grub-editenv.c (grub_term_input_class): Removed.
24256 (grub_term_output_class): Likewise.
24257
24258 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
24259
24260 Make loader output a bit more user-friendly.
24261
24262 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
24263 is being loaded. Likewise for the Hurd.
24264
24265 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
24266 that kernel of FreeBSD ${version} is being loaded.
24267
24268 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
24269 grub_dprintf().
24270 (grub_cmd_initrd): Likewise.
24271 * util/grub.d/10_linux.in (linux_entry): Print message indicating
24272 that Linux ${version} is being loaded. Likewise for initrd.
24273
24274 2010-01-09 Carles Pina i Estany <carles@pina.cat>
24275
24276 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
24277
24278 2010-01-08 Carles Pina i Estany <carles@pina.cat>
24279
24280 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
24281 (GRUB_MOD_INIT): Gettextizze.
24282 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
24283 (GRUB_MOD_INIT): Gettextizze.
24284 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
24285 (grub_cmd_linux): Capitalise Linux.
24286 (GRUB_MOD_INIT): Gettextizze.
24287 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
24288 (grub_cmd_linux): Capitalise Linux.
24289 (GRUB_MOD_INIT): Gettextizze.
24290 * loader/i386/linux.c: Include `<grub/i18n.h>'.
24291 (grub_cmd_linux): Capitalise Linux.
24292 (GRUB_MOD_INIT): Gettextizze.
24293 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
24294 (GRUB_MOD_INIT): Gettextizze.
24295 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
24296 (grub_cmd_linux): Capitalise Linux.
24297 (GRUB_MOD_INIT): Gettextizze.
24298 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
24299 (grub_cpu_xnu_init): Gettextizze.
24300 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
24301 (GRUB_MOD_INIT): Gettextizze.
24302 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
24303 (GRUB_MOD_INIT): Gettextizze.
24304 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
24305 (grub_linux_load64): Capitalise Linux.
24306 (GRUB_MOD_INIT): Gettextizze.
24307 * loader/xnu.c: Include `<grub/i18n.h>'.
24308 (GRUB_MOD_INIT): Gettextizze.
24309 * po/POTFILES: Add `loader/efi/appleloader.c',
24310 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
24311 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
24312 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
24313 `loader/i386/xnu.c', `loader/multiboot_loader.c',
24314 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
24315 and `loader/xnu.c'.
24316
24317 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
24318
24319 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
24320
24321 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
24322
24323 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
24324 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
24325 * util/mkisofs/mkisofs.c (main): Readjust --version output.
24326
24327 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24328
24329 Reset Multiboot 2 support. New loader implements the draft in
24330 /branches/multiboot2 and shares as much code as possible with the
24331 production Multiboot 1 implementation.
24332
24333 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
24334 * loader/multiboot2.c: Likewise.
24335 * loader/i386/multiboot_helper.S: Likewise.
24336 * include/multiboot2.h: Replace with latest version from the draft
24337 in /branches/multiboot2.
24338
24339 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
24340 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
24341 and `loader/multiboot2.c'.
24342 (pkglib_MODULES): Add `multiboot2.mod'.
24343 (multiboot2_mod_SOURCES): New variable.
24344 (multiboot2_mod_LDFLAGS): Likewise.
24345 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
24346
24347 * conf/i386-pc.rmk: Likewise.
24348
24349 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
24350 (multiboot_mod_SOURCES): Remove variable.
24351 (multiboot_mod_LDFLAGS): Likewise.
24352 (multiboot_mod_CFLAGS): Likewise.
24353
24354 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
24355 `<multiboot2.h>' instead of `<multiboot.h>'.
24356 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
24357 (MULTIBOOT_HEADER_MAGIC): New macros.
24358
24359 * loader/multiboot_loader.c (module_version_status): Remove variable.
24360 (find_multi_boot2_header): Remove function.
24361 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
24362 logic. Always check for the Multiboot version we're compiling for.
24363 (grub_cmd_module_loader): Likewise.
24364 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
24365 command instead of `multiboot'.
24366
24367 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24368
24369 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
24370 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
24371 all users.
24372
24373 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24374 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24375
24376 Fix breakage introduced with previous commit.
24377
24378 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
24379 commands.
24380 * normal/handler.c (read_handler_list): Revert part of previous commit
24381 affecting this file.
24382 * normal/main.c (read_lists): Move read_handler_list() call back to ...
24383 (grub_normal_execute): ... here.
24384
24385 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24386
24387 Merge prefix-redefinition-fix branch.
24388
24389 * normal/autofs.c (read_fs_list): Make function capable of being
24390 run multiple times, gracefuly replacing the previous data
24391 structures.
24392 * normal/dyncmd.c (read_command_list): Likewise.
24393 * normal/handler.c (read_handler_list): Likewise.
24394 * normal/main.c (read_lists): New function. Calls all the
24395 list reading functions.
24396 (grub_normal_execute): Use read_lists() instead of calling all
24397 list reading functions explicitly. Register read_lists() as a
24398 variable hook attached to ${prefix}.
24399
24400 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24401
24402 Merge crypto branch.
24403
24404 * Makefile.in (pkglib_DATA): Add crypto.lst.
24405 (crypto.lst): New target.
24406 * commands/hashsum.c: New file.
24407 * commands/password.c (check_password): Use grub_crypto_memcmp.
24408 * commands/password_pbkdf2.c: New file.
24409 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
24410 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
24411 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
24412 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
24413 -I$(srcdir)/lib/libgcrypt_wrap.
24414 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
24415 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
24416 password_pbkdf2.mod.
24417 (crypto_mod_SOURCES): New variable.
24418 (crypto_mod_CFLAGS): Likewise.
24419 (crypto_mod_LDFLAGS): Likewise.
24420 (hashsum_mod_SOURCES): New variable.
24421 (hashsum_mod_CFLAGS): Likewise.
24422 (hashsum_mod_LDFLAGS): Likewise.
24423 (pbkdf2_mod_SOURCES): New variable.
24424 (pbkdf2_mod_CFLAGS): Likewise.
24425 (pbkdf2_mod_LDFLAGS): Likewise.
24426 (password_pbkdf2_mod_SOURCES): New variable.
24427 (password_pbkdf2_mod_CFLAGS): Likewise.
24428 (password_pbkdf2_mod_LDFLAGS): Likewise.
24429 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
24430 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
24431 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
24432 Include conf/gcry.rmk.
24433 * include/grub/auth.h: Rewritten.
24434 * include/grub/crypto.h: New file.
24435 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
24436 * include/grub/normal.h (read_crypto_list): New prototype.
24437 * lib/crypto.c: New file.
24438 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
24439 * lib/pbkdf2.c: Likewise.
24440 * normal/auth.c (grub_auth_strcmp): Removed.
24441 (grub_iswordseparator): Likewise.
24442 (grub_auth_strword): Likewise.
24443 (is_authenticated): Use grub_strword.
24444 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
24445 and grub_strword. Pass entered password to authentication callback.
24446 * normal/crypto.c: New file.
24447 * normal/main.c: Call read_crypto_list.
24448 * util/grub-mkpasswd-pbkdf2.c: New file.
24449 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
24450
24451 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
24452
24453 Fix descent and ascent calculation.
24454
24455 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
24456 (options): New option "asce".
24457 (usage): Likewise.
24458 (add_char): Ignore invalid glyphs for descent calculation.
24459 Calculate ascent from actual content.
24460 (print_glyphs): Use 'asce'.
24461 (write_font): Likewise. Allow ascent override.
24462 (main): Handle "asce" option.
24463
24464 2010-01-06 Carles Pina i Estany <carles@pina.cat>
24465
24466 * kern/err.c: Include `<grub/i18n.h>'.
24467 (grub_print_error): Add full stop. Gettextizze.
24468 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
24469 (grub_bsd_load_elf): Capitalise ELF.
24470 (grub_cmd_freebsd_loadenv): Add `s' in error string.
24471 (grub_cmd_freebsd_module): Likewise.
24472 (grub_cmd_freebsd_module_elf): Likewise.
24473 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
24474
24475 2010-01-06 Carles Pina i Estany <carles@pina.cat>
24476
24477 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
24478 * commands/search_file.c (HELP_MESSAGE): New macro.
24479 * commands/search_label.c (HELP_MESSAGE): Likewise.
24480 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
24481 * po/POTFILES: Add `commands/search_file.c',
24482 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
24483 `commands/search.c'.
24484
24485 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
24486
24487 * config.rpath: Update from Gnulib.
24488
24489 2010-01-05 Yves Blusseau <blusseau@zetam.org>
24490
24491 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
24492
24493 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
24494
24495 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
24496
24497 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
24498
24499 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
24500 arguments to fread so that we get a return value in bytes, rather
24501 than something that will normally be rounded down to 0.
24502 Adjust error handling to avoid producing garbage when size_t is not
24503 the same size as long long.
24504
24505 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
24506
24507 * util/mkisofs/write.c (padblock_write): Check return value of
24508 fread.
24509
24510 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
24511
24512 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
24513 floppy images now.
24514
24515 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
24516
24517 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
24518
24519 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
24520 instead of manual alignment.
24521 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
24522 verbose). Avoid attempts to read past end of the device
24523 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
24524 but GRUB_DISK_CACHE_SIZE may exceed that).
24525
24526 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
24527
24528 * commands/crc.c (grub_cmd_crc): Abort on read errors.
24529 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
24530 it to upper layer.
24531
24532 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24533
24534 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
24535 New constant.
24536 (grub_efi_piwg_device_path): New structure
24537 (grub_efi_piwg_device_path_t): New type.
24538 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
24539 (devpath_1): Transform to a structure. All users updated.
24540 (devpath_2): Likewise.
24541 (devpath_3): Likewise.
24542 (devpath_4): Likewise.
24543 (devpath_5): Likewise.
24544
24545 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24546
24547 * loader/efi/appleloader.c: Restored. Update all users.
24548
24549 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24550
24551 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
24552
24553 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
24554 (struct boot_blocklist): Move from here ...
24555 * include/grub/i386/pc/boot.h [ASM_FILE]
24556 (struct grub_boot_blocklist): ... to here. Update all users.
24557 (setup): Only initialize `start' member of `first_block'
24558 structure. Add assert() calls to verify the other members.
24559
24560 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
24561 (generate_image): Fix broken blocklist length initialization.
24562 Add assert() call to verify blocklist `segment' field.
24563
24564 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24565
24566 * loader/efi/appleloader.c: Remove. Update all users.
24567
24568 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24569
24570 * boot/i386/pc/boot.S: Update copyright year.
24571 * boot/i386/pc/cdboot.S: Likewise.
24572 * boot/i386/pc/diskboot.S: Likewise.
24573 * boot/i386/pc/lnxboot.S: Likewise.
24574 * boot/i386/pc/pxeboot.S: Likewise.
24575 * bus/pci.c: Likewise.
24576 * commands/cmp.c: Likewise.
24577 * commands/help.c: Likewise.
24578 * commands/hexdump.c: Likewise.
24579 * commands/i386/pc/halt.c: Likewise.
24580 * commands/i386/pc/play.c: Likewise.
24581 * commands/i386/pc/vbeinfo.c: Likewise.
24582 * commands/ls.c: Likewise.
24583 * commands/test.c: Likewise.
24584 * disk/dmraid_nvidia.c: Likewise.
24585 * disk/i386/pc/biosdisk.c: Likewise.
24586 * disk/ieee1275/nand.c: Likewise.
24587 * disk/ieee1275/ofdisk.c: Likewise.
24588 * disk/lvm.c: Likewise.
24589 * disk/raid.c: Likewise.
24590 * disk/raid6_recover.c: Likewise.
24591 * disk/scsi.c: Likewise.
24592 * fs/affs.c: Likewise.
24593 * fs/cpio.c: Likewise.
24594 * fs/ext2.c: Likewise.
24595 * fs/hfs.c: Likewise.
24596 * fs/iso9660.c: Likewise.
24597 * fs/ntfs.c: Likewise.
24598 * fs/sfs.c: Likewise.
24599 * fs/udf.c: Likewise.
24600 * fs/ufs.c: Likewise.
24601 * fs/xfs.c: Likewise.
24602 * gencmdlist.sh: Likewise.
24603 * genmk.rb: Likewise.
24604 * include/grub/disk.h: Likewise.
24605 * include/grub/efi/api.h: Likewise.
24606 * include/grub/efi/efi.h: Likewise.
24607 * include/grub/efi/pe32.h: Likewise.
24608 * include/grub/elf.h: Likewise.
24609 * include/grub/fs.h: Likewise.
24610 * include/grub/i386/at_keyboard.h: Likewise.
24611 * include/grub/i386/pc/memory.h: Likewise.
24612 * include/grub/i386/pc/vbe.h: Likewise.
24613 * include/grub/i386/pci.h: Likewise.
24614 * include/grub/i386/tsc.h: Likewise.
24615 * include/grub/ieee1275/ieee1275.h: Likewise.
24616 * include/grub/ntfs.h: Likewise.
24617 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24618 * include/grub/sparc64/libgcc.h: Likewise.
24619 * include/grub/symbol.h: Likewise.
24620 * include/grub/types.h: Likewise.
24621 * include/multiboot2.h: Likewise.
24622 * io/gzio.c: Likewise.
24623 * kern/device.c: Likewise.
24624 * kern/disk.c: Likewise.
24625 * kern/efi/efi.c: Likewise.
24626 * kern/efi/mm.c: Likewise.
24627 * kern/elf.c: Likewise.
24628 * kern/file.c: Likewise.
24629 * kern/i386/dl.c: Likewise.
24630 * kern/i386/pc/init.c: Likewise.
24631 * kern/i386/pc/startup.S: Likewise.
24632 * kern/ieee1275/ieee1275.c: Likewise.
24633 * kern/ieee1275/init.c: Likewise.
24634 * kern/main.c: Likewise.
24635 * kern/mm.c: Likewise.
24636 * kern/powerpc/dl.c: Likewise.
24637 * kern/sparc64/dl.c: Likewise.
24638 * kern/x86_64/dl.c: Likewise.
24639 * lib/hexdump.c: Likewise.
24640 * loader/efi/appleloader.c: Likewise.
24641 * loader/i386/ieee1275/linux.c: Likewise.
24642 * loader/i386/pc/chainloader.c: Likewise.
24643 * loader/i386/pc/linux.c: Likewise.
24644 * loader/i386/pc/multiboot2.c: Likewise.
24645 * loader/ieee1275/multiboot2.c: Likewise.
24646 * loader/multiboot2.c: Likewise.
24647 * loader/multiboot_loader.c: Likewise.
24648 * loader/powerpc/ieee1275/linux.c: Likewise.
24649 * normal/completion.c: Likewise.
24650 * normal/menu_entry.c: Likewise.
24651 * partmap/apple.c: Likewise.
24652 * util/grub.d/10_hurd.in: Likewise.
24653 * util/hostfs.c: Likewise.
24654 * video/readers/png.c: Likewise.
24655
24656 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
24657
24658 * include/grub/misc.h (GNUC_PREREQ): New macro.
24659 (ATTRIBUTE_ERROR): New macro.
24660 * include/grub/list.h (grub_bad_type_cast_real): Use
24661 ATTRIBUTE_ERROR.
24662
24663 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24664
24665 * normal/menu_text.c (print_message): Change messages.
24666
24667 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24668
24669 * normal/menu_entry.c (store_completion): Gettextizze.
24670
24671 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24672
24673 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
24674
24675 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24676
24677 * po/POTFILES: Sort correctly.
24678
24679 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24680
24681 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
24682 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
24683 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
24684 full stop.
24685 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
24686 summary. Gettextizze the strings.
24687 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
24688 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
24689 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
24690 full stop.
24691 (GRUB_MOD_INIT): Remove command name from summary.
24692 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
24693 summary.
24694 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
24695 * term/i386/pc/serial.c (options): Add full stops.
24696 (GRUB_MOD_INIT): Remove command name from the summary.
24697
24698 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24699
24700 * commands/acpi.c: Gettextizze help strings and/or options. Include
24701 `grub/i18n.h' if needed.
24702 * commands/blocklist.c: Likewise.
24703 * commands/boot.c: Likewise.
24704 * commands/cat.c: Likewise.
24705 * commands/cmp.c: Likewise.
24706 * commands/configfile.c: Likewise.
24707 * commands/crc.c: Likewise.
24708 * commands/date.c: Likewise.
24709 * commands/echo.c: Likewise.
24710 * commands/efi/fixvideo.c: Likewise.
24711 * commands/efi/loadbios.c: Likewise.
24712 * commands/gptsync.c: Likewise.
24713 * commands/halt.c: Likewise.
24714 * commands/handler.c: Likewise.
24715 * commands/hdparm.c: Likewise.
24716 * commands/hexdump.c: Likewise.
24717 * commands/i386/cpuid.c: Likewise.
24718 * commands/i386/pc/drivemap.c: Likewise.
24719 * commands/i386/pc/halt.c: Likewise.
24720 * commands/i386/pc/pxecmd.c: Likewise.
24721 * commands/i386/pc/vbeinfo.c: Likewise.
24722 * commands/i386/pc/vbetest.c: Likewise.
24723 * commands/ieee1275/suspend.c: Likewise.
24724 * commands/keystatus.c: Likewise.
24725 * commands/loadenv.c: Likewise.
24726 * commands/ls.c: Likewise.
24727 * commands/lsmmap.c: Likewise.
24728 * commands/lspci.c: Likewise.
24729 * commands/memrw.c: Likewise.
24730 * commands/minicmd.c: Likewise.
24731 * commands/parttool.c: Likewise.
24732 * commands/password.c: Likewise.
24733 * commands/probe.c: Likewise.
24734 * commands/read.c: Likewise.
24735 * commands/reboot.c: Likewise.
24736 * commands/search.c: Likewise.
24737 * commands/sleep.c: Likewise.
24738 * commands/test.c: Likewise.
24739 * commands/true.c: Likewise.
24740 * commands/usbtest.c: Likewise.
24741 * commands/videotest.c: Likewise.
24742 * commands/xnu_uuid.c: Likewise.
24743 * disk/loopback.c: Likewise.
24744 * hello/hello.c: Likewise.
24745 * loader/i386/bsd.c: Likewise.
24746 * term/i386/pc/serial.c: Likewise.
24747 * po/POTFILES: Add new files.
24748
24749 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
24750
24751 * term/i386/pc/at_keyboard.c
24752 (keyboard_controller_wait_untill_ready): Rename to ...
24753 (keyboard_controller_wait_until_ready): ... this. Update all users.
24754
24755 2010-01-01 Carles Pina i Estany <carles@pina.cat>
24756
24757 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
24758 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
24759 string using string width.
24760 * normal/menu_text.c (grub_print_message_indented): Use
24761 grub_print_spaces and not print_spaces.
24762 (print_timeout): Likewise.
24763 (print_spaces): Move to...
24764 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
24765
24766 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
24767
24768 Import from Gnulib.
24769
24770 * gnulib/getdelim.c: New file.
24771 * gnulib/getline.c: Likewise.
24772
24773 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
24774
24775 * include/grub/list.h (grub_assert_fail): Removed.
24776 (grub_bad_type_cast_real): New function.
24777 (grub_bad_type_cast): New macro.
24778 (GRUB_AS_LIST): Use grub_bad_type_cast.
24779 (GRUB_AS_LIST_P): Likewise.
24780 (GRUB_AS_NAMED_LIST): Likewise.
24781 (GRUB_AS_NAMED_LIST_P): Likewise.
24782 (GRUB_AS_PRIO_LIST): Likewise.
24783 (GRUB_AS_PRIO_LIST_P): Likewise.
24784 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
24785
24786 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
24787
24788 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
24789 Fix syntax error.
24790
24791 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
24792
24793 * configure.ac: Check for TARGET_CFLAGS initialization before we
24794 initialize it ourselves (sigh).
24795 Move a few modifications to TARGET_CFLAGS to be unconditional
24796 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
24797 eh_frame)
24798
24799 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
24800 * term/i386/pc/at_keyboard.c
24801 (keyboard_controller_wait_untill_ready): Likewise.
24802 (keyboard_controller_led): Rename `led_status' paramter to avoid
24803 name conflict.
24804
24805 2009-12-28 Carles Pina i Estany <carles@pina.cat>
24806
24807 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
24808 quotes.
24809
24810 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24811
24812 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
24813
24814 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24815
24816 * normal/menu_text.c (grub_print_message_indented): Prevent
24817 past-the-end-of-array dereference.
24818
24819 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24820
24821 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
24822 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
24823
24824 2009-12-27 Carles Pina i Estany <carles@pina.cat>
24825
24826 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
24827 * normal/main.c (grub_normal_read_line): Remove a space from the
24828 default prompt.
24829
24830 2009-12-27 Carles Pina i Estany <carles@pina.cat>
24831
24832 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
24833 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24834 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24835 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24836 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24837 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24838 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24839
24840 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24841
24842 * video/readers/jpeg.c (cmd): Declare.
24843 (grub_cmd_jpegtest): Use `grub_command_t' type.
24844 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24845 Assign to `cmd'.
24846 (GRUB_MOD_FINI): Use `cmd' to unregister.
24847 * video/readers/png.c (cmd): Declare.
24848 (grub_cmd_pngtest): Use `grub_command_t' type.
24849 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24850 Assign to `cmd'.
24851 (GRUB_MOD_FINI): Use `cmd' to unregister.
24852 * video/readers/tga.c (cmd): Declare.
24853 (grub_cmd_tgatest): Use `grub_command_t' type.
24854 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24855 Assign to `cmd'.
24856 (GRUB_MOD_FINI): Use `cmd' to unregister.
24857
24858 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24859
24860 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
24861 stops.
24862 * kern/corecmd.c (grub_register_core_commands): Likewise.
24863 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
24864 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24865 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
24866 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24867 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24868 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
24869 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24870 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
24871 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24872 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24873 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24874 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24875 * normal/handler.c (insert_handler): Likewise.
24876 * normal/main.c (GRUB_MOD_INIT): Likewise.
24877 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24878
24879 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24880
24881 * commands/help.c (grub_cmd_help): Print the command name before the
24882 summary.
24883 (GRUB_MOD_INIT): Remove command name from the summary.
24884 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
24885 string as summary.
24886 * lib/arg.c (find_long): Print the command name before the summary.
24887 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
24888 summary.
24889 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
24890 * commands/cat.c (GRUB_MOD_INIT): Likewise.
24891 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
24892 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
24893 * commands/crc.c (GRUB_MOD_INIT): Likewise.
24894 * commands/date.c (GRUB_MOD_INIT): Likewise.
24895 * commands/echo.c (GRUB_MOD_INIT): Likewise.
24896 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
24897 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24898 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24899 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
24900 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
24901 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
24902 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
24903 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24904 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
24905 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
24906 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
24907 * commands/ls.c (GRUB_MOD_INIT): Likewise.
24908 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24909 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24910 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24911 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
24912 * commands/password.c (GRUB_MOD_INIT): Likewise.
24913 * commands/probe.c (GRUB_MOD_INIT): Likewise.
24914 * commands/read.c (GRUB_MOD_INIT): Likewise.
24915 * commands/search.c (GRUB_MOD_INIT): Likewise.
24916 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
24917 * commands/test.c (GRUB_MOD_INIT): Likewise.
24918 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
24919 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24920 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24921 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
24922 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24923 * lib/arg.c (GRUB_MOD_INIT): Likewise.
24924 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
24925 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24926 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24927 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24928 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24929 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
24930 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
24931 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
24932
24933 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24934
24935 Use search command for preliminar UUID search.
24936
24937 * commands/search.c: Split into ...
24938 * commands/search_wrap.c: ...this
24939 * commands/search.c: ...and this.
24940 * commands/search_file.c: New file.
24941 * commands/search_label.c: New file.
24942 * commands/search_uuid.c: New file.
24943 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
24944 Add commands/search_wrap.c, commands/search_file.c,
24945 commands/search_label.c and commands/search_uuid.c.
24946 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
24947 (search_mod_SOURCES): Set to commands/search_wrap.c.
24948 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
24949 search_label.mod.
24950 (search_fs_file_mod_SOURCES): New variable.
24951 (search_fs_file_mod_CFLAGS): Likewise.
24952 (search_fs_file_mod_LDFLAGS): Likewise.
24953 (search_label_mod_SOURCES): Likewise.
24954 (search_label_mod_CFLAGS): Likewise.
24955 (search_label_mod_LDFLAGS): Likewise.
24956 (search_fs_uuid_mod_SOURCES): New variable.
24957 (search_fs_uuid_mod_CFLAGS): Likewise.
24958 (search_fs_uuid_mod_LDFLAGS): Likewise.
24959 (fs_file_mod_SOURCES): Removed.
24960 (fs_file_mod_CFLAGS): Likewise.
24961 (fs_file_mod_LDFLAGS): Likewise.
24962 (fs_uuid_mod_SOURCES): Removed.
24963 (fs_uuid_mod_CFLAGS): Likewise.
24964 (fs_uuid_mod_LDFLAGS): Likewise.
24965 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
24966 Set to util/grub-install.in.
24967 * disk/fs_file.c: Removed.
24968 * disk/fs_uuid.c: Likewise.
24969 * include/grub/search.h: New file.
24970 * util/grub-install.in: Handle sparc64.
24971 Create and use load.cfg.
24972 * util/sparc64/ieee1275/grub-install.in: Removed.
24973
24974 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24975
24976 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
24977 Ignore return status if CF is cleared.
24978 (grub_biosdisk_get_diskinfo_standard): Likewise.
24979
24980 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24981
24982 * term/i386/pc/at_keyboard.c
24983 (keyboard_controller_wait_untill_ready): New function.
24984 (grub_keyboard_controller_write, grub_keyboard_controller_read)
24985 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
24986 for keyboard polling, rather than duplicate the same loop. This
24987 saves a few bytes in code size.
24988
24989 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24990
24991 Support for (pxe[:server[:gateway]]) syntax and
24992 use environment variable for PXE.
24993
24994 * commands/i386/pc/pxecmd.c (options): Removed.
24995 (print_ip): Removed.
24996 (grub_cmd_pxe): Removed
24997 (grub_cmd_pxe_unload): New function.
24998 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
24999 (grub_pxe_your_ip): Made static.
25000 (grub_pxe_default_server_ip): Likewise.
25001 (grub_pxe_default_gateway_ip): Likewise.
25002 (grub_pxe_blksize): Likewise.
25003 (parse_ip): New function.
25004 (grub_pxe_open): Support server and gateway specification.
25005 (grub_pxe_close): Free disk->data.
25006 (grub_pxefs_open): Use disk->data.
25007 (grub_pxefs_read): Likewise.
25008 (grub_env_write_readonly): New function.
25009 (set_mac_env): Likewise.
25010 (set_env_limn_ro): Likewise.
25011 (parse_dhcp_vendor): Likewise.
25012 (grub_pxe_detect): Set the environment variables.
25013 (set_ip_env): New function.
25014 (write_ip_env): Likewise.
25015 (grub_env_write_pxe_default_server): Likewise.
25016 (grub_env_write_pxe_default_gateway): Likewise.
25017 (grub_env_write_pxe_blocksize): Likewise.
25018 (GRUB_MOD_INIT(pxe)): Set environment variables.
25019 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
25020 (grub_pxe_mac_addr_t): ... this. All users updated.
25021 (grub_pxe_your_ip): Removed.
25022 (grub_pxe_server_ip): Likewise.
25023 (grub_pxe_gateway_ip): Likewise.
25024 (grub_pxe_blksize): Likewise.
25025
25026 2009-12-25 Carles Pina i Estany <carles@pina.cat>
25027
25028 * commands/help.c: Include `<grub/i18n.h>'.
25029 (grub_cmd_help): Gettextizze.
25030 (GRUB_MOD_INIT): Likewise.
25031 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
25032 (GRUB_MOD_INIT): Gettextizze.
25033 * commands/search.c: Include `<grub/i18n.h>'.
25034 (options): Gettextizze.
25035 (GRUB_MOD_INIT): Gettextizze.
25036 * lib/arg.c: Include `<grub/i18n.h>'.
25037 (help_options): Gettextizze.
25038 (find_long): Likewise.
25039 (grub_arg_show_help): Likewise.
25040 * normal/dyncmd.c: Include `<grub/i18n.h>'.
25041 (read_command_list): Gettextizze.
25042 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
25043 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
25044
25045 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
25046
25047 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
25048 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
25049 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
25050 (led_status): New variable.
25051 (keyboard_controller_led): New function.
25052 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
25053 update led status for caps lock, num lock and scroll lock.
25054
25055 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
25056
25057 * util/hostdisk.c (open_device): Fix a comment.
25058
25059 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25060
25061 * util/grub-install.in (host_os): New variable.
25062 * util/i386/efi/grub-install.in (host_os): Likewise.
25063
25064 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25065
25066 * util/mkisofs/write.c (padblock_write): Abort when given an
25067 excedingly large embed image, instead of silently truncating it.
25068
25069 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25070
25071 * include/multiboot.h: Indentation fixes.
25072
25073 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25074
25075 * include/multiboot.h (struct multiboot_aout_symbol_table)
25076 (struct multiboot_elf_section_header_table): New structure
25077 declarations (stolen from GRUB Legacy).
25078 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
25079 table information.
25080
25081 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
25082 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
25083 type aliases.
25084
25085 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25086
25087 * include/multiboot.h: Make comments src2texi-friendly.
25088
25089 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25090
25091 For consistency with [multiboot]/docs/boot.S.
25092
25093 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
25094 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
25095 (MULTIBOOT_MAGIC2): Rename from this ...
25096 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
25097
25098 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25099
25100 * include/multiboot.h: Remove `<grub/types.h>'.
25101 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
25102 types. Update all users.
25103
25104 2009-12-25 Carles Pina i Estany <carles@pina.cat>
25105
25106 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
25107 `couldn't' and `can not' by `cannot'.
25108 * commands/i386/pc/drivemap.c: Likewise.
25109 * disk/ata.c: Likewise.
25110 * disk/ieee1275/nand.c: Likewise.
25111 * fs/affs.c: Likewise.
25112 * fs/fat.c: Likewise.
25113 * fs/hfs.c: Likewise.
25114 * fs/hfsplus.c: Likewise.
25115 * fs/iso9660.c: Likewise.
25116 * fs/jfs.c: Likewise.
25117 * fs/minix.c: Likewise.
25118 * fs/reiserfs.c: Likewise.
25119 * fs/sfs.c: Likewise.
25120 * fs/udf.c: Likewise.
25121 * fs/ufs.c: Likewise.
25122 * fs/xfs.c: Likewise.
25123 * loader/powerpc/ieee1275/linux.c: Likewise.
25124 * loader/sparc64/ieee1275/linux.c: Likewise.
25125 * util/grub-probe.c: Likewise.
25126 * util/misc.c: Likewise.
25127
25128 2009-12-24 Carles Pina i Estany <carles@pina.cat>
25129
25130 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
25131 grub_errno calls.
25132 * commands/acpi.c: Likewise.
25133 * commands/blocklist.c: Likewise.
25134 * commands/efi/loadbios.c: Likewise.
25135 * commands/i386/pc/drivemap.c: Likewise.
25136 * commands/loadenv.c: Likewise.
25137 * commands/memrw.c: Likewise.
25138 * commands/password.c: Likewise.
25139 * commands/videotest.c: Likewise.
25140 * disk/ata.c: Likewise.
25141 * disk/ata_pthru.c: Likewise.
25142 * disk/dmraid_nvidia.c: Likewise.
25143 * disk/ieee1275/nand.c: Likewise.
25144 * disk/ieee1275/ofdisk.c: Likewise.
25145 * disk/loopback.c: Likewise.
25146 * disk/lvm.c: Likewise.
25147 * disk/mdraid_linux.c: Likewise.
25148 * disk/raid.c: Likewise.
25149 * disk/raid6_recover.c: Likewise.
25150 * disk/scsi.c: Likewise.
25151 * efiemu/main.c: Likewise.
25152 * efiemu/mm.c: Likewise.
25153 * efiemu/pnvram.c: Likewise.
25154 * efiemu/symbols.c: Likewise.
25155 * font/font.c: Likewise.
25156 * fs/cpio.c: Likewise.
25157 * fs/hfsplus.c: Likewise.
25158 * fs/iso9660.c: Likewise.
25159 * fs/jfs.c: Likewise.
25160 * fs/minix.c: Likewise.
25161 * fs/ntfs.c: Likewise.
25162 * fs/ntfscomp.c: Likewise.
25163 * fs/reiserfs.c: Likewise.
25164 * fs/ufs.c: Likewise.
25165 * fs/xfs.c: Likewise.
25166 * gettext/gettext.c: Likewise.
25167 * include/grub/auth.h: Likewise.
25168 * kern/elf.c: Likewise.
25169 * kern/file.c: Likewise.
25170 * kern/ieee1275/init.c: Likewise.
25171 * kern/ieee1275/mmap.c: Likewise.
25172 * kern/ieee1275/openfw.c: Likewise.
25173 * kern/powerpc/dl.c: Likewise.
25174 * kern/sparc64/dl.c: Likewise.
25175 * lib/arg.c: Likewise.
25176 * loader/i386/bsd.c: Likewise.
25177 * loader/i386/bsdXX.c: Likewise.
25178 * loader/i386/efi/linux.c: Likewise.
25179 * loader/i386/efi/xnu.c: Likewise.
25180 * loader/i386/ieee1275/linux.c: Likewise.
25181 * loader/i386/linux.c: Likewise.
25182 * loader/i386/multiboot.c: Likewise.
25183 * loader/i386/pc/linux.c: Likewise.
25184 * loader/i386/pc/multiboot2.c: Likewise.
25185 * loader/i386/xnu.c: Likewise.
25186 * loader/ieee1275/multiboot2.c: Likewise.
25187 * loader/macho.c: Likewise.
25188 * loader/machoXX.c: Likewise.
25189 * loader/multiboot2.c: Likewise.
25190 * loader/multiboot_loader.c: Likewise.
25191 * loader/powerpc/ieee1275/linux.c: Likewise.
25192 * loader/sparc64/ieee1275/linux.c: Likewise.
25193 * loader/xnu.c: Likewise.
25194 * loader/xnu_resume.c: Likewise.
25195 * mmap/i386/pc/mmap.c: Likewise.
25196 * normal/menu_viewer.c: Likewise.
25197 * partmap/acorn.c: Likewise.
25198 * partmap/amiga.c: Likewise.
25199 * partmap/apple.c: Likewise.
25200 * script/lexer.c: Likewise.
25201 * term/gfxterm.c: Likewise.
25202 * term/i386/pc/serial.c: Likewise.
25203 * term/i386/pc/vga.c: Likewise.
25204 * term/ieee1275/ofconsole.c: Likewise.
25205 * term/terminfo.c: Likewise.
25206 * video/bitmap.c: Likewise.
25207 * video/efi_gop.c: Likewise.
25208 * video/efi_uga.c: Likewise.
25209 * video/fb/video_fb.c: Likewise.
25210 * video/i386/pc/vbe.c: Likewise.
25211 * video/readers/tga.c: Likewise.
25212 * video/video.c: Likewise.
25213
25214 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
25215
25216 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
25217 * commands/lspci.c: Likewise.
25218 * commands/probe.c: Likewise.
25219 * commands/xnu_uuid.c: Likewise.
25220 * conf/i386-coreboot.rmk: Likewise.
25221 * conf/i386-efi.rmk: Likewise.
25222 * conf/i386-ieee1275.rmk: Likewise.
25223 * conf/i386-pc.rmk: Likewise.
25224 * conf/powerpc-ieee1275.rmk: Likewise.
25225 * conf/sparc64-ieee1275.rmk: Likewise.
25226 * conf/x86_64-efi.rmk: Likewise.
25227 * fs/i386/pc/pxe.c: Likewise.
25228 * gettext/gettext.c: Likewise.
25229 * include/grub/efi/graphics_output.h: Likewise.
25230 * include/grub/i386/pc/memory.h: Likewise.
25231 * kern/env.c: Likewise.
25232 * kern/i386/qemu/startup.S: Likewise.
25233 * lib/i386/pc/biosnum.c: Likewise.
25234 * lib/i386/relocator.c: Likewise.
25235 * lib/i386/relocator_asm.S: Likewise.
25236 * lib/relocator.c: Likewise.
25237 * loader/i386/bsd.c: Likewise.
25238 * loader/i386/multiboot.c: Likewise.
25239 * loader/i386/pc/chainloader.c: Likewise.
25240 * loader/i386/xnu.c: Likewise.
25241 * loader/xnu.c: Likewise.
25242 * normal/main.c: Likewise.
25243 * normal/menu_text.c: Likewise.
25244 * util/getroot.c: Likewise.
25245 * util/grub-mkconfig_lib.in: Likewise.
25246 * util/grub.d/00_header.in: Likewise.
25247 * util/i386/pc/grub-mkimage.c: Likewise.
25248 * util/mkisofs/eltorito.c: Likewise.
25249 * util/mkisofs/exclude.h: Likewise.
25250 * util/mkisofs/hash.c: Likewise.
25251 * util/mkisofs/iso9660.h: Likewise.
25252 * util/mkisofs/joliet.c: Likewise.
25253 * util/mkisofs/mkisofs.c: Likewise.
25254 * util/mkisofs/mkisofs.h: Likewise.
25255 * util/mkisofs/multi.c: Likewise.
25256 * util/mkisofs/name.c: Likewise.
25257 * util/mkisofs/rock.c: Likewise.
25258 * util/mkisofs/tree.c: Likewise.
25259 * util/mkisofs/write.c: Likewise.
25260 * video/efi_gop.c: Likewise.
25261
25262 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
25263
25264 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
25265 size counting.
25266
25267 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
25268
25269 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
25270 * genmk.rb (class SCRIPT): Modify the target file instead of source.
25271
25272 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25273
25274 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
25275 (GRUB_MOD_INIT(memrw)): Update help line.
25276
25277 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25278
25279 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
25280 Use grub_extcmd_t. All users updated.
25281 (options): New variable.
25282 (grub_cmd_read): Restructure for readability. Support "-v" option.
25283 (grub_cmd_write): Restructure for readability.
25284
25285 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
25286
25287 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
25288
25289 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
25290
25291 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
25292 with the actual contents of the correspondending make variable.
25293 * util/grub-mkrescue.in (pkglib_DATA): New variable.
25294 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
25295 specifying `*.lst' and `efiemu??.o'
25296
25297 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
25298
25299 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
25300 after function name.
25301 Noticed by Rene Engelhard <rene@debian.org>.
25302
25303 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25304
25305 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
25306 (options): New variable.
25307 (iospace): Likewise.
25308 (grub_lspci_iter): List IO spaces if "-i" was given.
25309 (grub_cmd_lspci): Parse options.
25310 (GRUB_MOD_INIT(lspci)): Use extcmd.
25311 (GRUB_MOD_FINI(lspci)): Likewise.
25312
25313 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
25314
25315 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
25316 `function' keyword.
25317 Patch by Tony Mancill <tmancill@debian.org>.
25318
25319 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25320
25321 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
25322 (grub_uhci_portstatus): Likewise.
25323 (grub_uhci_portstatus): Add necessary delay.
25324 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
25325
25326 2009-12-21 Carles Pina i Estany <carles@pina.cat>
25327
25328 * commands/acpi.c (options): Fix capitalizations and/or full stops.
25329 (GRUB_MOD_INIT): Likewise.
25330 * commands/boot.c (GRUB_MOD_INIT): Likewise.
25331 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
25332 * commands/echo.c (options): Fix capitalizations and/or full stops.
25333 * commands/efi/loadbios.c (enable_rom_area): Likewise.
25334 (enable_rom_area): Likewise.
25335 (GRUB_MOD_INIT): Likewise.
25336 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
25337 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
25338 * commands/handler.c (GRUB_MOD_INIT): Likewise.
25339 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
25340 * commands/hexdump.c (options): Likewise.
25341 * commands/i386/cpuid.c (options): Likewise.
25342 (GRUB_MOD_INIT): Likewise.
25343 * commands/i386/pc/drivemap.c (options): Likewise.
25344 (GRUB_MOD_INIT): Likewise.
25345 * commands/i386/pc/halt (options): Likewise.
25346 (GRUB_MOD_INIT): Likewise.
25347 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
25348 * commands/i386/pc/pxecmd.c (options): Likewise.
25349 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
25350 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
25351 * commands/keystatus.c (options): Likewise.
25352 (GRUB_MOD_INIT): Likewise.
25353 * commands/loadenv.c (options): Likewise.
25354 * commands/ls.c (options): Likewise.
25355 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
25356 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
25357 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
25358 * commands/parttool.c (helpmsg): Likewise.
25359 * commands/probe.c (options): Likewise.
25360 * commands/read.c (GRUB_MOD_INIT): Likewise.
25361 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
25362 * commands/search.c (options): Likewise.
25363 * commands/sleep.c (options): Likewise.
25364 * commands/test.c (GRUB_MOD_INIT): Likewise.
25365 * commands/true.c (GRUB_MOD_INIT): Likewise.
25366 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
25367 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
25368 * lib/arg.c (help_options): Likewise.
25369 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
25370 `$(XGETTEXT)'.
25371 * po/POTFILES: Add `commands/loadenv.c'.
25372
25373 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
25374
25375 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
25376 instead of specifying them explicit.
25377
25378 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25379
25380 * NEWS: Add grub-probe support for GNU/Hurd.
25381
25382 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25383
25384 * NEWS: gettext was added after 1.97.
25385
25386 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25387
25388 * util/mkisofs/msdos_partition.h: New file (based on
25389 include/grub/msdos_partition.h).
25390 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
25391 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
25392 (ld_options, main): Recognize --protective-msdos-label.
25393 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
25394 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
25395 (padblock_write): If `use_protective_msdos_label' is set, patch a
25396 protective DOS-style label in the output image.
25397
25398 * util/grub-mkrescue.in: Use --protective-msdos-label.
25399
25400 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25401
25402 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
25403 boot.
25404
25405 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25406
25407 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
25408 variables.
25409 (ld_options, main): Recognize `--embedded-boot'.
25410 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
25411 declarations.
25412 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
25413 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
25414 (padblock_write): Likewise. Rewrite to support embedded boot image.
25415
25416 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
25417 for BIOS-based disk boot instead of only ElTorito.
25418
25419 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25420
25421 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
25422 build (not needed for bootstrap).
25423
25424 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25425
25426 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
25427 from i386-pc build (not needed for bootstrap).
25428 Rewrite a pair of strings.
25429
25430 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25431
25432 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
25433
25434 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
25435
25436 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
25437
25438 2009-12-21 Andreas Born <futur.andy@googlemail.com>
25439
25440 * kern/env.c (grub_env_context_open): Mark exported variable for
25441 reexport.
25442
25443 2009-12-21 Andreas Born <futur.andy@googlemail.com>
25444
25445 * kern/env.c (grub_env_export): Create nonexistent variables before
25446 exporting.
25447
25448 2009-12-20 Carles Pina i Estany <carles@pina.cat>
25449
25450 * include/grub/auth.h: Include `<grub/i18n.h>'.
25451 (GRUB_GET_PASSWORD): Gettextizze string.
25452 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
25453 menu_text.c.
25454 (grub_utf8_to_ucs4_alloc): Fix indentation.
25455 (grub_print_ucs4): Likewise.
25456 (grub_getstringwidth): Likewise.
25457 (print_message_indented): New declaration.
25458 * normal/auth.c: Include `<grub/i18n.h>'.
25459 (grub_auth_check_authentication): Gettexttize string.
25460 * normal/cmdline.c: Include `<grub/i18n.h>'.
25461 (grub_cmdline_get): Gettextizze.
25462 * normal/color.c: Include `<grub/i18n.h>'.
25463 (grub_parse_color_name_pair): Gettexttize strings.
25464 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
25465 string (use `print_message_indented').
25466 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
25467 `include/grub/normal.h'.
25468 (print_message_indented): Renamed to ...
25469 (grub_print_message_indented): ... this. Remove `static' qualifer (now
25470 used in normal/main.c).
25471 (print_message): Use `grub_print_message_indented' instead of
25472 `print_message_indented'.
25473 (print_timeout): Likewise.
25474 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
25475 (grub_normal_print_device_info): Gettexttize strings.
25476 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
25477
25478 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
25479
25480 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
25481 of arguments. Return number of tokens and not arguments. All users
25482 updated.
25483
25484 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
25485
25486 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
25487 non-MSDOS paritions.
25488
25489 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
25490
25491 * include/grub/types.h (UNUSED): Removed since it conflicts with
25492 NetBSD headers. All users changed to direct __attribute__ ((unused)).
25493 Reported by Grégoire Sutre.
25494
25495 2009-12-19 Carles Pina i Estany <carles@pina.cat>
25496
25497 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
25498 (grub_print_ucs4_alloc): Likewise.
25499 (grub_getstringwidth): Likewise.
25500 * normal/main.c (grub_normal_init_page): Gettextize version string.
25501 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
25502 (getstringwidth): Renamed to ...
25503 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
25504 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
25505 (grub_print_ucs4): Remove `static' qualifer (now used in
25506 normal/main.c).
25507 * po/POTFILES: Add normal/main.c.
25508
25509 2009-12-19 Carles Pina i Estany <carles@pina.cat>
25510
25511 * normal/menu_text.c (STANDARD_MARGIN): New macro.
25512 (print_message_indented): Add `margin_left' and `margin_right'
25513 parameters.
25514 (print_message): Update `print_message_indented' calls. Adds '\n' to the
25515 strings.
25516 (print_timeout): Use `print_message_indented' to print the message.
25517 Deletes `second_stage' parameter.
25518 (run_menu): Update `print_timeout' calls.
25519
25520 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25521
25522 Fix console palette on OpenFirmware.
25523
25524 * term/ieee1275/ofconsole.c (MAX): Removed.
25525 (colors): Redone based on VGA palette.
25526 (grub_ofconsole_setcolor): Discard brightness bit since only 8
25527 colors are supported.
25528 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
25529
25530 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25531
25532 Fix potential EfiEmu double prepare.
25533
25534 * efiemu/main.c (prepared): New variable
25535 (grub_efiemu_unload): Set prepare to '0'.
25536 (grub_efiemu_prepare): Return if already prepared. Set prepared.
25537
25538 set_virtual_address_map support.
25539
25540 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
25541 prototype.
25542 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
25543 prototype.
25544 (grub_efiemu_crc32): Likewise.
25545 (grub_efiemu_crc64): Likewise.
25546 (grub_efiemu_set_virtual_address_map): Likewise.
25547 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
25548 New definition.
25549 (grub_autoefi_set_virtual_address_map): Likewise.
25550 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
25551 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
25552 Restructure flow to accomodate it.
25553 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
25554 (grub_efiemu_crc): Recompute CRC32.
25555 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
25556 (efiemu_ptv_relocated): ... this. Made global. All users updated.
25557 * efiemu/symbols.c (relocated_handle): New variable.
25558 (grub_efiemu_free_syms): Free relocated_handle.
25559 (grub_efiemu_alloc_syms): Allocate relocated_handle.
25560 (grub_efiemu_write_sym_markers): New function.
25561 (grub_efiemu_set_virtual_address_map): Likewise.
25562
25563 Newer XNU parameters.
25564
25565 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
25566 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
25567 (grub_xnu_fill_devicetree): New prototype.
25568 (grub_xnu_heap_real_start): New variable.
25569 * loader/xnu.c (get_name_ptr): New function.
25570 (grub_xnu_load_driver): Fill namelen and name.
25571
25572 64-bit xnu support.
25573
25574 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
25575 and 'loader/macho64.c'.
25576 * conf/i386-pc.rmk: Likewise.
25577 * conf/x86_64-efi.rmk: Likewise.
25578 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
25579 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
25580 * include/grub/macho.h (grub_macho_segment64): New structure.
25581 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
25582 (grub_macho_size32): ... to this.
25583 (grub_macho32_get_entry_point): Renamed from ...
25584 (grub_macho_get_entry_point32): ... to this.
25585 (grub_macho_contains_macho64): New prototype.
25586 (grub_macho_size64): Likewise.
25587 (grub_macho_get_entry_point64): Likewise.
25588 (grub_macho32_load): Renamed from ...
25589 (grub_macho_load32): ... to this.
25590 (grub_macho32_filesize): Renamed from ...
25591 (grub_macho_filesize32): ... to this.
25592 (grub_macho32_readfile): Renamed from ...
25593 (grub_macho_readfile32): ... to this.
25594 (grub_macho_filesize64): New prototype.
25595 (grub_macho_readfile64): Likewise.
25596 (grub_macho_parse32): Likewise.
25597 (grub_macho_parse64): Likewise.
25598 * loader/macho.c: Split into ...
25599 * loader/machoXX.c: ... and this. Replace 32 with XX.
25600 * loader/macho32.c: New file.
25601 * loader/macho64.c: Likewise.
25602 * loader/xnu.c (grub_xnu_is_64bit): New variable.
25603 (grub_cmd_xnu_kernel): Make 32-bit only.
25604 (grub_cmd_xnu_kernel64): New function.
25605 (grub_xnu_load_driver): Support Mach-O 64.
25606 (grub_cmd_xnu_mkext): Likewise.
25607 * util/grub.d/30_os-prober.in (osx_entry): New function.
25608 Generate entries for 64-bit boot too.
25609
25610 Eliminate ad-hoc tree format in XNU and EfiEmu.
25611
25612 * efiemu/main.c (grub_efiemu_prepare): Update comment.
25613 * efiemu/pnvram.c: Rewritten to use environment variables.
25614 All users updated.
25615
25616 Inline utf16_to_utf8.
25617
25618 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
25619 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
25620 All users updated.
25621 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
25622
25623 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
25624 * commands/usbtest.c (grub_usb_get_string): ... move here.
25625 (usb_print_str): Fix error handling.
25626 * include/grub/usb.h (grub_usb_get_string): Remove.
25627
25628 UTF-8 to UTF-16 transformation.
25629
25630 * conf/common.rmk (pkglib_MODULES): Add charset.mod
25631 (charset_mod_SOURCES): New variable.
25632 (charset_mod_CFLAGS): Likewise.
25633 (charset_mod_LDFLAGS): Likewise.
25634 * include/grub/utf.h: New file.
25635 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
25636
25637 Support for device properties.
25638
25639 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
25640 (grub_xnu_devprop_device_header): Likewise.
25641 (grub_xnu_devprop_device_descriptor): Likewise.
25642 (grub_xnu_devprop_add_device): New prototype.
25643 (grub_xnu_devprop_remove_device): Likewise.
25644 (grub_xnu_devprop_remove_property): Likewise.
25645 (grub_xnu_devprop_add_property_utf8): Likewise.
25646 (grub_xnu_devprop_add_property_utf16): Likewise.
25647 (grub_cpu_xnu_init): Likewise.
25648 (grub_cpu_xnu_fini): Likewise.
25649 (grub_cpu_xnu_unload): Likewise.
25650 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
25651 (property_descriptor): Likewise.
25652 (devices): New variable.
25653 (grub_xnu_devprop_remove_property): New function.
25654 (grub_xnu_devprop_add_device): Likewise.
25655 (grub_xnu_devprop_remove_device): Likewise.
25656 (grub_xnu_devprop_add_property): Likewise.
25657 (grub_xnu_devprop_add_property_utf8): Likewise.
25658 (grub_xnu_devprop_add_property_utf16): Likewise.
25659 (hextoval): Likewise.
25660 (grub_cpu_xnu_fill_devprop): Likewise.
25661 (grub_cmd_devprop_load): Likewise.
25662 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
25663 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
25664 (cmd_devprop_load): New variable.
25665 (grub_cpu_xnu_init): New function.
25666 (grub_cpu_xnu_fini): Likewise.
25667 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
25668 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
25669 (grub_cmd_xnu_devtree): Likewise.
25670 (hextoval): New function.
25671 (unescape): Likewise.
25672 (grub_xnu_fill_devicetree): Likewise.
25673
25674 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
25675 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
25676
25677 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25678
25679 Workaround for broken ATI VBE.
25680
25681 * video/i386/pc/vbe.c (last_set_mode): New variable.
25682 (grub_vbe_set_video_mode): Set 'last_set_mode'.
25683 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
25684 (grub_video_vbe_setup): Don't check for reserved flag.
25685
25686 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
25687
25688 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
25689 the `find' command.
25690
25691 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
25692
25693 UUID support for HFS.
25694
25695 * fs/hfs.c (grub_hfs_uuid): New function.
25696 (grub_hfs_fs): New value .uuid.
25697 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
25698
25699 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
25700
25701 Fix a segfault with parsing unknown long options.
25702
25703 * util/grub-mkrelpath.c (options): Zero terminate it.
25704
25705 2009-12-13 Carles Pina i Estany <carles@pina.cat>
25706
25707 * include/grub/misc.h (grub_puts): New declaration.
25708 (grub_puts_): Likewise.
25709 * kern/misc.c (grub_puts): New definition.
25710 (grub_puts_): Likewise.
25711
25712 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25713
25714 * util/grub-probe.c (probe): Improve error message.
25715
25716 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25717
25718 * loader/i386/multiboot_elfxx.c
25719 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
25720 initialization.
25721
25722 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25723
25724 Relocator framework
25725
25726 * loader/i386/xnu_helper.S: Removed. All users updated.
25727 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
25728 (relocator_mod_SOURCES): New variable.
25729 (relocator_mod_CFLAGS): Likewise.
25730 (relocator_mod_LDFLAGS): Likewise.
25731 (relocator_mod_ASFLAGS): Likewise.
25732 * conf/x86_64.rmk: Likewise.
25733 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
25734 (grub_multiboot_payload_entry_offset): Likewise.
25735 (grub_multiboot_forward_relocator): Likewise.
25736 (grub_multiboot_forward_relocator_end): Likewise.
25737 (grub_multiboot_backward_relocator): Likewise.
25738 (grub_multiboot_backward_relocator_end): Likewise.
25739 (grub_multiboot_payload_eip): New variable.
25740 (grub_multiboot_payload_orig): Likewise.
25741 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
25742 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
25743 * include/grub/i386/memory.h
25744 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
25745 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
25746 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
25747 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
25748 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
25749 * include/grub/i386/relocator.h: New file.
25750 * include/grub/x86_64/relocator.h: Likewise.
25751 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
25752 (XNU_RELOCATOR): New macro.
25753 (grub_xnu_launcher_start): Remove.
25754 (grub_xnu_launcher_end): Likewise.
25755 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
25756 (grub_xnu_heap_real_start): Remove.
25757 (grub_xnu_heap_start): Change to void *. All users updated.
25758 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
25759 * lib/i386/relocator.c: New file.
25760 * lib/i386/relocator_asm.S: Likewise.
25761 * lib/i386/relocator_backward.S: Likewise.
25762 * lib/mips/relocator.c: Likewise.
25763 * lib/mips/relocator_asm.S: Likewise.
25764 * lib/relocator.c: Likewise.
25765 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
25766 (entry): Removed.
25767 (playground): Likewise.
25768 (grub_multiboot_payload_orig): New variable.
25769 (grub_multiboot_payload_dest): Likewise.
25770 (grub_multiboot_payload_size): Likewise.
25771 (grub_multiboot_payload_eip): Likewise.
25772 (grub_multiboot_payload_esp): Likewise.
25773 (grub_multiboot_boot): Use grub_relocator32_boot.
25774 (grub_multiboot_unload): Free relocators.
25775 (grub_multiboot): Setup stack. Use relocators.
25776 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
25777 (grub_multiboot_load_elfXX): Use relocators.
25778 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
25779 (grub_multiboot_payload_size): Likewise.
25780 (grub_multiboot_payload_dest): Likewise.
25781 (grub_multiboot_payload_entry_offset): Likewise.
25782 (grub_multiboot_forward_relocator): Likewise.
25783 (grub_multiboot_backward_relocator): Likewise.
25784 (grub_multiboot_real_boot): Likewise.
25785 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
25786 (grub_xnu_entry_point): Likewise.
25787 (grub_xnu_arg1): Likewise.
25788 (grub_xnu_stack): Likewise.
25789 (grub_xnu_launch): Removed.
25790 (grub_xnu_boot_resume): New function.
25791 (grub_xnu_boot): Use relocators.
25792 * loader/i386/xnu_helper.S: Removed.
25793 * loader/xnu.c (grub_xnu_heap_start): New variable.
25794 (grub_xnu_heap_size): Likewise.
25795 (grub_xnu_heap_malloc): Use relocators.
25796 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
25797
25798 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25799
25800 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
25801 anything.
25802
25803 2009-12-13 Carles Pina i Estany <carles@pina.cat>
25804
25805 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
25806 GRUB_ERR_NONE before calling grub_env_set.
25807
25808 2009-12-12 Robert Millan <rmh@aybabtu.com>
25809
25810 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
25811 * genmk.rb (video): New variable.
25812 (CLEANFILES, VIDEOFILES): Add #{video}.
25813 (#{video}): New target rule.
25814 * genvideolist.sh: New file.
25815 * Makefile.in (pkglib_DATA): Add video.lst.
25816 (video.lst): New target rule.
25817 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
25818 `video.lst'.
25819 * util/grub.d/30_os-prober.in: Replace `vbe' with
25820 ${GRUB_VIDEO_BACKEND}.
25821
25822 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
25823
25824 * THANKS: Add David Miller.
25825
25826 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
25827
25828 libpciaccess support.
25829
25830 * Makefile.in (LIBPCIACCESS): New variable.
25831 (enable_grub_emu_pci): Likewise.
25832 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
25833 util/pci.c and commands/lspci.c.
25834 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
25835 * configure.ac (grub-emu-pci): New option.
25836 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
25837 (grub_pci_device_unmap_range): Likewise.
25838 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
25839 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
25840 (grub_pci_address_t) [!GRUB_UTIL]: New type.
25841 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
25842 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
25843 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
25844 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
25845 * include/grub/pciutils.h: New file.
25846 * util/pci.c: Likewise.
25847
25848 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
25849
25850 * util/misc.c: Don't include <errno.h> twice.
25851
25852 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
25853
25854 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
25855 name in an error message.
25856 (grub_biosdisk_rw): Likewise.
25857
25858 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25859
25860 Eliminate NTFS 4Gib barrier.
25861
25862 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
25863 (read_run_data): Likewise.
25864 (grub_ntfs_read_run_list): Likewise.
25865 (grub_ntfs_read_block): Likewise.
25866 (grub_ntfs_iterate_dir): Likewise.
25867 (read_mft): Likewise.
25868 (read_data): Likewise.
25869 Use COM_LOG_LEN.
25870 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
25871 to avoid 64-bit division
25872 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
25873 (grub_ntfs_rlst): Use grub_disk_addr_t.
25874
25875 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25876
25877 Eliminate grub-fstest 4Gib barrier.
25878
25879 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
25880 (read_file): Fix error reporting.
25881
25882 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25883
25884 Eliminate hexdump 4Gib barrier.
25885
25886 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
25887 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
25888
25889 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25890
25891 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
25892 Fixes amarsh bug.
25893
25894 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
25895
25896 Remove miscellaneous files in distclean target.
25897
25898 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
25899
25900 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
25901
25902 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
25903 if they're already set. This resolves the conflict between my
25904 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
25905 fixing the --grub-probe option again.
25906 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
25907 change on 2009-10-06, so that we now once again source
25908 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25909
25910 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
25911
25912 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
25913 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
25914 `util/devicemap.c'.
25915
25916 2009-12-08 Carles Pina i Estany <carles@pina.cat>
25917
25918 * include/grub/misc.h (grub_printf_): New declaration.
25919 * kern/misc.c (grub_printf_): New definition.
25920 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
25921 instead of `grub_printf' and `_'.
25922 * normal/menu_entry.c (store_completion): Likewise.
25923 (run): Likewise.
25924 (grub_menu_entry_run): Likewise.
25925 * normal/menu_text.c (grub_wait_after_message): Likewise.
25926 (notify_booting): Likewise.
25927 (notify_fallback): Likewise.
25928 (notify_execution_failure): Likewise.
25929
25930 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
25931
25932 * configure.ac: Check for vasprintf.
25933 * util/misc.c (asprintf): Move allocation from here ...
25934 (vasprintf): ... to here. New function.
25935 (xasprintf): New function.
25936 * include/grub/util/misc.h (vasprintf, xasprintf): Add
25937 prototypes.
25938 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25939 * util/grub-mkfont.c (write_font): Likewise.
25940 * util/grub-probe.c (probe): Likewise.
25941 * util/hostdisk.c (make_device_name): Likewise.
25942
25943 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
25944
25945 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
25946 anything even prefixed with 'cdrom' as a cdrom.
25947
25948 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
25949
25950 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
25951 mount points.
25952
25953 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25954
25955 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
25956 grub_gettext_msg_list.
25957 (grub_gettext_gettranslation_from_position): Return const char *
25958 and not char *.
25959 (grub_gettext_translate): Add the translated strings into a list,
25960 returns from the list if existing there.
25961 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
25962 (grub_gettext_delete_list): Delete the list.
25963 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
25964 lang environment variable is changed.
25965 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
25966
25967 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25968
25969 Rename kernel.mod to kernel.img.
25970
25971 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
25972 (kernel_mod_EXPORTS): Rename to ...
25973 (kernel_img_EXPORTS): ... this.
25974 (kernel_mod_SOURCES): Rename to ...
25975 (kernel_img_SOURCES): ... this.
25976 (kernel_mod_HEADERS): Rename to ...
25977 (kernel_img_HEADERS): ... this. All users updated.
25978 (kernel_mod_CFLAGS): Rename to ...
25979 (kernel_img_CFLAGS): ... this.
25980 (kernel_mod_ASFLAGS): Rename to ...
25981 (kernel_img_ASFLAGS): ... this.
25982 (kernel_mod_LDFLAGS): Rename to ...
25983 (kernel_img_LDFLAGS): ... this.
25984 * conf/x86_64-efi.rmk: Likewise.
25985 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
25986 (read_kernel_image): ... this. All users updated.
25987 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
25988
25989 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25990
25991 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
25992 (print_spaces): New function.
25993 (grub_print_ucs4): New function.
25994 (getstringwidth): New function.
25995 (print_message_indented): New function.
25996 (print_message): Gettexttize strings using print_message_indented.
25997 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
25998 width.
25999 (get_entry_number): Gettextize and uses dynamic terminal width.
26000 (notify_booting, notify_fallback, notify_execution_failure):
26001 Gettextize.
26002 * normal/menu_entry.c (store_completion): Cleanup the gettextized
26003 string.
26004 (run): Likewise.
26005 (grub_menu_entry_run): Likewise.
26006 * PO/POTFILES: Add normal/menu_entry.c.
26007
26008 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
26009
26010 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
26011
26012 2009-12-05 Carles Pina i Estany <carles@pina.cat>
26013
26014 * util/grub-install.in: Install gettext .mo files.
26015 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
26016
26017 2009-12-05 Carles Pina i Estany <carles@pina.cat>
26018
26019 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
26020 grub_dprintf.
26021
26022 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
26023
26024 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
26025 non-firmware-dependant one in realmode.S takes precedence.
26026
26027 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
26028
26029 * commands/halt.c: Replace misc arch-specific headers with
26030 `<grub/misc.h>'.
26031 * commands/reboot.c: Likewise.
26032 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
26033 `<grub/misc.h>'.
26034 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
26035 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
26036 (kernel_img_SOURCES): ... to here.
26037
26038 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
26039 * include/grub/i386/pc/init.h: Likewise.
26040 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26041 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26042
26043 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
26044
26045 * include/grub/i386/halt.h: Remove.
26046 * include/grub/i386/reboot.h: Likewise.
26047
26048 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
26049
26050 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
26051
26052 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
26053 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
26054 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
26055 "progname.h"
26056 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
26057 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26058 (usage): Add missing comma in printf.
26059
26060 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
26061
26062 Use the same reboot approach on i386 coreboot and qemu as we do on
26063 BIOS.
26064
26065 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
26066 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
26067 * kern/i386/reboot.c: Remove.
26068 * include/grub/i386/reboot.h (grub_reboot): Export function.
26069 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
26070 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
26071 0xf000:0xfff0 instead of 0xffff:0x0000.
26072 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
26073 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
26074
26075 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
26076
26077 Fix $srcdir != $objdir build.
26078
26079 * Makefile.in (po/%.po): Rewrite as ...
26080 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
26081
26082 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
26083
26084 Fix GNU/Hurd grub-install crash.
26085 * util/grub-probe.c (probe): Try to access `path' only when it is not
26086 NULL.
26087
26088 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26089
26090 Correct module naming.
26091
26092 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
26093 (GRUB_MOD_INIT(efi_uga)): ... to this
26094 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
26095 (GRUB_MOD_FINI(efi_uga)): ... to this
26096 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
26097 (GRUB_MOD_INIT(efi_gop)): ... to this
26098 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
26099 (GRUB_MOD_FINI(efi_gop)): ... to this
26100
26101 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
26102
26103 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
26104 translatable.
26105 (usage): Translate `arg' strings using gettext().
26106 Thanks to Jordi Mallach for the suggestion.
26107
26108 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26109
26110 GOP support. Based on patch from Bean
26111 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
26112
26113 * video/efi_gop.c: New file.
26114 * include/grub/efi/graphics_output.h: Likewise.
26115 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
26116 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
26117 variables.
26118 * conf/x86_64-efi.rmk: Likewise.
26119
26120 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26121
26122 Rename efi_fb to efi_uga.
26123
26124 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
26125 'efi_uga.mod'.
26126 (efi_fb_mod_SOURCES): Rename this ...
26127 (efi_uga_mod_SOURCES): ... to this.
26128 (efi_fb_mod_CFLAGS): Rename this ...
26129 (efi_uga_mod_CFLAGS): ... to this.
26130 (efi_fb_mod_LDFLAGS): Rename this ...
26131 (efi_uga_mod_LDFLAGS): ... to this.
26132 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
26133 'efi_uga.mod'.
26134 (efi_fb_mod_SOURCES): Rename this ...
26135 (efi_uga_mod_SOURCES): ... to this.
26136 (efi_fb_mod_CFLAGS): Rename this ...
26137 (efi_uga_mod_CFLAGS): ... to this.
26138 (efi_fb_mod_LDFLAGS): Rename this ...
26139 (efi_uga_mod_LDFLAGS): ... to this.
26140 * video/efi_fb.c: Move this ...
26141 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
26142
26143 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26144
26145 * po/README: New file. Explain our PO file workflow.
26146
26147 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26148
26149 * po/ChangeLog: Remove. Move relevant entries back to ...
26150 * ChangeLog: ... here.
26151 * po/ca.po: Remove (now handled by TLP).
26152 * po/id.po: Likewise.
26153 * po/zh_CN.po: Likewise.
26154 * Makefile.in (LINGUAS): Initialize in a way that supports
26155 empty set.
26156
26157 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26158
26159 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
26160 reliing on po/LINGUAS.
26161 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
26162 (po/%.po): ... this.
26163
26164 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
26165
26166 * util/i386/efi/grub-mkimage.c: Include "progname.h".
26167 (main): Use `program_name' instead of nonexistent `progname'.
26168
26169 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
26170
26171 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26172 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
26173
26174 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
26175
26176 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
26177 commit.
26178 * conf/i386-efi.rmk: Likewise.
26179 * conf/i386-ieee1275.rmk: Likewise.
26180 * conf/powerpc-ieee1275.rmk: Likewise.
26181 * conf/sparc64-ieee1275.rmk: Likewise.
26182 * conf/x86_64-efi.rmk: Likewise.
26183
26184 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
26185
26186 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
26187
26188 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
26189
26190 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
26191
26192 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
26193
26194 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
26195 (grub_mkdevicemap_SOURCES): New variable.
26196 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
26197 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
26198 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
26199 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
26200 (grub_mkdevicemap_SOURCES): Remove.
26201 * conf/i386-efi.rmk: Likewise.
26202 * conf/i386-ieee1275.rmk: Likewise.
26203 * conf/i386-pc.rmk: Likewise.
26204 * conf/powerpc-ieee1275.rmk: Likewise.
26205 * conf/sparc64-ieee1275.rmk: Likewise.
26206 * conf/x86_64-efi.rmk: Likewise.
26207 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
26208 (usage): Fix strings to use `program_name'.
26209 (main): Initialize gettext.
26210 * util/grub-editenv.c: Likewise.
26211 * util/grub-emu.c: Likewise.
26212 * util/grub-fstest.c: Likewise.
26213 * util/grub-mkdevicemap.c: Likewise.
26214 * util/grub-mkfont.c: Likewise.
26215 * util/grub-mkrelpath.c: Likewise.
26216 * util/grub-pe2elf.c: Likewise.
26217 * util/grub-probe.c: Likewise.
26218 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
26219 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
26220 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26221
26222 * util/misc.c: Include `"progname.h"'.
26223 (progname): Remove variable.
26224 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
26225
26226 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
26227
26228 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
26229 printf and print a newline after the menuentry header line.
26230 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26231
26232 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
26233
26234 autoconf >= 2.60 support $(localedir).
26235
26236 * INSTALL: Note that autoconf 2.60 is required.
26237 * configure.ac (AC_PREREQ): Bump to 2.60.
26238 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
26239 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
26240
26241 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
26242
26243 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
26244 aclocal is run.
26245
26246 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
26247
26248 * normal/main.c (grub_normal_read_line): Fix off-by-one
26249 buffer overflow.
26250
26251 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
26252
26253 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
26254 "parser.grub" in grub_command_execute() call.
26255
26256 2009-11-24 Carles Pina i Estany <carles@pina.cat>
26257
26258 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
26259 * conf/i386-efi.rmk: Likewise.
26260 * conf/i386-ieee1275.rmk: Likewise.
26261 * conf/i386-pc.rmk: Likewise.
26262 * conf/powerpc-ieee1275.rmk: Likewise.
26263 * conf/sparc64-ieee1275.rmk: Likewise.
26264 * conf/x86_64-efi.rmk: Likewise.
26265 * gettext/gettex.c: Include <grub/i18n.h>.
26266 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
26267 here ...
26268 * include/grub/i18n.h: ... to here
26269 * include/grub/i18n.h: ... to here.
26270 * kern/misc.c: Include <grub/i18n.h>
26271 (grub_gettext_dummy): Move above user.
26272
26273 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26274
26275 * util/Makefile.in (install-local): Convert a `for' into a normal
26276 shell expansion.
26277
26278 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
26279
26280 * autogen.sh: Add automake call.
26281 * config.guess: Remove.
26282 * config.sub: Likewise.
26283 * install-sh: Likewise.
26284
26285 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26286
26287 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
26288
26289 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26290
26291 * util/Makefile.in (install-local): Convert a make `$(foreach)'
26292 function to a normal shell `for'.
26293
26294 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26295
26296 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26297
26298 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26299
26300 * util/grub-mkrelpath.c: New file.
26301 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
26302 (grub_mkrelpath_SOURCES): New variable.
26303 * include/grub/util/misc.h: New function prototype.
26304 * util/misc.c (make_system_path_relative_to_its_root): New function.
26305
26306 * util/grub-mkconfig_lib.in (bindir): New variable.
26307 (grub_mkrelpath): Likewise.
26308 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
26309
26310 * util/probe.c (probe): Make the file path relative to its root.
26311 Change a info message to use the GRUB path. Enable again the
26312 check if we can read the file with GRUB facilities.
26313
26314 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
26315 to its root.
26316
26317 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26318
26319 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
26320 platform.
26321
26322 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26323
26324 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
26325 strncmp().
26326
26327 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26328
26329 * util/getroot.c (grub_util_is_dmraid): New function.
26330 (grub_util_get_dev_abstraction): Treat dmraid and multipath
26331 devices as normal ones, not as LVM.
26332
26333 2009-11-23 Carles Pina i Estany <carles@pina.cat>
26334
26335 * conf/common.rmk: Add grub-gettext_lib target and updates
26336 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
26337 LDFLAGS.
26338 * gettext/gettext.c: New file. (Reads mo files).
26339 * include/grub/file.h (grub_file_pread): New prototype.
26340 * include/grub/i18n.h (_): New prototype.
26341 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
26342 prototypes.
26343 * kern/misc.c (grub_gettext_dummy): New function.
26344 * normal/menu_text.c: Include <grub/i18n.h>.
26345 * normal/menu_text.c (print_timeout): Gettexttize string.
26346 * normal/menu_text.c (print_message): Gettexttize string.
26347 * po/POTFILES: Add `normal/menu_text.c'.
26348 * po/ca.po: Add new translations.
26349 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
26350 gettext module and defines locale_dir and lang in grub.cfg.
26351 * NEWS: Add gettext support.
26352
26353 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26354
26355 * util/hostdisk.c: Include `<grub/i18n.h>'.
26356 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
26357 (make_device_name): Rewrite using asprintf.
26358 (convert_system_partition_to_system_disk): Replace 0 with NULL.
26359 (find_system_device): If a device is not found, generate one just
26360 by reusing the OS path name.
26361 (read_device_map): Make it permissible for device.map not to exist.
26362
26363 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26364
26365 * script/sh/execute.c: Move from here ...
26366 * script/execute.c: ... to here. Update all users.
26367 * script/sh/function.c: Move from here ...
26368 * script/function.c: ... to here. Update all users.
26369 * script/sh/lexer.c: Move from here ...
26370 * script/lexer.c: ... to here. Update all users.
26371 * script/sh/main.c: Move from here ...
26372 * script/main.c: ... to here. Update all users.
26373 * script/sh/parser.y: Move from here ...
26374 * script/parser.y: ... to here. Update all users.
26375 * script/sh/script.c: Move from here ...
26376 * script/script.c: ... to here. Update all users.
26377
26378 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26379
26380 * configure.ac: Detect all `emu' platforms. Define
26381 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
26382 --enable-grub-emu logic. Disable include/grub/machine
26383 symlink on `emu' platforms.
26384
26385 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
26386 * gensymlist.sh.in: Likewise.
26387
26388 * include/grub/i386/coreboot/machine.h: Remove file.
26389 * include/grub/i386/efi/machine.h: Likewise.
26390 * include/grub/i386/ieee1275/machine.h: Likewise.
26391 * include/grub/i386/pc/machine.h: Likewise.
26392 * include/grub/i386/qemu/machine.h: Likewise.
26393 * include/grub/powerpc/ieee1275/machine.h: Likewise.
26394 * include/grub/sparc64/ieee1275/machine.h: Likewise.
26395 * include/grub/x86_64/efi/machine.h: Likewise.
26396
26397 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
26398 * commands/halt.c: Likewise.
26399 * commands/reboot.c: Likewise.
26400 * include/grub/autoefi.h: Likewise.
26401 * include/grub/i386/at_keyboard.h: Likewise.
26402 * include/grub/i386/kernel.h: Likewise.
26403 * include/grub/i386/loader.h: Likewise.
26404 * include/grub/i386/pc/memory.h: Likewise.
26405 * kern/dl.c: Likewise.
26406 * kern/i386/coreboot/init.c: Likewise.
26407 * loader/i386/bsd.c: Likewise.
26408 * loader/i386/linux.c: Likewise.
26409 * loader/multiboot_loader.c: Likewise.
26410 * term/i386/pc/serial.c: Likewise.
26411 * term/usb_keyboard.c: Likewise.
26412
26413 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
26414 `<grub/machine/machine.h>'
26415 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
26416 * util/misc.c: Remove `<grub/machine/machine.h>' and
26417 `<grub/machine/time.h>'.
26418
26419 * Makefile.in (enable_grub_emu): Remove variable.
26420 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
26421
26422 * conf/any-emu.rmk: New file.
26423 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
26424 (grub_emu_init.c): Move from here ...
26425 * conf/any-emu.rmk: ... to here.
26426
26427 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
26428 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
26429 * conf/any-emu.rmk: ... to here.
26430
26431 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26432
26433 * include/grub/parser.h (grub_parser_register): Document need
26434 of `name' parameter.
26435 * normal/main.c (grub_normal_read_line): Simplify prompt string.
26436 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
26437 "sh" to "grub".
26438
26439 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26440
26441 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
26442 `$(XGETTEXT)'.
26443 * include/grub/i18n.h (N_): New macro.
26444 * util/mkisofs/mkisofs.h: Likewise.
26445 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
26446 around N_().
26447 (usage): Use gettext() to translate help strings when printing them.
26448
26449 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26450
26451 Based on patch from Bean
26452 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
26453
26454 * video/efi_fb.c: New file.
26455 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
26456 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
26457 variables.
26458 * conf/x86_64-efi.rmk: Likewise.
26459
26460 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
26461
26462 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
26463 * util/i386/pc/grub-setup.c: Likewise.
26464
26465 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
26466
26467 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
26468 <hurd/fs.h>
26469 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
26470 file_get_storage_info to implement grub_guess_root_device.
26471
26472 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
26473
26474 * Makefile.in (target): Use make's builtin $(shell) function
26475 instead of calling directly $(SHELL) to create the locale directories,
26476 inside the $(foreach) function.
26477
26478 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
26479
26480 * util/grub-mkrescue.in: Print an error and usage if output option
26481 has not been given.
26482
26483 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
26484
26485 Patch from Loïc Minier <loic.minier@ubuntu.com>.
26486 * util/grub.d/30_os-prober.in: Cope with Linux entries where
26487 root and /boot are on different devices.
26488
26489 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26490
26491 Fix build for srcdir != objdir.
26492
26493 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
26494 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
26495 $(srcdir).
26496 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
26497 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
26498 reference for input.
26499
26500 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26501
26502 * util/grub-mkrescue.in: Use source directory direcly (without copiing
26503 or hardlinking it). Remove -J option, Joliet is not compatible with
26504 multiple source directories.
26505
26506 2009-11-21 Carles Pina i Estany <carles@pina.cat>
26507 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26508
26509 * util/grub-mkrescue.in: Recognize `--override-directory' option.
26510 (process_input_dir): New function. Process an arbitrary input
26511 directory.
26512 Misc adjustments to support both "override mode" and system-wide mode.
26513
26514 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
26515
26516 * configure.ac (UNIFONT_BDF): Rename to ...
26517 (FONT_SOURCE): ... this. Update all users.
26518
26519 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
26520
26521 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
26522 to the list of unifont files to look for.
26523
26524 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26525
26526 Patch from Joe Auricchio <jauricchio@gmail.com>
26527 * commands/minicmd.c (grub_mini_cmd_clear): New function.
26528 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
26529 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
26530
26531 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
26532
26533 * Makefile.in (install-local): Add a missing backslash.
26534
26535 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
26536
26537 * include/grub/x86_64/io.h: New file.
26538
26539 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26540
26541 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
26542 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
26543 Include `"progname.h"'.
26544 (main): Initialize gettext.
26545 * util/i386/pc/grub-setup.c: Gettexttize.
26546 * util/i386/pc/grub-mkimage.c: Likewise.
26547
26548 * Makefile.in (po/*.po): Redefine as ...
26549 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
26550
26551 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
26552
26553 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26554
26555 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
26556 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
26557 (program_name): Remove.
26558 (main): Initialize gettext support.
26559 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
26560 Include `<libintl.h>'.
26561 (_): New macro.
26562
26563 * util/mkisofs/eltorito.c: Gettexttize.
26564 * util/mkisofs/joliet.c: Likewise.
26565 * util/mkisofs/mkisofs.c: Likewise.
26566 * util/mkisofs/multi.c: Likewise.
26567 * util/mkisofs/rock.c: Likewise.
26568 * util/mkisofs/tree.c: Likewise.
26569 * util/mkisofs/write.c: Likewise.
26570
26571 * po/POTFILES: Update with new files.
26572
26573 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26574
26575 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
26576 * util/mkisofs/iso9660.h: Likewise.
26577 * util/mkisofs/joliet.c: Likewise.
26578 * util/mkisofs/mkisofs.c: Likewise.
26579 * util/mkisofs/mkisofs.h: Likewise.
26580 * util/mkisofs/rock.c: Likewise.
26581 * util/mkisofs/tree.c: Likewise.
26582 * util/mkisofs/write.c: Likewise.
26583
26584 * util/mkisofs/eltorito.c (rcsid): Remove.
26585 * util/mkisofs/hash.c: Likewise.
26586 * util/mkisofs/joliet.c: Likewise.
26587 * util/mkisofs/name.c: Likewise.
26588 * util/mkisofs/rock.c: Likewise.
26589 * util/mkisofs/tree.c: Likewise.
26590 * util/mkisofs/write.c: Likewise.
26591
26592 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26593
26594 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
26595 instead of static allocation.
26596 * util/mkisofs/match.h: Likewise.
26597
26598 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26599
26600 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
26601 and `util/grub.d/10_linux.in'.
26602 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
26603 translatable Shell files.
26604
26605 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26606
26607 * Makefile.in ($(srcdir)/aclocal.m4): New target.
26608
26609 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26610
26611 * INSTALL: Document Automake is needed for bootstrap.
26612 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
26613 * util/grub.d/10_kfreebsd.in (bindir): New variable.
26614 Add gettext initialization.
26615 (kfreebsd_entry): Make menuentry output translatable.
26616
26617 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26618
26619 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
26620 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
26621 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
26622 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
26623 (LINGUAS): Auto-generate using `po/LINGUAS'.
26624 * po/LINGUAS: New file.
26625
26626 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26627
26628 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
26629 other things).
26630 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
26631 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
26632 bindtextdomain() calls for gettext initialization.
26633
26634 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26635
26636 * gnulib/progname.c: New file (imported from Gnulib).
26637 * gnulib/progname.h: Likewise.
26638 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26639 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
26640 (usage): Replace `progname' with `program_name'.
26641 (main): Use set_program_name() for program name initialization.
26642
26643 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26644
26645 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
26646 from here ...
26647 * Makefile.in (CPPFLAGS): ... to here.
26648
26649 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26650
26651 * aclocal.m4: Move from here ...
26652 * acinclude.m4: ... to here.
26653 * autogen.sh: Add call to `aclocal'.
26654 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
26655
26656 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26657
26658 * Makefile.in (CLEANFILES): Add `po/*.mo'.
26659 (LINGUAS): New variable.
26660 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
26661 (install-local): Install MO files.
26662 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
26663 * include/grub/i18n.h: New file.
26664 * po/POTFILES: New file.
26665 * po/ca.po: New file.
26666 * util/grub.d/10_linux.in (bindir): New variable.
26667 Add gettext initialization.
26668 (linux_entry): Make menuentry output translatable.
26669 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
26670 (usage): Make --help output translatable.
26671 (main): Initialize gettext.
26672
26673 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26674
26675 * import_gcry.py: New file (written by Vladimir with minor
26676 adjustments).
26677 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
26678 ciphers.
26679 * INSTALL: Document that Python is required for bootstrap.
26680
26681 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26682
26683 Import ciphers from libgcrypt 1.4.4.
26684
26685 * lib/libgcrypt/cipher/ChangeLog
26686 * lib/libgcrypt/cipher/ac.c
26687 * lib/libgcrypt/cipher/arcfour.c
26688 * lib/libgcrypt/cipher/bithelp.h
26689 * lib/libgcrypt/cipher/blowfish.c
26690 * lib/libgcrypt/cipher/camellia-glue.c
26691 * lib/libgcrypt/cipher/camellia.c
26692 * lib/libgcrypt/cipher/camellia.h
26693 * lib/libgcrypt/cipher/cast5.c
26694 * lib/libgcrypt/cipher/cipher.c
26695 * lib/libgcrypt/cipher/crc.c
26696 * lib/libgcrypt/cipher/des.c
26697 * lib/libgcrypt/cipher/dsa.c
26698 * lib/libgcrypt/cipher/ecc.c
26699 * lib/libgcrypt/cipher/elgamal.c
26700 * lib/libgcrypt/cipher/hash-common.c
26701 * lib/libgcrypt/cipher/hash-common.h
26702 * lib/libgcrypt/cipher/hmac-tests.c
26703 * lib/libgcrypt/cipher/md.c
26704 * lib/libgcrypt/cipher/md4.c
26705 * lib/libgcrypt/cipher/md5.c
26706 * lib/libgcrypt/cipher/primegen.c
26707 * lib/libgcrypt/cipher/pubkey.c
26708 * lib/libgcrypt/cipher/rfc2268.c
26709 * lib/libgcrypt/cipher/rijndael-tables.h
26710 * lib/libgcrypt/cipher/rijndael.c
26711 * lib/libgcrypt/cipher/rmd.h
26712 * lib/libgcrypt/cipher/rmd160.c
26713 * lib/libgcrypt/cipher/rsa.c
26714 * lib/libgcrypt/cipher/seed.c
26715 * lib/libgcrypt/cipher/serpent.c
26716 * lib/libgcrypt/cipher/sha1.c
26717 * lib/libgcrypt/cipher/sha256.c
26718 * lib/libgcrypt/cipher/sha512.c
26719 * lib/libgcrypt/cipher/tiger.c
26720 * lib/libgcrypt/cipher/twofish.c
26721 * lib/libgcrypt/cipher/whirlpool.c
26722
26723 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26724
26725 Fix build for systems without error().
26726
26727 * gnulib/error.c: New file (imported from Gnulib).
26728 * gnulib/error.h: Likewise.
26729 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
26730 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
26731 (this variable is now used by error()).
26732
26733 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
26734
26735 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
26736 instead of relying that char is signed.
26737
26738 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
26739
26740 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
26741 blocksize different from specified.
26742 (grub_pxefs_read): Likewise.
26743
26744 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
26745
26746 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
26747
26748 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
26749 (grub_ata_readwrite): Likewise. Update 2 format strings.
26750 (grub_atapi_read): Likewise.
26751
26752 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
26753 * conf/i386.rmk (pkglib_MODULES): ... to here ...
26754 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
26755 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
26756 (ata_mod_LDFLAGS): Move from here ...
26757 * conf/i386.rmk: ... to here ...
26758 * conf/x86_64-efi.rmk: ... and here.
26759 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
26760 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
26761
26762 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26763
26764 Relicense multiboot.h, with RMS' blessing.
26765
26766 * include/multiboot.h: Change to X11 license.
26767
26768 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
26769
26770 Support --version in grub-mkisofs.
26771
26772 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
26773 (OPTION_VERSION): New macro.
26774 (ld_options): Recognize --version.
26775 (usage): Move `program_name' from here ...
26776 (program_name): ... to here. Add `static' qualifier.
26777 (main): Recognize `OPTION_VERSION'.
26778
26779 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
26780
26781 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
26782 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
26783
26784 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26785
26786 Fix help2man generation for mkisofs.
26787
26788 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
26789 (usage): Send output to stdout (rather than stderr).
26790
26791 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26792
26793 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
26794 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26795 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
26796 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26797 (bin_SCRIPTS): Add `grub-mkfloppy'.
26798 (grub_mkfloppy_SOURCES): New variable.
26799
26800 * util/grub-mkrescue.in: New file.
26801 * util/i386/pc/grub-mkfloppy.in: New file.
26802
26803 * util/i386/coreboot/grub-mkrescue.in: Remove.
26804 * util/i386/pc/grub-mkrescue.in: Remove.
26805
26806 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26807
26808 * include/grub/multiboot.h (struct grub_multiboot_header): Move
26809 from here ...
26810 * include/multiboot.h (struct multiboot_header): ... to here. Update
26811 all users.
26812 * include/grub/multiboot.h (struct grub_multiboot_info): Move
26813 from here ...
26814 * include/multiboot.h (struct multiboot_info): ... to here. Update
26815 all users.
26816 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
26817 from here ...
26818 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
26819 Update all users.
26820 * include/grub/multiboot.h (struct grub_mod_list): Move
26821 from here ...
26822 * include/multiboot.h (struct multiboot_mod_list): ... to here.
26823 Update all users.
26824
26825 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26826
26827 * include/multiboot2.h (multiboot_word): Rename from this ...
26828 (multiboot2_word): ... to this. Update all users.
26829 (multiboot_header): Rename from this ...
26830 (multiboot2_header): ... to this. Update all users.
26831 (multiboot_tag_header): Rename from this ...
26832 (multiboot2_tag_header): ... to this. Update all users.
26833 (multiboot_tag_start): Rename from this ...
26834 (multiboot2_tag_start): ... to this. Update all users.
26835 (multiboot_tag_name): Rename from this ...
26836 (multiboot2_tag_name): ... to this. Update all users.
26837 (multiboot_tag_module): Rename from this ...
26838 (multiboot2_tag_module): ... to this. Update all users.
26839 (multiboot_tag_memory): Rename from this ...
26840 (multiboot2_tag_memory): ... to this. Update all users.
26841 (multiboot_tag_unused): Rename from this ...
26842 (multiboot2_tag_unused): ... to this. Update all users.
26843 (multiboot_tag_end): Rename from this ...
26844 (multiboot2_tag_end): ... to this. Update all users.
26845
26846 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26847
26848 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
26849 this platform we should support Multiboot1 first.
26850
26851 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26852 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
26853 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
26854
26855 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26856
26857 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
26858 of write calls (converting them to fwrite() if they aren't already).
26859 (get_torito_desc): Likewise.
26860 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
26861
26862 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26863
26864 * util/i386/pc/grub-install.in: Move from here ...
26865 * util/grub-install.in: ... to here. Update all users.
26866
26867 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
26868
26869 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
26870
26871 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26872
26873 Support for El Torito without floppy emulation.
26874
26875 * util/mkisofs/eltorito.c: Include `<errno.h>'.
26876 (init_boot_catalog): Improve error handling.
26877 (get_torito_desc): Don't use floppy emulation unless requested by
26878 user. Patch boot information table when requested via
26879 `-boot-info-table'.
26880 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
26881 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
26882 (use_boot_info_table): New variables.
26883 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
26884 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
26885 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
26886 `--eltorito-emul-floppy'.
26887 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
26888 and `OPTION_ELTORITO_EMUL_FLOPPY'.
26889 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
26890 (use_boot_info_table, get_731): New prototypes.
26891 * util/mkisofs/write.c (get_731): New function.
26892
26893 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
26894
26895 Fix the generation of the man page.
26896
26897 * util/pc/i386/grub-install.in: Source
26898 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
26899
26900 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26901
26902 Large file support for grub-mkisofs.
26903
26904 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
26905 * util/mkisofs/mkisofs.c (next_extent, last_extent)
26906 (session_start): Upgrade type to `uint64_t'. Update all users.
26907 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
26908 (struct directory_entry): Upgrade type of `starting_block' and
26909 `size' to `uint64_t'. Update all users.
26910 (struct deferred): Remove unused structure.
26911 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
26912 Update all users.
26913 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
26914 file is larger than `UINT32_MAX'.
26915 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
26916 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
26917 return value.
26918 (struct deferred_write): Upgrade type of `extent' and `size' to
26919 `uint64_t'. Update all users.
26920 (last_extent_written): Upgrade type to `uint64_t'. Update all
26921 users.
26922 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
26923 Update all users. Upgrade type of `remain' to `int64_t' and
26924 `use' to `size_t'. Use error() to handle fread() errors.
26925 (write_files): Rely on write_one_file() rather than calling
26926 xfwrite() directly.
26927
26928 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
26929
26930 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
26931
26932 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26933
26934 * util/mkisofs/fnmatch.c: Remove.
26935 * util/mkisofs/getopt1.c: Likewise.
26936 * util/mkisofs/getopt.c: Likewise.
26937 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
26938 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
26939 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
26940 `gnulib/getopt1.c' and `gnulib/getopt.c'.
26941 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
26942
26943 * configure.ac: Detect `mingw32msvc' host_os.
26944 Check for lstat(), getuid() and getgid().
26945
26946 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
26947 instances of `u_char' with `uint8_t'.
26948
26949 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
26950 [!HAVE_GETUID] (getuid): New function (stub).
26951 [!HAVE_GETGID] (getgid): Likewise.
26952 [!HAVE_LSTAT] (lstat): Likewise.
26953 [!S_IROTH] (S_IROTH): New macro (dummy).
26954 [!S_IRGRP] (S_IRGRP): Likewise.
26955
26956 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26957
26958 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
26959 conditional expression).
26960
26961 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26962
26963 Import from Gnulib.
26964
26965 * gnulib/fnmatch.c: New file.
26966 * gnulib/fnmatch.h: Likewise.
26967 * gnulib/fnmatch_loop.c: Likewise.
26968 * gnulib/getopt.c: Likewise.
26969 * gnulib/getopt.h: Likewise.
26970 * gnulib/getopt1.c: Likewise.
26971 * gnulib/getopt_int.h: Likewise.
26972 * gnulib/gettext.h: Likewise.
26973
26974 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26975
26976 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
26977 * normal/handler.c (read_handler_list): Likewise.
26978
26979 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26980
26981 Misc cleanup.
26982
26983 * kern/command.c (grub_register_command_prio): Use
26984 grub_zalloc() instead of explicitly zeroing data.
26985 * kern/list.c: Include `<grub/mm.h>'.
26986 (grub_named_list_find): Replace `0' with `NULL'.
26987 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
26988 (fs_module_list): Change type to `grub_named_list_t'. Update all
26989 users.
26990 * normal/dyncmd.c (read_command_list): Add space between function
26991 call and parenthesis.
26992 * normal/handler.c (read_handler_list): Likewise.
26993
26994 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26995
26996 * normal/auth.c (punishment_delay): Moved from here ...
26997 (grub_auth_strcmp): ... to here (inside function).
26998
26999 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27000
27001 * include/grub/list.h (struct grub_named_list): Remove `const'
27002 qualifier from `name'.
27003 (struct grub_prio_list): Likewise.
27004
27005 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27006
27007 * normal/auth.c: Include `<grub/time.h>'.
27008 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
27009
27010 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27011
27012 * normal/auth.c (punishment_delay): New variable.
27013 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
27014 (grub_auth_check_authentication): Punish failed login attempts with
27015 an incremental (2^N) delay.
27016
27017 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27018
27019 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
27020 path with $(srcdir).
27021
27022 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
27023
27024 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
27025
27026 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27027
27028 * util/i386/coreboot/grub-mkrescue.in: New file.
27029 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
27030 variables.
27031
27032 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
27033 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
27034 * configure.ac: Add header and function checks to satisfy grub-mkisofs
27035 requirements.
27036 * util/mkisofs/defaults.h: New file.
27037 * util/mkisofs/eltorito.c: Likewise.
27038 * util/mkisofs/exclude.h: Likewise.
27039 * util/mkisofs/fnmatch.c: Likewise.
27040 * util/mkisofs/getopt.c: Likewise.
27041 * util/mkisofs/getopt1.c: Likewise.
27042 * util/mkisofs/hash.c: Likewise.
27043 * util/mkisofs/include/fctldefs.h: Likewise.
27044 * util/mkisofs/include/mconfig.h: Likewise.
27045 * util/mkisofs/include/prototyp.h: Likewise.
27046 * util/mkisofs/include/statdefs.h: Likewise.
27047 * util/mkisofs/iso9660.h: Likewise.
27048 * util/mkisofs/joliet.c: Likewise.
27049 * util/mkisofs/match.c: Likewise.
27050 * util/mkisofs/match.h: Likewise.
27051 * util/mkisofs/mkisofs.c: Likewise.
27052 * util/mkisofs/mkisofs.h: Likewise.
27053 * util/mkisofs/multi.c: Likewise.
27054 * util/mkisofs/name.c: Likewise.
27055 * util/mkisofs/rock.c: Likewise.
27056 * util/mkisofs/tree.c: Likewise.
27057 * util/mkisofs/write.c: Likewise.
27058
27059 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
27060
27061 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
27062 being insecure.
27063
27064 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27065
27066 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
27067 `grub-mkimage' (and use $0 when possible).
27068
27069 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27070
27071 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
27072 error message for excessively large memory map.
27073
27074 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27075
27076 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
27077 executable bit.
27078
27079 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27080
27081 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
27082 message for coreboot users.
27083
27084 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
27085
27086 Fix build with GNU gold.
27087
27088 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
27089 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
27090 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
27091 link addresses.
27092 * aclocal.m4: Likewise.
27093
27094 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
27095
27096 * configure.ac (AC_PREREQ): Bump to 2.59d.
27097 * INSTALL: Make it more clear when Autoconf and Ruby are
27098 needed and when to run `./autogen.sh'.
27099
27100 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
27101
27102 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
27103 OSes.
27104
27105 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27106
27107 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
27108
27109 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27110
27111 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
27112 giving it to GNU Mach.
27113
27114 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27115
27116 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
27117 GNU partition number to get internal GRUB partition number.
27118
27119 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27120
27121 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
27122 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
27123
27124 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
27125
27126 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
27127 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
27128 case.
27129
27130 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
27131
27132 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
27133
27134 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
27135
27136 Fix build problem.
27137
27138 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
27139 `-isystem=$(srcdir)/include'.
27140
27141 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
27142
27143 * util/i386/pc/grub-install.in: Remove hint that device.map should be
27144 checked (grub-install doesn't currently rely on it).
27145
27146 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
27147
27148 Revert SVN r2660.
27149
27150 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
27151 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
27152 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
27153 * conf/i386-ieee1275.rmk: Likewise.
27154 * conf/i386-pc.rmk: Likewise.
27155 * conf/powerpc-ieee1275.rmk: Likewise.
27156 * conf/sparc64-ieee1275.rmk: Likewise.
27157 * conf/x86_64-efi.rmk: Likewise.
27158
27159 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27160
27161 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
27162
27163 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27164
27165 * include/grub/misc.h: Stop checking for APPLE_CC.
27166
27167 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27168
27169 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
27170 doesn't cause an infinite call loop.
27171
27172 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
27173
27174 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
27175 strings.
27176
27177 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27178
27179 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
27180 variable.
27181 * Makefile.in: Likewise.
27182
27183 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27184
27185 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
27186
27187 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27188
27189 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
27190
27191 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27192
27193 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
27194
27195 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27196
27197 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
27198 from here ...
27199 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
27200
27201 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27202
27203 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
27204 in $(MAKEINFO) invocation. This makes it clear in output that
27205 errors are being ignored.
27206
27207 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27208
27209 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
27210 from here ...
27211 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
27212 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
27213 * conf/i386-ieee1275.rmk: Likewise.
27214 * conf/i386-pc.rmk: Likewise.
27215 * conf/powerpc-ieee1275.rmk: Likewise.
27216 * conf/sparc64-ieee1275.rmk: Likewise.
27217 * conf/x86_64-efi.rmk: Likewise.
27218
27219 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
27220
27221 * util/grub-editenv.c (main): If only a command is given, use
27222 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
27223 (usage): FILENAME is now optional and has a default.
27224
27225 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
27226
27227 Improve grub-mkconfig performance when there are several menu
27228 entries on a single filesystem.
27229
27230 * util/grub.d/10_linux.in (linux_entry): Cache the output of
27231 prepare_grub_to_access_device.
27232 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27233 * util/grub.d/30_os-prober.in: Likewise.
27234
27235 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27236
27237 * util/grub.d/10_freebsd.in: Remove.
27238 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
27239 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
27240
27241 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27242
27243 * docs/grub.cfg: Fix example usage of *BSD loaders.
27244
27245 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27246
27247 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
27248 grub_util_error() call.
27249
27250 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27251
27252 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
27253 `reserved_first_sector' member.
27254 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
27255 `reserved_first_sector' to 1.
27256 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
27257 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
27258 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
27259 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
27260 filesystems which begin at first sector.
27261 (options): New option --skip-fs-probe.
27262 (main): Handle --skip-fs-probe and pass it to setup().
27263
27264 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27265
27266 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
27267 (memset): Fix function prototype.
27268
27269 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27270 2009-10-25 Vasily Averin <vvs@parallels.com>
27271
27272 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
27273 `dirent.direntlen == 0'.
27274
27275 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27276
27277 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
27278 `cpio'.
27279 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
27280
27281 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27282
27283 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
27284 `__trampoline_setup' and `__ucmpdi2'.
27285 * include/grub/powerpc/libgcc.h: Only export symbols for functions
27286 that libgcc provides.
27287
27288 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27289
27290 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
27291 * include/grub/sparc64/libgcc.h (memset): Likewise.
27292 * include/grub/misc.h (memset, memcmp): New function prototypes.
27293
27294 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27295
27296 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
27297 `cpio'.
27298 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
27299
27300 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27301
27302 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
27303 * docs/grub.cfg: Compensate for recent change in multiboot
27304 loader (since 2009-08-14 it won't pass filename to payload).
27305 * util/grub.d/10_hurd.in: Likewise.
27306
27307 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
27308
27309 * config.guess: Update to latest version from config git
27310 repository.
27311 * config.sub: Likewise.
27312
27313 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
27314
27315 Fix build on sparc64.
27316
27317 * configure.ac: Perform checks for libgcc symbols before
27318 adding `-nostdlib' to LDFLAGS.
27319
27320 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
27321
27322 Let user specify OpenBSD root device.
27323
27324 * loader/i386/bsd.c (openbsd_root): New variable.
27325 (openbsd_opts): New option 'root'.
27326 (OPENBSD_ROOT_ARG): New macro.
27327 (grub_openbsd_boot): Use 'openbsd_root'.
27328 (grub_cmd_openbsd): Fill 'openbsd_root'.
27329
27330 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
27331
27332 * NEWS: Misc adjustments.
27333
27334 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
27335
27336 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
27337
27338 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
27339
27340 * configure.ac: Bump version to 1.97.
27341
27342 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
27343
27344 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
27345 -mno-3dnow on x86 architectures. Some toolchains enable these
27346 features by default, but they rely on registers that aren't enabled
27347 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
27348
27349 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
27350
27351 Make entry text a bit more readable.
27352
27353 * util/grub.d/10_linux.in: Add `with' before `Linux'.
27354
27355 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27356
27357 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
27358
27359 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27360
27361 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
27362 operations.
27363
27364 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27365
27366 * configure.ac: Add missing dollar.
27367
27368 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27369
27370 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
27371
27372 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
27373 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
27374 exports.
27375 * include/grub/sparc64/libgcc.h: Likewise. Use
27376 preprocessor conditionals.
27377
27378 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
27379
27380 * conf/common.rmk (grub-dumpbios): Remove rule.
27381 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
27382 * util/grub-dumpbios.in: Remove file.
27383
27384 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
27385
27386 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
27387 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
27388
27389 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
27390 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
27391 users.
27392
27393 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
27394 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
27395 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
27396 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
27397 users.
27398
27399 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
27400
27401 * term/tparm.c: Switch to GPLv3.
27402
27403 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
27404
27405 * include/grub/i386/cpuid.h: Add header protection.
27406
27407 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
27408
27409 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
27410
27411 * include/grub/i386/cpuid.h: New file.
27412 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
27413 (has_longmode): Rename to ...
27414 (grub_cpuid_has_longmode): ... this. Update all users. Remove
27415 `static' attribute.
27416 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
27417 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
27418 on a CPU that doesn't implement AMD64 instruction set.
27419
27420 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
27421
27422 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
27423 that version.texi is rebuilt on version number changes.
27424
27425 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
27426
27427 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
27428 Fixes bug #27602.
27429
27430 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
27431
27432 * util/i386/pc/grub-install.in: Source
27433 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
27434 that the --grub-probe option will work.
27435 * util/sparc64/ieee1275/grub-install.in: Likewise.
27436
27437 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
27438
27439 * configure.ac: Bump version to 1.97~beta4.
27440
27441 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
27442
27443 Resync grub-mkdevicemap in x86_64-efi.
27444
27445 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
27446 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
27447 `util/devicemap.c'.
27448
27449 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
27450
27451 * util/grub-editenv.c (create_envblk_file): Write new block with a
27452 .new suffix and then rename it into place, to ensure atomic
27453 creation.
27454
27455 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
27456
27457 Do not automatically install headers.
27458
27459 * Makefile.in (include_DATA): Remove. Update all users.
27460
27461 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
27462
27463 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
27464 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
27465
27466 * util/osdetect.lua: Remove.
27467 * script/lua/lauxlib.c: Likewise.
27468 * script/lua/ldebug.c: Likewise.
27469 * script/lua/grub_main.c: Likewise.
27470 * script/lua/lauxlib.h: Likewise.
27471 * script/lua/ldebug.h: Likewise.
27472 * script/lua/ltablib.c: Likewise.
27473 * script/lua/liolib.c: Likewise.
27474 * script/lua/lstrlib.c: Likewise.
27475 * script/lua/lualib.h: Likewise.
27476 * script/lua/ldo.c: Likewise.
27477 * script/lua/ldump.c: Likewise.
27478 * script/lua/ldo.h: Likewise.
27479 * script/lua/loslib.c: Likewise.
27480 * script/lua/lundump.c: Likewise.
27481 * script/lua/grub_lib.c: Likewise.
27482 * script/lua/ldblib.c: Likewise.
27483 * script/lua/lundump.h: Likewise.
27484 * script/lua/lmem.c: Likewise.
27485 * script/lua/grub_lib.h: Likewise.
27486 * script/lua/lmathlib.c: Likewise.
27487 * script/lua/lstate.c: Likewise.
27488 * script/lua/ltm.c: Likewise.
27489 * script/lua/lvm.c: Likewise.
27490 * script/lua/lmem.h: Likewise.
27491 * script/lua/lstate.h: Likewise.
27492 * script/lua/ltm.h: Likewise.
27493 * script/lua/ltable.c: Likewise.
27494 * script/lua/lvm.h: Likewise.
27495 * script/lua/llex.c: Likewise.
27496 * script/lua/lgc.c: Likewise.
27497 * script/lua/grub_lua.h: Likewise.
27498 * script/lua/loadlib.c: Likewise.
27499 * script/lua/lfunc.c: Likewise.
27500 * script/lua/lopcodes.c: Likewise.
27501 * script/lua/lparser.c: Likewise.
27502 * script/lua/ltable.h: Likewise.
27503 * script/lua/llex.h: Likewise.
27504 * script/lua/lgc.h: Likewise.
27505 * script/lua/lfunc.h: Likewise.
27506 * script/lua/lbaselib.c: Likewise.
27507 * script/lua/lopcodes.h: Likewise.
27508 * script/lua/lparser.h: Likewise.
27509 * script/lua/lzio.c: Likewise.
27510 * script/lua/linit.c: Likewise.
27511 * script/lua/lobject.c: Likewise.
27512 * script/lua/llimits.h: Likewise.
27513 * script/lua/lstring.c: Likewise.
27514 * script/lua/lzio.h: Likewise.
27515 * script/lua/lapi.c: Likewise.
27516 * script/lua/lcode.c: Likewise.
27517 * script/lua/lua.h: Likewise.
27518 * script/lua/lobject.h: Likewise.
27519 * script/lua/lstring.h: Likewise.
27520 * script/lua/lapi.h: Likewise.
27521 * script/lua/lcode.h: Likewise.
27522 * script/lua/luaconf.h: Likewise.
27523
27524 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
27525
27526 * docs/grub.texi (Command-line and menu entry commands): Document
27527 date and echo commands.
27528
27529 2009-09-24 Pavel Roskin <proski@gnu.org>
27530
27531 * include/grub/kernel.h (struct grub_module_header): Remove
27532 `grub_module_header_types'. Make `type' unsigned. Make `size'
27533 32-bit on all platforms.
27534 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
27535 8-bit field. Use grub_host_to_target32() for `size'.
27536 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
27537 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
27538 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
27539
27540 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27541
27542 Fix "lost keypress" bug in at_keyboard.
27543
27544 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
27545 Checks for readyness of input buffer (without flushing it).
27546 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
27547 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
27548
27549 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27550
27551 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
27552 size check within GRUB_MACHINE_PCBIOS section.
27553
27554 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27555
27556 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
27557 return value.
27558 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
27559 KEYBOARD_ISREADY check.
27560 (grub_at_keyboard_checkkey): Rename to ...
27561 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
27562 Remove gratuitous cast.
27563
27564 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
27565
27566 * configure.ac: Call AC_PROG_MKDIR_P.
27567 * Makefile.in (docs/stamp-vti): Create docs directory. Create
27568 version.texi in $(builddir) rather than $(srcdir).
27569 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
27570 to makeinfo's @include search path.
27571
27572 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
27573
27574 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
27575
27576 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
27577
27578 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
27579 for `*.dpkg-new'.
27580
27581 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
27582
27583 Build info documentation. Some code borrowed from Automake.
27584
27585 * configure.ac: Check for makeinfo.
27586 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
27587 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
27588 docs/version.texi.
27589 (MOSTLYCLEANFILES): Add vti.tmp.
27590 (docs/version.texi, docs/stamp-vti): Update automatically.
27591 (docs/grub.info): Build info documentation. Use --force and ignore
27592 errors for now.
27593 (all-local): Add $(INFOS).
27594 (install-local): Install info files.
27595 (uninstall): Uninstall info files.
27596 * docs/version.texi: Remove from revision control. This file is
27597 automatically generated on build now.
27598 * gendistlist.sh: Add `*.info'.
27599
27600 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
27601
27602 * kern/term.c: Fix indentation.
27603
27604 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
27605
27606 * util/hostdisk.c: Fix a comment.
27607
27608 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
27609
27610 Fix regression introduced in r2539.
27611
27612 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
27613 to 0xA1.
27614
27615 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
27616
27617 * util/grub.d/30_os-prober.in: Don't throw away stderr from
27618 os-prober. Under normal operation, it does not print anything to
27619 stderr; if it does, we need to debug it, and throwing away stderr
27620 makes that excessively difficult.
27621
27622 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
27623
27624 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
27625
27626 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27627
27628 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
27629 AC_LANG_PROGRAM from autoconf.
27630 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
27631 prototypes (fixes warning).
27632
27633 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
27634 `--disable-werror' was used.
27635
27636 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27637
27638 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
27639 uninitialized `lastaddr'.
27640
27641 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
27642
27643 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
27644
27645 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
27646
27647 * commands/test.c (get_fileinfo): Return immediately if
27648 grub_fs_probe fails.
27649
27650 2009-09-14 José Martínez <xosemp@gmail.com>
27651
27652 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
27653
27654 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
27655
27656 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
27657 output.
27658
27659 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
27660
27661 * configure.ac: Remove --enable-grub-pe2elf. Only build
27662 grub-pe2elf when needed by the build system itself.
27663 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
27664
27665 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27666
27667 * configure.ac: Bump version to 1.97~beta3.
27668 * docs/version.texi: Likewise.
27669
27670 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27671
27672 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
27673 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
27674 from here ...
27675 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
27676 (grub_linux_setup_video): ... to here (with some adjustments).
27677
27678 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27679
27680 Fix memory corruption issue (spotted by Colin Watson).
27681
27682 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
27683 causing returned size to be stored in an incorrect memory location.
27684 Fix use of uninitialized value when storing the returned size.
27685
27686 2009-09-12 Yves Blusseau <blusseau@zetam.org>
27687
27688 Change clean rules to properly remove files
27689
27690 * genmk.rb: add new clean rules
27691 * Makefile.in (clean): add the new targets
27692 (mostlyclean): likewise
27693
27694 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
27695
27696 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
27697 to grub_uint64_t.
27698 * fs/ntfs.c (init_file): Understand 64-bit sizes for
27699 non-resident files.
27700
27701 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
27702
27703 * configure.ac: Don't look for help2man when cross-compiling. Fixes
27704 part of bug #27349.
27705
27706 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
27707
27708 * util/grub-mkconfig.in: Make the created config mode 400 and
27709 print a warning if it fails.
27710
27711 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
27712
27713 * util/grub.d/40_custom.in: Ask user to type custom entries below
27714 comment, rather than below 'exec tail' line.
27715
27716 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
27717
27718 * util/grub.d/40_custom.in: Make sure that the explanatory text is
27719 visible in grub.cfg.
27720
27721 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
27722
27723 * util/grub.d/40_custom.in: Make it a little clearer how to use this
27724 file.
27725
27726 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
27727
27728 * docs/grub.cfg: Add an example menu entry for memtest86+.
27729
27730 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
27731
27732 * config.guess: Update to latest version from config git.
27733 * config.sub: Likewise.
27734
27735 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
27736
27737 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
27738 unknown-command case. Fixes bug #27320.
27739
27740 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
27741
27742 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
27743 `help' if the command exists.
27744
27745 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
27746
27747 * INSTALL: Require GCC 4.1.3 or later.
27748
27749 2009-09-06 Yves Blusseau <blusseau@zetam.org>
27750
27751 * Makefile.in (RMKFILES): add i386-qemu.rmk
27752 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
27753 $(srcdir)/stamp-h.in
27754
27755 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
27756
27757 * util/grub-probe.c (probe): Comment out buggy codepath, which
27758 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
27759 should be re-enabled after 1.97.
27760
27761 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
27762
27763 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
27764 find searches for.
27765
27766 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
27767
27768 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
27769 unnecessary calls to grub_error.
27770
27771 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
27772
27773 * NEWS: Mention `keystatus' and Unicode fonts.
27774
27775 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
27776
27777 * configure.ac: Bump version to 1.97~beta2.
27778 * docs/version.texi: Likewise.
27779
27780 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
27781
27782 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
27783 containing unwind information in some cases where it previously did
27784 not. Use -fno-dwarf2-cfi-asm if available to restore the old
27785 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
27786 discussion.
27787
27788 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
27789
27790 Embedding loadenv module into grub-emu
27791
27792 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
27793 commands/loadenv.c
27794 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
27795 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
27796 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
27797 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
27798 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
27799 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
27800
27801 2009-09-03 Magnus Granberg <zorry@ume.nu>
27802
27803 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
27804 include -fPIE in the default specs.
27805 * configure.ac: Check if pie_possible is yes and add -fno-PIE
27806 to TARGET_CFLAGS.
27807
27808 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
27809
27810 * INSTALL: Note that GNU Bison 2.3 or later is required.
27811
27812 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
27813
27814 * kern/i386/pc/startup.S: Fix typo.
27815
27816 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
27817
27818 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
27819 according to GCS.
27820
27821 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27822
27823 * docs/grub.texi (Naming convention): Describe one-based partition
27824 numbering.
27825 (Device syntax): Likewise.
27826 (File name syntax): Likewise.
27827 (Block list syntax): Likewise.
27828 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
27829 menu.lst.
27830 (File name syntax): Likewise.
27831 (Command-line and menu entry commands): Document acpi, blocklist,
27832 crc, export, insmod, keystatus, ls, set, and unset commands.
27833
27834 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27835
27836 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
27837 to avoid implying that only one of --shift, --ctrl, or --alt may be
27838 used.
27839
27840 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27841
27842 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
27843 rather than comparing against S_IFREG, which will almost never work.
27844
27845 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
27846
27847 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
27848 (write_blocklists): Likewise.
27849
27850 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
27851
27852 * script/lua/grub_lua.h (fputs): Supply a format string as the first
27853 argument to grub_printf.
27854
27855 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
27856
27857 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
27858 non GNU test.
27859
27860 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27861
27862 * kern/file.c (grub_file_read): Spelling fix
27863
27864 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27865
27866 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
27867 loading of headers in some cases.
27868
27869 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
27870
27871 * configure.ac: Bump version to 1.97~beta1.
27872 * docs/version.texi: Likewise.
27873
27874 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
27875
27876 * include/grub/i386/xnu.h: Add license header.
27877 include grub/err.h explicitly.
27878
27879 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27880
27881 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
27882 to `ufs' in the vfs.root.mountfrom kernel parameter.
27883
27884 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27885
27886 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
27887
27888 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
27889 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
27890
27891 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
27892 `ARRAY_SIZE' macro.
27893
27894 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27895
27896 * kern/file.c (grub_file_read): Check offset.
27897 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
27898 * fs/jfs.c (grub_jfs_read_file): Likewise.
27899 * fs/ntfs.c (grub_ntfs_read): Likewise.
27900 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
27901 * fs/minix.c (grub_minix_read_file): Correct offset check.
27902 * fs/ufs.c (grub_ufs_read_file): Likewise.
27903
27904 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27905
27906 * term/i386/pc/console.c (bios_data_area): Cast
27907 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
27908
27909 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27910
27911 1-bit optimised blitters.
27912
27913 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
27914 prototype.
27915 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27916 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27917 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27918 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27919 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27920 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27921 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
27922 function.
27923 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27924 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27925 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27926 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27927 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27928 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27929 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
27930 when possible.
27931 * video/video.c (grub_video_get_blit_format): Return
27932 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
27933
27934 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27935
27936 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
27937 the first argument to grub_printf.
27938
27939 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27940 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
27941
27942 Add `getkeystatus' terminal method. Add a new `keystatus' command
27943 to query it.
27944
27945 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
27946 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
27947 modifier key bitmasks.
27948 (struct grub_term_input): Add `getkeystatus' member.
27949 (grub_getkeystatus): Add prototype.
27950 * kern/term.c (grub_getkeystatus): New function.
27951
27952 * include/grub/i386/pc/memory.h
27953 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
27954 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
27955 Data Area layout.
27956 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
27957 (grub_console_term_input): Set `getkeystatus' member.
27958 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
27959 constants.
27960 (grub_usb_keyboard_getreport): Likewise.
27961 (grub_usb_keyboard_checkkey): Likewise.
27962 (grub_usb_keyboard_getkeystatus): New function.
27963 (grub_usb_keyboard_term): Set `getkeystatus' member.
27964
27965 * commands/keystatus.c: New file.
27966 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
27967 (keystatus_mod_SOURCES): New variable.
27968 (keystatus_mod_CFLAGS): Likewise.
27969 (keystatus_mod_LDFLAGS): Likewise.
27970 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
27971 commands/keystatus.c.
27972 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27973 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27974 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27975 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27976 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27977 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27978
27979 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27980
27981 Split befs.mod and afs.mod into *_be.mod and *.mod
27982
27983 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
27984 (grub_fstest_SOURCES): Likewise.
27985 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
27986 (afs_be_mod_SOURCES): New variable.
27987 (afs_be_mod_CFLAGS): Likewise.
27988 (afs_be_mod_LDFLAGS): Likewise.
27989 (befs_be_mod_SOURCES): Likewise.
27990 (befs_be_mod_CFLAGS): Likewise.
27991 (befs_be_mod_LDFLAGS): Likewise.
27992 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
27993 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27994 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27995 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27996 (grub_emu_SOURCES): Likewise.
27997 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27998 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27999 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28000 * fs/afs_be.c: New file.
28001 * fs/befs_be.c: New file.
28002 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
28003 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
28004 (U16): Replaced with ...
28005 (grub_afs_to_cpu16): ...this. All users updated.
28006 (U32): Replaced with ...
28007 (grub_afs_to_cpu32): ...this. All users updated.
28008 (U64): Replaced with ...
28009 (grub_afs_to_cpu64): ...this. All users updated.
28010 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
28011 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
28012 (grub_afs_validate_sblock): Check only one endianness.
28013 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
28014 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
28015 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
28016 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
28017 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
28018 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
28019 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
28020 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
28021
28022 2009-08-26 Bean <bean123ch@gmail.com>
28023
28024 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
28025 64-bit number.
28026 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
28027 (grub_xfs_inode_block): Change return type to grub_uint64_t.
28028 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
28029
28030 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28031
28032 NetBSD memory map support.
28033
28034 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
28035 (grub_netbsd_btinfo_mmap_header): New structure.
28036 (grub_netbsd_btinfo_mmap_entry): Likewise.
28037 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
28038
28039 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28040
28041 Enable bsd.mod on coreboot.
28042
28043 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
28044 (bsd_mod_SOURCES): New variable.
28045 (bsd_mod_CFLAGS): Likewise.
28046 (bsd_mod_LDFLAGS): Likewise.
28047 (bsd_mod_ASFLAGS): Likewise.
28048 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
28049 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
28050
28051 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28052
28053 Cleanup NetBSD root support.
28054
28055 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
28056 grub_bsd_get_device.
28057 Fix typo.
28058
28059 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
28060
28061 * util/grub.d/00_header.in: Move check for the video backend of
28062 gfxterm from here ...
28063 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
28064 a suitable video backend.
28065
28066 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28067
28068 Fix breakage in grub-setup.
28069
28070 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
28071 "msdos_partition_map".
28072
28073 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28074
28075 Fix breakage in normal/auth.c.
28076
28077 * normal/auth.c (grub_iswordseparator): New function.
28078
28079 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28080
28081 Authentication support.
28082
28083 * commands/password.c: New file.
28084 * conf/common.rmk (pkglib_MODULES): Add password.mod.
28085 (password_mod_SOURCES): New variable.
28086 (password_mod_CFLAGS): Likewise.
28087 (password_mod_LDFLAGS): Likewise.
28088 (normal_mod_SOURCES): Add normal/auth.c.
28089 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
28090 normal/auth.c.
28091 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28092 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28093 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28094 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28095 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28096 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28097 * include/grub/auth.h: New file.
28098 * include/grub/err.h (grub_err_t): New enum value
28099 GRUB_ERR_ACCESS_DENIED.
28100 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
28101 'users'.
28102 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
28103 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
28104 users updated.
28105 * normal/auth.c: New file.
28106 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
28107 (grub_cmdline_run): Don't allow to go to command line without
28108 authentication.
28109 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
28110 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
28111 menuentry without superuser rights.
28112 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
28113 user isn't a superuser.
28114
28115 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28116
28117 Save space by inlining misc.c functions.
28118
28119 * kern/misc.c (grub_iswordseparator): Made static.
28120 * kern/misc.c (grub_strcat): Moved from here ...
28121 * include/grub/misc.h (grub_strcat): ... here. Inlined.
28122 * kern/misc.c (grub_strncat): Moved from here ...
28123 * include/grub/misc.h (grub_strncat): ... here. Inlined.
28124 * kern/misc.c (grub_strcasecmp): Moved from here ...
28125 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
28126 * kern/misc.c (grub_strncasecmp): Moved from here ...
28127 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
28128 * kern/misc.c (grub_isalpha): Moved from here ...
28129 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
28130 * kern/misc.c (grub_isdigit): Moved from here ...
28131 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
28132 * kern/misc.c (grub_isgraph): Moved from here ...
28133 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
28134 * kern/misc.c (grub_tolower): Moved from here ...
28135 * include/grub/misc.h (grub_tolower): ... here. Inlined.
28136
28137 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28138
28139 * script/sh/function.c (grub_script_function_find): Cut error message
28140 not to flood terminal.
28141 * script/sh/lexer.c (grub_script_yylex): Remove command line length
28142 limit.
28143 * script/sh/script.c (grub_script_arg_add): Duplicate string.
28144
28145 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
28146
28147 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
28148 `report' grub_uint8_t *.
28149 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
28150 Use a 50-millisecond timeout rather than just repeating
28151 grub_usb_keyboard_getreport 50 times.
28152 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
28153
28154 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28155
28156 Rename *_partition_map to part_*
28157
28158 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
28159 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
28160 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
28161 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
28162 All users updated.
28163 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
28164 All users updated.
28165 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
28166 * util/grub-probe.c (probe_partmap): Don't transform partition name
28167 to get module name.
28168
28169 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28170
28171 Fix OpenBSD and NetBSD support.
28172
28173 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
28174 memory address conflict.
28175 (OPENBSD_MMAP_ACPI): New definition.
28176 (OPENBSD_MMAP_NVS): Likewise.
28177 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
28178 and OPENBSD_MMAP_NVS.
28179 Add memory map terminator
28180 Explicit cast when calling grub_unix_real_boot.
28181 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
28182
28183 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28184
28185 Let user specify NetBSD root device.
28186
28187 * loader/i386/bsd.c (netbsd_root): New variable.
28188 (netbsd_opts): New option 'root'.
28189 (NETBSD_ROOT_ARG): New macro.
28190 (grub_netbsd_boot): Use 'netbsd_root'.
28191 (grub_bsd_unload): Free 'netbsd_root'.
28192 (grub_cmd_netbsd): Fill 'netbsd_root'.
28193
28194 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28195
28196 Support for 64-bit NetBSD.
28197
28198 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
28199 point when booting non-FreeBSD.
28200
28201 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28202
28203 Support --no-smp and --no-acpi for NetBSD.
28204
28205 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
28206 (NETBSD_AB_NOACPI): Likewise.
28207 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
28208 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
28209
28210 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28211
28212 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
28213 errors.
28214 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
28215 errors. Call grub_error when needed.
28216
28217 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28218
28219 * commands/search.c (search_fs): Try searching without autoload first.
28220 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
28221 filesystem module explicitly for faster booting.
28222
28223 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
28224
28225 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
28226
28227 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
28228
28229 * util/grub.d/30_os-prober.in: Disable os-prober if
28230 `GRUB_DISABLE_OS_PROBER' was set to true.
28231
28232 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
28233
28234 * partmap/pc.c: Rename to ...
28235 * partmap/msdos.c: ... this. Update all users.
28236 (grub_pc_partition_map): Rename to ...
28237 (grub_msdos_partition_map): ... this. Update all users.
28238
28239 * parttool/pcpart.c: Rename to ...
28240 * parttool/msdospart.c: ... this. Update all users.
28241
28242 * include/grub/pc_partition.h: Rename to ...
28243 * include/grub/msdos_partition.h: ... this. Update all users.
28244 (grub_pc_partition_bsd_entry): Rename to ...
28245 (grub_msdos_partition_bsd_entry): ... this. Update all users.
28246 (grub_pc_partition_disk_label): Rename to ...
28247 (grub_msdos_partition_disk_label): ... this. Update all users.
28248 (grub_pc_partition_entry): Rename to ...
28249 (grub_msdos_partition_entry): ... this. Update all users.
28250 (grub_pc_partition_mbr): Rename to ...
28251 (grub_msdos_partition_mbr): ... this. Update all users.
28252 (grub_pc_partition): Rename to ...
28253 (grub_msdos_partition): ... this. Update all users.
28254 (grub_pc_partition_is_empty): Rename to ...
28255 (grub_msdos_partition_is_empty): ... this. Update all users.
28256 (grub_pc_partition_is_extended): Rename to ...
28257 (grub_msdos_partition_is_extended): ... this. Update all users.
28258 (grub_pc_partition_is_bsd): Rename to ...
28259 (grub_msdos_partition_is_bsd): ... this. Update all users.
28260
28261 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
28262 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
28263 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
28264 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
28265 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
28266 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
28267 (gpt_mod_LDFLAGS): Rename to ...
28268 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
28269 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
28270 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
28271 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
28272 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
28273 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
28274 (part_gpt_mod_LDFLAGS): ... this.
28275 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
28276 `pcpart.mod' to `msdospart.mod'.
28277 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
28278 to ...
28279 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
28280 (msdospart_mod_LDFLAGS): ... this.
28281
28282 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28283
28284 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
28285 (openbsd_opts): Likewise.
28286 (netbsd_opts): Likewise.
28287 (freebsd_flags): Added 0 terminator.
28288 (openbsd_flags): Likewise.
28289 (netbsd_flags): Likewise.
28290 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
28291 (grub_cmd_freebsd): Transformed into extended command.
28292 (grub_cmd_openbsd): Likewise.
28293 (grub_cmd_netbsd): Likewise.
28294 (cmd_freebsd): Changed type to grub_extcmd_t.
28295 (cmd_openbsd): Likewise.
28296 (cmd_netbsd): Likewise.
28297 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
28298 grub_cmd_openbsd as extended commands.
28299 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
28300 cmd_netbsd and cmd_openbsd
28301
28302 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
28303
28304 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
28305
28306 2009-08-21 Pavel Roskin <proski@gnu.org>
28307
28308 * Makefile.in (install-local): When checking if a file is in the
28309 build directory, use "test -e" to detect symlinks.
28310
28311 * Makefile.in (install-local): Remove all files in
28312 $(DESTDIR)$(pkglibdir) before installing new files there.
28313
28314 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
28315
28316 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
28317 grub-mkelfimage.
28318
28319 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
28320
28321 * util/grub-mkconfig.in: Don't use gfxterm by default if not
28322 explicitly specified by the user.
28323
28324 2009-08-18 Pavel Roskin <proski@gnu.org>
28325
28326 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
28327 grub_uint8_t pointer for data.
28328 * include/grub/fbutil.h (struct grub_video_fbblit_info):
28329 Likewise.
28330 * video/fb/fbutil.c: Remove unnecessary casts.
28331
28332 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
28333
28334 VBE cleanup.
28335
28336 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
28337 (grub_vbe_set_video_mode): Save active mode info
28338 only after setting the mode.
28339 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
28340 second argument.
28341
28342 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
28343
28344 Rename variables for clarity.
28345
28346 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
28347 (active_vbe_mode_info): ... this. All users updated.
28348 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
28349 All users updated.
28350 (initial_mode): Rename to ...
28351 (initial_vbe_mode): ... this. All users updated.
28352 (mode_in_use): Rename to ..
28353 (vbe_mode_in_use): ... this. All users updated.
28354 (mode_list): Rename to ..
28355 (vbe_mode_list): ... this. All users updated.
28356 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
28357 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
28358 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
28359 'mode_list_size' to 'vbe_mode_list_size'.
28360 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
28361 'best_mode_info' to 'best_vbe_mode_info' and
28362 'best_mode' to 'best_vbe_mode'
28363
28364 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
28365
28366 Remove duplicate grub_video_fb_get_video_ptr.
28367
28368 * include/grub/fbutil.h (get_data_ptr): Rename to ...
28369 (grub_video_fb_get_video_ptr): ... this.
28370 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
28371 * video/fb/fbutil.c: Add comment about addressing.
28372 (get_data_ptr): Rename to ...
28373 (grub_video_fb_get_video_ptr): ... this. All users updated.
28374 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
28375
28376 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
28377
28378 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
28379 grub_dprintf() that was just added.
28380
28381 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
28382
28383 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
28384 (DEFAULT_VIDEO_MODE): Remove macros.
28385 (grub_linux_boot): Remove assumption that Linux has FB support,
28386 and use "text" as default video mode.
28387
28388 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
28389
28390 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
28391 grub_dprintf.
28392 * fs/fat.c (grub_fat_read_data): Likewise.
28393
28394 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28395
28396 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
28397 payload.
28398 (grub_module): Likewise.
28399
28400 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28401
28402 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
28403 mbi->cmdline but free playground.
28404
28405 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28406
28407 Handle group offset on UFS1.
28408
28409 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
28410 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
28411
28412 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28413
28414 Split ufs.mod into ufs1.mod and ufs2.mod.
28415
28416 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
28417 (grub_fstest_SOURCES): Likewise.
28418 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
28419 (ufs_mod_SOURCES): Remove.
28420 (ufs_mod_CFLAGS): Likewise.
28421 (ufs_mod_LDFLAGS): Likewise.
28422 (ufs1_mod_SOURCES): New variable.
28423 (ufs1_mod_CFLAGS): Likewise.
28424 (ufs1_mod_LDFLAGS): Likewise.
28425 (ufs2_mod_SOURCES): New variable.
28426 (ufs2_mod_CFLAGS): Likewise.
28427 (ufs2_mod_LDFLAGS): Likewise.
28428 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
28429 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
28430 Likewise.
28431 (grub_emu_SOURCES): Likewise.
28432 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28433 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28434 (grub_setup_SOURCES): Likewise.
28435 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28436 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
28437 (grub_setup_SOURCES): Likewise.
28438 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
28439 Likewise.
28440 * fs/ufs2.c: New file.
28441 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
28442
28443 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28444
28445 Framebuffer split.
28446
28447 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
28448 subsystem at the end.
28449 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
28450 (video_fb_mod_SOURCES): New variable.
28451 (video_fb_mod_CFLAGS): Likewise.
28452 (video_fb_mod_LDFLAGS): Likewise.
28453 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
28454 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
28455 * video/i386/pc/vbeblit.c: Moved from here ...
28456 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
28457 * video/i386/pc/vbefill.c: Moved from here ...
28458 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
28459 * video/i386/pc/vbeutil.c: Moved from here ...
28460 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
28461 * include/grub/i386/pc/vbeblit.h: Moved from here ...
28462 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
28463 * include/grub/i386/pc/vbefill.h: Moved from here ...
28464 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
28465 * include/grub/i386/pc/vbeutil.h: Moved from here ...
28466 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
28467 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
28468 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
28469 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
28470 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
28471 (grub_video_adapter): Added 'get_info_and_fini'.
28472 (grub_video_get_info_and_fini): New prototype.
28473 (grub_video_set_mode): make modestring const char *.
28474 * loader/i386/linux.c (grub_linux_setup_video): Use
28475 grub_video_get_info_and_fini.
28476 (grub_linux_boot): Move modesetting just before booting.
28477 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
28478 grub_video_get_info_and_fini.
28479 * video/i386/pc/vbe.c: Moved framebuffer part ...
28480 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
28481 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
28482 grub_video_fbstd_colors and grub_video_fb_set_palette.
28483 (grub_video_vbe_init): Clear 'framebuffer' variable and use
28484 grub_video_fb_init.
28485 (grub_video_vbe_fini): Use grub_video_fb_fini.
28486 (grub_video_vbe_setup): Use framebuffer.render_target instead of
28487 render_target and use grub_video_fb_set_active_render_target and
28488 grub_video_fb_set_palette.
28489 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
28490 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
28491 (grub_video_vbe_adapter): Use framebuffer.
28492 * video/video.c (grub_video_get_info_and_fini): New function.
28493 (grub_video_set_mode): Make modestring const char *.
28494 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
28495 values are already initialised.
28496
28497 2009-08-14 Pavel Roskin <proski@gnu.org>
28498
28499 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
28500 ABS and APPLE_CC.
28501 * boot/i386/pc/diskboot.S: Likewise.
28502 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
28503 sectors allow compilation on MacOSX.
28504 * conf/i386-pc.rmk: Enable unconditional compilation of
28505 lnxboot.img.
28506
28507 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
28508
28509 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
28510 * util/grub.d/00_header.in: Enter interruptible sleep if
28511 GRUB_HIDDEN_TIMEOUT is set.
28512
28513 2009-08-13 Yves Blusseau <blusseau@zetam.org>
28514
28515 * include/grub/symbol.h: Add the LOCAL macro.
28516 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
28517 starting with "L_".
28518
28519 2009-08-13 Pavel Roskin <proski@gnu.org>
28520
28521 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
28522 any modern compilers we support.
28523
28524 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
28525 Use local labels starting with "L_" so that Apple assembler
28526 knows they are local.
28527
28528 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
28529
28530 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
28531 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
28532 (bsd_kernel_types): ... this enum.
28533
28534 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
28535 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
28536 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
28537
28538 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
28539 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
28540 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
28541 messages.
28542
28543 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28544
28545 * util/grub-dumpdevtree: Moved from here ...
28546 * util/i386/efi/grub-dumpdevtree: ... to here.
28547 (hexify): New function. Converts a string to its hex version.
28548 Generate hex versions of "efi" and "device-properties" by calling
28549 hexify() on the ASCII strings rather than by hardcoding numbers.
28550
28551 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28552
28553 * fs/jfs.c: Update copyright year.
28554
28555 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
28556
28557 * util/grub.d/00_header.in: Fix a comment.
28558 * util/grub.d/10_linux.in: Likewise.
28559 * util/grub.d/10_windows.in: Likewise.
28560 * util/grub.d/10_hurd.in: Likewise.
28561
28562 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
28563
28564 * util/grub-mkconfig.in: Allow the user to specify the used font
28565 with GRUB_FONT.
28566
28567 2009-08-08 Pavel Roskin <proski@gnu.org>
28568
28569 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
28570 available, xfs.mod needs it now.
28571
28572 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
28573 the "g" modifier in sed when the intention is to strip something
28574 once. This fixes comparison of kernels with multiple dashes.
28575
28576 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
28577 on it. Add missing space before closing bracket. Fix
28578 misleading formatting.
28579
28580 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28581
28582 * docs/grub.texi: Major overhaul. Remove all sections that are
28583 specific to GRUB Legacy, or mostly composed of Legacy-specific
28584 information.
28585
28586 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28587
28588 * docs/version.texi: New file. Provides version information for
28589 grub.texi.
28590
28591 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28592
28593 * docs/grub.texi: Update CVS information to SVN.
28594 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
28595
28596 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
28597
28598 * util/grub-mkconfig.in: Remove a wrong `fi'.
28599
28600 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
28601
28602 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
28603 (grub_jfs_uuid): New function.
28604 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
28605
28606 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
28607
28608 * util/grub-mkconfig_lib.in (font_path): Move the functionality
28609 of it to ...
28610 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
28611 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
28612
28613 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28614
28615 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
28616 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
28617 Update all users.
28618
28619 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
28620 not just "vmlinu[zx]".
28621 Moved from here ...
28622 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
28623 all users.
28624
28625 * util/grub.d/10_linux.in (find_latest): Moved from here ...
28626 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
28627 all users.
28628
28629 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28630
28631 * util/grub.d/10_freebsd.in: Use an absolute device path for
28632 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
28633
28634 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
28635
28636 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
28637 handling of multiple abstraction modules.
28638
28639 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
28640
28641 Fix a bug resulting in black screen when loading Linux using a
28642 packed video mode.
28643
28644 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
28645 function.
28646
28647 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
28648 (grub_vbe_bios_getset_dac_palette_width): New function.
28649 (grub_vbe_bios_get_dac_palette_width)
28650 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
28651 grub_vbe_bios_getset_dac_palette_width()).
28652
28653 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
28654 check for return status.
28655 (grub_vbe_get_video_mode_info): When getting information for a packed
28656 mode (<= 8 bpp), obtain DAC palette width using
28657 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
28658 {red,green,blue}_mark_size.
28659
28660 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
28661
28662 * commands/search.c (options): Fix help output to match actual code.
28663
28664 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
28665
28666 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
28667 of homegrown code.
28668
28669 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28670
28671 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
28672 on XFS or ReiserFS.
28673
28674 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28675
28676 Support Apple partition map with sector size different from 512 bytes.
28677
28678 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
28679 (apple_partition_map_iterate): Respect 'aheader.blocksize'
28680 and 'apart.partmap_size'.
28681
28682 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28683 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
28684
28685 Fix cpuid command.
28686
28687 * commands/i386/cpuid.c (options): New variable.
28688 (grub_cmd_cpuid): Return real error.
28689 (GRUB_MOD_INIT(cpuid)): Declare options.
28690
28691 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
28692
28693 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
28694 valid.
28695
28696 2009-07-31 Bean <bean123ch@gmail.com>
28697
28698 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
28699 log2_inode.
28700 (grub_fshelp_node): Move inode field to the end.
28701 (grub_xfs_data): Remove inode field.
28702 (grub_xfs_inode_block): Calculate inode size using sblock.
28703 (grub_xfs_inode_offset): Likewise.
28704 (grub_xfs_read_inode): Calculate inode size using sblock.
28705 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
28706 (grub_xfs_iterate_dir): Calculate inode size using sblock.
28707 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
28708 to match inode size.
28709 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
28710 not accessible when data is null.
28711 (grub_xfs_open): Likewise.
28712
28713 2009-07-31 Bean <bean123ch@gmail.com>
28714
28715 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
28716 Don't change pv->disk if it's already set.
28717
28718 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
28719 (grub_raid_register): ... here.
28720 (grub_raid_rescan): Removed.
28721
28722 * include/grub/raid.h (grub_raid_rescan): Removed.
28723
28724 * util/grub-fstest.c: Remove include file <grub/raid.h>.
28725 (fstest): Replace grub_raid_rescan with module fini function followed
28726 by init function.
28727
28728 * util/grub-probe.c: Add include file <grub/raid.h>.
28729 (probe_raid_level): New function.
28730 (probe): Detect abstraction by walking the disk device, support two
28731 level of abstraction (LVM on RAID) when detecting partition map.
28732
28733 2009-07-31 Pavel Roskin <proski@gnu.org>
28734
28735 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
28736 to grub_zalloc(), it was erroneous.
28737 Reported by Bean <bean123ch@gmail.com>
28738
28739 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
28740
28741 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
28742 embedding zone, not only the first one.
28743
28744 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
28745
28746 * term/gfxterm.c (clear_char): New function.
28747 (grub_virtual_screen_setup): Use clear_char.
28748 (scroll_up): Likewise.
28749 (grub_virtual_screen_cls): Likewise.
28750
28751 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
28752
28753 * util/deviceiter.c (get_acceleraid_disk_name): New static
28754 function.
28755 (grub_util_iterate_devices): Handle Accelraid devices.
28756 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
28757
28758 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
28759
28760 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
28761 separator for the suggested gfxpayload string (';' collides with the
28762 parser and needs escaping).
28763
28764 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
28765
28766 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
28767 Clear direction flag before jumping to OS.
28768 (grub_multiboot2_real_boot): Likewise.
28769
28770 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
28771
28772 * util/i386/pc/grub-install: Fix parsing of --disk-module
28773 option.
28774
28775 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
28776
28777 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
28778 when embedding.
28779
28780 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
28781
28782 * util/grub-mkconfig.in (package_version): New variable.
28783 Use it do display the version.
28784
28785 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
28786
28787 * kern/file.c (grub_file_open): Revert to previous check with
28788 grub_errno.
28789
28790 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28791
28792 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
28793 from help line. It's out of sync with code.
28794
28795 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28796
28797 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
28798 entries on failed boot.
28799
28800 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
28801
28802 * kern/file.c (grub_file_open): Fix an error check.
28803
28804 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
28805
28806 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
28807 partition map couldn't be identified.
28808
28809 2009-07-23 Pavel Roskin <proski@gnu.org>
28810
28811 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
28812 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
28813 case of little endian words becomes just an optimization.
28814 Respect const modifier.
28815 (md5_final): Use code that doesn't depend on endianness.
28816
28817 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
28818 to avoid loss of upper bits if align is unsigned and shorter
28819 than addr.
28820
28821 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28822
28823 UUID support for UFS
28824
28825 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
28826 (grub_ufs_uuid): New function.
28827 (grub_ufs_fs): add .uuid
28828
28829 2009-07-21 Pavel Roskin <proski@gnu.org>
28830
28831 * kern/dl.c (grub_dl_check_header): Make static.
28832
28833 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
28834
28835 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
28836 add drivemap for Vista. It breaks Windows 7.
28837
28838 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28839
28840 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
28841 128 bytes
28842
28843 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28844
28845 Add BFS support
28846
28847 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
28848 (grub_fstest_SOURCES): Likewise.
28849 (pkglib_MODULES): Add befs.mod.
28850 (befs_mod_SOURCES): New variable.
28851 (befs_mod_CFLAGS): Likewise.
28852 (befs_mod_LDFLAGS): Likewise.
28853 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28854 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28855 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28856 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28857 (grub_setup_SOURCES): Likewise.
28858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28859 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28860 (grub_setup_SOURCES): Likewise.
28861 * fs/befs.c: New file.
28862 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
28863 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
28864 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
28865 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
28866 (B_KEY_INDEX_ALIGN): New declaration.
28867 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
28868 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
28869 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
28870 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
28871 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
28872 (grub_afs_mount) [MODE_BFS]: Likewise.
28873 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
28874 (grub_afs_fs): Use GRUB_AFS_FSNAME
28875 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
28876 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
28877 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
28878 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
28879
28880 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
28881
28882 * util/getroot.c (find_root_device): Add support for MacOSX.
28883 * util/hostdisk.c: Likewise.
28884
28885 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28886
28887 * font/font.c (find_glyph): Check whether a font is present to avoid
28888 segmentation fault.
28889
28890 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
28891
28892 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
28893
28894 2009-07-20 Pavel Roskin <proski@gnu.org>
28895
28896 * configure.ac: Trim excessively wordy excuses.
28897
28898 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28899
28900 Add symlink, mtime and label support to AtheFS.
28901
28902 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
28903 (grub_afs_iterate_dir): Handle symlinks.
28904 (grub_afs_open): Use grub_afs_read_symlink.
28905 (grub_afs_dir): Likewise.
28906 Pass mtime.
28907 (grub_afs_label): New function.
28908 (grub_afs_fs): Add grub_afs_label.
28909 (grub_afs_read_symlink): New function.
28910
28911 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28912
28913 Fix AtheFS support.
28914
28915 * fs/afs.c: Fix comments style.
28916 (grub_afs_blockrun): Declare as packed.
28917 (grub_afs_datastream): Likewise.
28918 (grub_afs_bnode): Likewise.
28919 (grub_afs_btree): Likewise.
28920 (grub_afs_sblock): Likewise.
28921 Declare `name' as char.
28922 (grub_afs_inode): Declare as packed.
28923 Change void *vnode to grub_uint32_t unused.
28924 (grub_afs_iterate_dir): Check that key_size is positive.
28925 (grub_afs_mount): Don't read superblock twice.
28926 (grub_afs_dir): Don't free node in case of error,
28927 grub_fshelp_find_file already handles this.
28928 (grub_afs_open): Likewise.
28929
28930 2009-07-19 Pavel Roskin <proski@gnu.org>
28931
28932 * Makefile.in: Remove LIBLZO and enable_lzo.
28933 * conf/i386-pc.rmk: Remove lzo support.
28934 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
28935 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
28936 support.
28937 * kern/i386/pc/lzo1x.S: Remove.
28938 * kern/i386/pc/startup.S: Remove lzo support.
28939 * util/i386/pc/grub-mkimage.c: Likewise.
28940
28941 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
28942
28943 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
28944 * fs/xfs.c (grub_xfs_dir): Likewise.
28945 * fs/afs.c (grub_afs_dir): Likewise.
28946 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
28947 (grub_iso9660_open): Likewise.
28948 * fs/jfs.c (grub_jfs_open): Likewise.
28949 * fs/ext2.c (grub_ext2_dir): Likewise.
28950 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
28951 * script/sh/lexer.c (grub_script_yylex): Likewise.
28952
28953 2009-07-16 Pavel Roskin <proski@gnu.org>
28954
28955 * configure.ac: Never add "-c" to CFLAGS.
28956
28957 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
28958
28959 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
28960 grub_cv_cc_efiemu should be used.
28961
28962 * configure.ac: Typo fixes.
28963
28964 * kern/mm.c (grub_zalloc): New function.
28965 (grub_debug_zalloc): Likewise.
28966 * include/grub/mm.h: Declare grub_zalloc() and
28967 grub_debug_zalloc().
28968 * util/misc.c (grub_zalloc): New function.
28969 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
28970 instead of grub_malloc(), remove unneeded initializations.
28971 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
28972 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
28973 * commands/parttool.c (grub_cmd_parttool): Likewise.
28974 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
28975 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
28976 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
28977 * disk/usbms.c (grub_usbms_finddevs): Likewise.
28978 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
28979 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
28980 (grub_cmd_efiemu_pnvram): Likewise.
28981 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
28982 * fs/iso9660.c (grub_iso9660_mount): Likewise.
28983 (grub_iso9660_iterate_dir): Likewise.
28984 * fs/jfs.c (grub_jfs_opendir): Likewise.
28985 * fs/ntfs.c (list_file): Likewise.
28986 (grub_ntfs_mount): Likewise.
28987 * kern/disk.c (grub_disk_open): Likewise.
28988 * kern/dl.c (grub_dl_load_core): Likewise.
28989 * kern/elf.c (grub_elf_file): Likewise.
28990 * kern/env.c (grub_env_context_open): Likewise.
28991 (grub_env_set): Likewise.
28992 (grub_env_set_data_slot): Likewise.
28993 * kern/file.c (grub_file_open): Likewise.
28994 * kern/fs.c (grub_fs_blocklist_open): Likewise.
28995 * loader/i386/multiboot.c (grub_module): Likewise.
28996 * loader/xnu.c (grub_xnu_create_key): Likewise.
28997 (grub_xnu_create_value): Likewise.
28998 * normal/main.c (grub_normal_add_menu_entry): Likewise.
28999 (read_config_file): Likewise.
29000 * normal/menu_entry.c (make_screen): Likewise.
29001 * partmap/sun.c (sun_partition_map_iterate): Likewise.
29002 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
29003 * script/sh/script.c (grub_script_parse): Likewise.
29004 * video/bitmap.c (grub_video_bitmap_create): Likewise.
29005 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
29006 * video/readers/png.c (grub_png_output_byte): Likewise.
29007 (grub_video_reader_png): Likewise.
29008
29009 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29010
29011 Enable all targets that can be built by default
29012
29013 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
29014 grub-mkfont and grub-fstest if they can be built
29015
29016 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29017
29018 Fix hang and segmentation fault in grub-emu-usb
29019
29020 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
29021 * util/usb.c (grub_libusb_devices): likewise
29022 (grub_libusb_init): rename to ...
29023 (GRUB_MOD_INIT (libusb)):...this
29024 (grub_libusb_fini): rename to ..
29025 (GRUB_MOD_FINI (libusb)):...this
29026 * disk/usbms.c (grub_usbms_transfer): fix retry logic
29027 * include/grub/disk.h (grub_raid_init): removed, it's useless
29028 (grub_raid_fini): likewise
29029 (grub_lvm_init): likewise
29030 (grub_lvm_fini): likewise
29031 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
29032 by grub_init_all
29033
29034 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29035
29036 Fix libusb
29037
29038 * Makefile.in (LIBUSB): new macro
29039 * genmk.rb (Utility/print_tail): new method
29040 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
29041 (top level): call util.print_tail at the end.
29042
29043 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29044
29045 Make FreeBSD accept zpool.cache
29046
29047 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
29048 type is /boot/zfs/zpool.cache
29049
29050 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29051
29052 Fix 64-bit efiemu
29053
29054 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
29055 correct wrong typedef
29056 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
29057
29058 2009-07-15 Pavel Roskin <proski@gnu.org>
29059
29060 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
29061 * kern/disk.c (struct grub_disk_cache): Likewise.
29062
29063 * commands/probe.c (options): Typo fix.
29064
29065 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
29066 Increase to 0x5a to accommodate FAT32. Adjust other offsets
29067 accordingly.
29068 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
29069
29070 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
29071 the end of "Error" to make the message more readable.
29072
29073 * boot/i386/pc/boot.S (kernel_segment): Remove.
29074 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
29075 for destination.
29076
29077 * boot/i386/pc/boot.S (boot_version): Remove.
29078 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
29079 Remove.
29080
29081 * include/grub/i386/pc/boot.h: Sort all offsets.
29082 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
29083 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
29084 * boot/i386/pc/boot.S: Assert location of every offset listed in
29085 include/grub/i386/pc/boot.h.
29086
29087 2009-07-13 Pavel Roskin <proski@gnu.org>
29088
29089 * include/grub/i386/coreboot/machine.h: Rename
29090 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
29091 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
29092 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
29093
29094 * kern/dl.c: Force native word size to suppress warnings when
29095 compiling grub-emu.
29096
29097 * kern/device.c (grub_device_iterate): Change struct part_ent to
29098 hold the name, not a pointer to it. Use one grub_malloc() per
29099 partition, not two. Free partition_name if grub_malloc() fails.
29100 Set ents to NULL only before grub_partition_iterate() is called.
29101
29102 2009-07-11 Bean <bean123ch@gmail.com>
29103
29104 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
29105 childname.
29106
29107 2009-07-10 Bean <bean123ch@gmail.com>
29108 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
29109
29110 * kern/ieee1275/openfw.c (grub_children_iterate)
29111 (grub_devalias_iterate): Fix size evaluation for property or path
29112 strings, which was broken since r2132.
29113
29114 2009-07-07 Pavel Roskin <proski@gnu.org>
29115
29116 * commands/search.c (search_file): Merge into ...
29117 (search_fs): ... this. Accept search type as argument.
29118 (grub_cmd_search): Pass search type to search_fs().
29119
29120 * include/grub/util/console.h: New file.
29121 * util/console.c: Use it instead of grub/machine/console.h.
29122 * util/grub-emu.c: Likewise.
29123
29124 * lib/arg.c (find_long_option): Remove.
29125 (find_long): Add `len' argument, make `s' const char *.
29126 (grub_arg_parse): Parse long options in place, not in a
29127 temporary buffer.
29128
29129 2009-07-06 Pavel Roskin <proski@gnu.org>
29130
29131 * commands/search.c (search_fs): Fix potential NULL pointer
29132 dereference.
29133
29134 * commands/search.c (search_fs): Replace QUID macro with quid_fn
29135 function pointer.
29136
29137 2009-07-06 Daniel Mierswa <impulze@impulze.org>
29138
29139 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
29140 comparison.
29141
29142 2009-07-05 Pavel Roskin <proski@gnu.org>
29143
29144 * include/grub/i386/linux.h (struct linux_kernel_params):
29145 Restore padding3, it's still needed.
29146
29147 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
29148 FreeBSD.
29149 * util/osdetect.lua: Likewise.
29150
29151 2009-07-05 Bean <bean123ch@gmail.com>
29152
29153 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
29154
29155 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
29156 (grub_lua_getenv): Likewise.
29157 (grub_lua_setenv): Likewise.
29158 (save_errno): New function.
29159 (push_result): Likewise.
29160 (grub_lua_enum_device): Likewise.
29161 (grub_lua_enum_file): Likewise.
29162 (grub_lua_file_open): Likewise.
29163 (grub_lua_file_close): Likewise.
29164 (grub_lua_file_seek): Likewise.
29165 (grub_lua_file_read): Likewise.
29166 (grub_lua_file_getline): Likewise.
29167 (grub_lua_file_getsize): Likewise.
29168 (grub_lua_file_getpos): Likewise.
29169 (grub_lua_file_eof): Likewise.
29170 (grub_lua_file_exist): Likewise.
29171 (grub_lua_add_menu): Likewise.
29172
29173 * script/lua/grub_lua.h (isupper): New inline function.
29174 (islower): Likewise.
29175 (ispunct): Likewise.
29176 (isxdigit): Likewise.
29177 (strcspn): Change to normal function.
29178 (strpbkr): New function declaration.
29179 (memchr): Likewise.
29180
29181 * script/lua/grub_main.c (scan_str): New function.
29182 (strcspn): Likewise.
29183 (strpbrk): Likewise.
29184 (memchr): Likewise.
29185
29186 * script/lua/linit.c (lualibs): Enable the string library.
29187
29188 * util/osdetect.lua: New file.
29189
29190 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
29191
29192 * include/grub/i386/linux.h (struct linux_kernel_params): Add
29193 `capabilities' member.
29194
29195 2009-07-02 Pavel Roskin <proski@gnu.org>
29196
29197 * genparttoollist.sh: Add missing newline at the end.
29198
29199 2009-07-01 Pavel Roskin <proski@gnu.org>
29200
29201 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
29202
29203 * util/hostdisk.c (open_device): Remove `const' from
29204 `sysctl_size', as sysctlbyname() can change it (in this case it
29205 doesn't actually happen).
29206
29207 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
29208 using signed long int constants.
29209
29210 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
29211 constant to avoid a warning on FreeBSD.
29212
29213 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
29214 where it's needed.
29215
29216 * Makefile.in: Install include/grub/machine symlink.
29217
29218 * Makefile.in: When installing symlinks, use "cp -fR", which
29219 works on FreeBSD and MacOSX.
29220 From Yves Blusseau <cl7m42e02@sneakemail.com>
29221
29222 * kern/dl.c (grub_dl_resolve_symbol): Make static.
29223 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
29224
29225 * util/misc.c: Move grub_reboot() and grub_halt() ...
29226 * util/grub-emu.c: ... here. Make main_env static.
29227 * include/grub/util/misc.h: Remove main_env.
29228
29229 * kern/mm.c: Use correct format to print size_t.
29230
29231 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
29232 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
29233 * kern/powerpc/dl.c: Likewise.
29234 * kern/sparc64/dl.c: Likewise.
29235 * kern/x86_64/dl.c: Likewise.
29236
29237 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29238
29239 Fix grub-emu build on sparc64-ieee1275.
29240
29241 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
29242 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
29243
29244 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29245
29246 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
29247 (grub_reboot, grub_halt): New functions.
29248
29249 * util/i386/pc/misc.c: Delete. Update all users.
29250 * util/sparc64/ieee1275/misc.c: Likewise.
29251 * util/powerpc/ieee1275/misc.c: Likewise.
29252
29253 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29254
29255 * conf/i386.rmk (setjmp_mod_SOURCES)
29256 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
29257 * conf/common.rmk (setjmp_mod_SOURCES)
29258 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
29259 to use $(target_cpu).
29260 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
29261 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
29262 * conf/powerpc-ieee1275.rmk: Likewise.
29263 * conf/sparc64-ieee1275.rmk: Likewise.
29264
29265 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
29266 $(target_cpu) for kern/$(target_cpu)/dl.c.
29267 * conf/i386-efi.rmk: Likewise.
29268 * conf/i386-ieee1275.rmk: Likewise.
29269 * conf/x86_64-efi.rmk: Likewise.
29270 * conf/i386-coreboot.rmk: Likewise.
29271 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
29272 $(target_cpu) for kern/$(target_cpu)/dl.c and for
29273 kern/$(target_cpu)/cache.S.
29274 * conf/sparc64-ieee1275.rmk: Likewise.
29275
29276 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29277
29278 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
29279 type to `grub_uint8_t', and adjust `padding9' accordingly.
29280
29281 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29282
29283 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
29284
29285 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
29286 assembly in final jump, using register constraints.
29287
29288 (grub_linux_boot): For text mode, initialize `have_vga' using
29289 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
29290
29291 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
29292 right before the final jump.
29293
29294 Set `video_mode' to 0x3.
29295
29296 Document initialization of `video_page', `video_mode' and
29297 `video_ega_bx'.
29298
29299 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29300
29301 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
29302 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
29303 and set GRUB_LINUX_FLAG_QUIET appropriately.
29304
29305 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29306
29307 Fix build on Debian / sparc.
29308
29309 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
29310
29311 2009-06-28 Pavel Roskin <proski@gnu.org>
29312
29313 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
29314 fix a warning.
29315
29316 * util/grub.d/10_linux.in: Match SUSE style initrd names.
29317
29318 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29319
29320 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
29321 `err'.
29322
29323 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29324
29325 Revert r2338.
29326
29327 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
29328 file can't be opened. grub_file_open() is already supposed to set
29329 grub_errno / grub_errmsg appropriately.
29330 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
29331
29332 2009-06-27 Pavel Roskin <proski@gnu.org>
29333 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29334
29335 * include/grub/dl.h: Include grub/elf.h.
29336 (struct grub_dl): Add symtab field.
29337 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
29338 GRUB_MODULES_MACHINE_READONLY.
29339 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
29340 of the header for read-only modules.
29341 (grub_dl_unload): Free mod->symtab for read-only modules.
29342 * kern/i386/dl.c: Use mod->symtab.
29343 * kern/powerpc/dl.c: Likewise.
29344 * kern/sparc64/dl.c: Likewise.
29345 * kern/x86_64/dl.c: Likewise.
29346
29347 * conf/i386-qemu.rmk: New file.
29348 * kern/i386/qemu/startup.S: Likewise.
29349 * kern/i386/qemu/mmap.c: Likewise.
29350 * boot/i386/qemu/boot.S: Likewise.
29351 * include/grub/i386/qemu/time.h: Likewise.
29352 * include/grub/i386/qemu/serial.h: Likewise.
29353 * include/grub/i386/qemu/kernel.h: Likewise.
29354 * include/grub/i386/qemu/console.h: Likewise.
29355 * include/grub/i386/qemu/boot.h: Likewise.
29356 * include/grub/i386/qemu/init.h: Likewise.
29357 * include/grub/i386/qemu/machine.h: Likewise.
29358 * include/grub/i386/qemu/loader.h: Likewise.
29359 * include/grub/i386/qemu/memory.h: Likewise.
29360
29361 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
29362 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
29363 [qemu] (pkglib_IMAGES): Add `boot.img'.
29364 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
29365 [qemu] (boot_img_FORMAT): New variables.
29366 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
29367 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
29368 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
29369 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29370 [qemu] (kernel_img_FORMAT): New variables.
29371
29372 * configure.ac: Recognise `i386-qemu'.
29373
29374 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
29375 (for no compression).
29376 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
29377 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
29378 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
29379 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
29380 ifdefs).
29381
29382 2009-06-27 Pavel Roskin <proski@gnu.org>
29383
29384 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
29385 read.
29386 * efiemu/prepare32.c: Likewise.
29387 * efiemu/prepare64.c: Likewise.
29388
29389 2009-06-26 Pavel Roskin <proski@gnu.org>
29390
29391 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
29392 * include/grub/elf.h: Define symbols without "32" or "64" based
29393 on GRUB_TARGET_WORDSIZE.
29394 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
29395 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
29396 ELF definitions.
29397 * efiemu/loadcore64.c: Likewise.
29398 * loader/i386/bsd32.c: Likewise.
29399 * loader/i386/bsd64.c: Likewise.
29400 * kern/dl.c: Remove own ELF definitions.
29401 * util/i386/efi/grub-mkimage.c: Likewise.
29402
29403 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
29404
29405 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
29406 segment 0x0 unconditionally, because the reference generated by
29407 GAS is an absolute address.
29408
29409 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29410
29411 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
29412 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
29413
29414 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29415
29416 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
29417 indexes. Check for -f explicitly.
29418 (search_file): Improve error message.
29419 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
29420
29421 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29422
29423 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
29424 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
29425
29426 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29427
29428 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
29429 * conf/i386-ieee1275.rmk: Likewise.
29430 * conf/i386-coreboot.rmk: Likewise.
29431
29432 * kern/i386/pc/startup.S (grub_stop): Remove function.
29433 * kern/i386/ieee1275/startup.S: Likewise.
29434 * kern/i386/coreboot/startup.S: Likewise.
29435 * kern/i386/misc.S (grub_stop): New function.
29436
29437 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29438
29439 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
29440 * kern/i386/realmode.S (real_to_prot): ... to here.
29441
29442 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29443
29444 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
29445 with `kernel.img'.
29446 (kernel_elf_SOURCES): Rename to ...
29447 (kernel_img_SOURCES): ... this.
29448 (kernel_elf_HEADERS): Rename to ...
29449 (kernel_img_HEADERS): ... this. Update all users.
29450 (kernel_elf_ASFLAGS): Rename to ...
29451 (kernel_img_ASFLAGS): ... this.
29452 (kernel_elf_CFLAGS): Rename to ...
29453 (kernel_img_CFLAGS): ... this.
29454 (kernel_elf_LDFLAGS): Rename to ...
29455 (kernel_img_LDFLAGS): ... this.
29456 * conf/i386-coreboot.rmk: Likewise.
29457 * conf/powerpc-ieee1275.rmk: Likewise.
29458
29459 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
29460 with "kernel.img".
29461
29462 2009-06-21 Pavel Roskin <proski@gnu.org>
29463
29464 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
29465 to match nested functions.
29466 * loader/sparc64/ieee1275/linux.c: Likewise.
29467
29468 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
29469
29470 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
29471
29472 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
29473 all i386 platforms.
29474
29475 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
29476
29477 Fix asm file handling on ELF, and remove workarounds.
29478
29479 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
29480 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
29481 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
29482 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
29483
29484 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
29485
29486 Load BSD ELF modules
29487
29488 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
29489 and loader/i386/bsd64.c
29490 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
29491 (FREEBSD_MODTYPE_ELF_MODULE): New definition
29492 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
29493 (grub_freebsd_load_elfmodule32): New declaration
29494 (grub_freebsd_load_elfmoduleobj64): Likewise
29495 (grub_freebsd_load_elf_meta32): Likewise
29496 (grub_freebsd_load_elf_meta64): Likewise
29497 (grub_freebsd_add_meta): Likewise
29498 (grub_freebsd_add_meta_module): Likewise
29499 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
29500 (grub_freebsd_add_meta_module): Likewise and move module-specific
29501 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
29502 (grub_cmd_freebsd): Add elf-kernel specific parts
29503 based on grub_freebsd_add_meta_module
29504 (grub_cmd_freebsd_module): Add type parsing moved from
29505 grub_freebsd_add_meta_module
29506 (grub_cmd_freebsd_module_elf): New function
29507 (cmd_freebsd_module_elf): New variable
29508 (GRUB_MOD_INIT): Register freebsd_module_elf
29509 * loader/i386/bsd32.c: New file
29510 * loader/i386/bsd64.c: Likewise
29511 * loader/i386/bsdXX.c: Likewise
29512 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
29513 (grub_elf64_load): Likewise
29514 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
29515 All users updated
29516 (grub_elf64_load_hook_t): Likewise
29517
29518 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
29519
29520 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
29521 variable.
29522 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
29523 don't write a menu entry for recovery mode.
29524
29525 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
29526
29527 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
29528 after it's no longer needed.
29529
29530 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
29531
29532 * include/grub/i386/loader.h (grub_linux_prot_size)
29533 (grub_linux_tmp_addr, grub_linux_real_addr)
29534 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
29535 GRUB_MACHINE_PCBIOS.
29536 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
29537 common grub_util_info() call to ...
29538 (generate_image): ... here.
29539 Fix use of uninitialized memory, comparison of signed with
29540 unsigned integers and memory leak.
29541 Remove bogus module address message.
29542
29543 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
29544
29545 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
29546 grub_raid_register
29547 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
29548
29549 2009-06-19 Pavel Roskin <proski@gnu.org>
29550
29551 * configure.ac: Remove stray AC_MSG_CHECKING.
29552
29553 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
29554
29555 * disk/scsi.c (grub_scsi_open): use continue instead of big if
29556
29557 2009-06-18 Pavel Roskin <proski@gnu.org>
29558
29559 * conf/common.rmk: Add fs_file.mod.
29560 * disk/fs_file.c: New file.
29561 * include/grub/disk.h (enum grub_disk_dev_id): Add
29562 GRUB_DISK_DEVICE_FILE_ID.
29563
29564 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29565
29566 Fix build with Apple's toolchain. Part 2
29567
29568 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
29569 a fake start
29570
29571 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29572
29573 Fix build with Apple's toolchain. Part 1
29574
29575 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
29576 for long calls
29577 * configure.ac: remove a leftover AC_MSG_RESULT
29578 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
29579 Apple's toolchain
29580
29581 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29582
29583 Fix warnings
29584
29585 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
29586 (decomp_block): initialize ch
29587 use grub_memcpy instead of memcpy
29588
29589 2009-06-17 Pavel Roskin <proski@gnu.org>
29590
29591 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
29592 version, use declarations needed to use vga_text as the startup
29593 console.
29594
29595 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
29596 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
29597 the kernel.
29598 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
29599 and grub_at_keyboard_fini(), it's done on module load and
29600 unload.
29601
29602 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
29603
29604 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
29605 file can't be found.
29606 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
29607
29608 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29609
29610 Fix newline handling
29611
29612 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
29613 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
29614 (grub_script_yylex): don't segfault on unterminated script
29615 newline terminates command and variable
29616
29617 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29618
29619 avoid double grub_adjust_range call. Bug reported by David Simner
29620
29621 * kern/disk.c (grub_disk_write): change to raw disk access before
29622 calling disk_read
29623
29624 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
29625
29626 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
29627 spaces, for the benefit of help2man.
29628 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29629
29630 2009-06-16 Pavel Roskin <proski@gnu.org>
29631
29632 * kern/i386/halt.c: Include grub/machine/init.h.
29633 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
29634
29635 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
29636
29637 * util/grub.d/30_os-prober.in: Use ${root} in the generated
29638 drivemap menuentry.
29639
29640 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
29641
29642 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
29643 `echo' command.
29644
29645 2009-06-16 Pavel Roskin <proski@gnu.org>
29646
29647 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
29648 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
29649 save %dx, we only need %dl and we never change it.
29650 * boot/i386/pc/cdboot.S: Don't set the root drive.
29651 * boot/i386/pc/pxeboot.S: Likewise.
29652 * include/grub/i386/pc/boot.h: Remove
29653 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
29654 GRUB_BOOT_MACHINE_DRIVE_CHECK.
29655 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
29656 * kern/i386/pc/init.c (make_install_device): Remove references
29657 to grub_root_drive.
29658 * kern/i386/pc/startup.S: Likewise.
29659 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
29660
29661 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29662
29663 xnu_uuid command
29664
29665 * commands/xnu_uuid.c: new file
29666 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
29667 (xnu_uuid_mod_SOURCES): new variable
29668 (xnu_uuid_mod_CFLAGS): likewise
29669 (xnu_uuid_mod_LDFLAGS): likewise
29670 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29671 * conf/i386-ieee1275.rmk: likewise
29672 * conf/i386-pc.rmk: likewise
29673 * conf/powerpc-ieee1275.rmk: likewise
29674 * conf/sparc64-ieee1275.rmk: likewise
29675 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
29676
29677 2009-06-16 Pavel Roskin <proski@gnu.org>
29678
29679 * configure.ac: Avoid '==' in test command, it's not portable.
29680
29681 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29682
29683 Probe command
29684
29685 * commands/probe.c: new file
29686 * conf/common.rmk (pkglib_MODULES): add probe.mod
29687 (probe_mod_SOURCES): new variable
29688 (probe_mod_CFLAGS): likewise
29689 (probe_mod_LDFLAGS): likewise
29690 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29691 * conf/i386-ieee1275.rmk: likewise
29692 * conf/i386-pc.rmk: likewise
29693 * conf/powerpc-ieee1275.rmk: likewise
29694 * conf/sparc64-ieee1275.rmk: likewise
29695
29696 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
29697
29698 Fix handling of string like \"hello\" and "a
29699 b"
29700
29701 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
29702 (grub_script_yylex): fix parsing of quoting, escaping and newline
29703
29704 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
29705
29706 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
29707 handling
29708
29709 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
29710
29711 * util/grub-mkconfig.in: Fix parsing of --output option.
29712
29713 2009-06-12 Pavel Roskin <proski@gnu.org>
29714
29715 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
29716 genmk.rb don't need to be generated or installed.
29717
29718 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
29719
29720 * commands/i386/pc/drivemap_int13h.S: add more comments
29721
29722 2009-06-11 Pavel Roskin <proski@gnu.org>
29723
29724 * Makefile.in (uninstall): Uninstall manuals.
29725
29726 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
29727 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
29728 and update-grub_lib in two places.
29729 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
29730
29731 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
29732 a compiler warning.
29733
29734 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
29735 `entry_lo' to fix variable shadowing.
29736
29737 2009-06-11 Christian Franke <franke@computer.org>
29738
29739 * kern/misc.c (__enable_execute_stack): Add missing return type
29740 to prevent gcc warning.
29741
29742 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
29743
29744 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
29745
29746 2009-06-11 Pavel Roskin <proski@gnu.org>
29747
29748 * Makefile.in: Don't rely on any scripts being executable.
29749 Always use $(SHELL) to run shell scripts.
29750
29751 * configure.ac: Always define ___main if using -nostdlib. This
29752 fixes tests on Cygwin.
29753
29754 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
29755
29756 UDF fix
29757
29758 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
29759 is in bytes and not in blocks
29760
29761 2009-06-11 Pavel Roskin <proski@gnu.org>
29762
29763 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
29764 warning.
29765
29766 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
29767
29768 * util/grub.d/30_os-prober.in: Fix a comment. Source
29769 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
29770 to set the root device. Place drivemap command in the generated
29771 chain entry.
29772
29773 2009-06-11 Pavel Roskin <proski@gnu.org>
29774
29775 * configure.ac: Remove host_m32. Issues with 64-bit utilities
29776 have long been resolved.
29777
29778 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
29779
29780 * util/grub.d/10_linux.in: Capitalise "Linux".
29781
29782 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
29783
29784 2009-06-11 Pavel Roskin <proski@gnu.org>
29785
29786 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
29787 fix a gcc warning and ensure that the function won't ever exit.
29788
29789 * kern/i386/ieee1275/init.c: Add missing prototype for
29790 grub_stop_floppy().
29791
29792 * loader/ieee1275/multiboot2.c [__i386__]: Include
29793 grub/cpu/multiboot.h.
29794
29795 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
29796 casts to short - they are not portable and cause warnings. Fix
29797 use of uninitialized values in input_buf. Use ARRAY_SIZE.
29798
29799 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
29800
29801 Drivemap fixes
29802
29803 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
29804 new function
29805 (grub_get_root_biosnumber_saved): new variable
29806 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
29807 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
29808 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
29809 %dx after the call if necessary
29810 * conf/common.rmk (pkglib_MODULES): remove boot.mod
29811 (boot_mod_SOURCES): remove
29812 (boot_mod_CFLAGS): remove
29813 (boot_mod_LDFLAGS): remove
29814 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
29815 (boot_mod_SOURCES): new variable
29816 (boot_mod_CFLAGS): likewise
29817 (boot_mod_LDFLAGS): likewise
29818 * conf/i386-efi.rmk: likewise
29819 * conf/i386-ieee1275.rmk: likewise
29820 * conf/i386-pc.rmk: likewise
29821 * conf/powerpc-ieee1275.rmk: likewise
29822 * conf/sparc64-ieee1275.rmk: likewise
29823 * conf/x86_64-efi.rmk: likewise
29824 * include/grub/i386/pc/biosnum.h: new file
29825 * lib/i386/pc/biosnum.c: likewise
29826 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
29827 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
29828 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
29829
29830 2009-06-10 Pavel Roskin <proski@gnu.org>
29831
29832 * io/gzio.c (test_header): Don't reuse one buffer for all data.
29833 Use separate variables. Read only the file size at the end, but
29834 not the checksum that we don't use.
29835
29836 * kern/file.c (grub_file_read): Use void pointer for the buffer.
29837 Adjust all callers.
29838
29839 * kern/ieee1275/openfw.c: Remove libc includes.
29840 * kern/ieee1275/cmain.c: Likewise.
29841 * include/grub/ieee1275/ieee1275.h: Likewise.
29842
29843 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
29844 compiler warnings.
29845
29846 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
29847
29848 * Makefile.in: Remove all trailing whitespace.
29849 * conf/i386-pc.rmk: Likewise.
29850 * conf/powerpc-ieee1275.rmk: Likewise.
29851 * conf/sparc64-ieee1275.rmk: Likewise.
29852 * docs/grub.texi: Likewise.
29853 * docs/texinfo.tex: Likewise.
29854 * disk/fs_uuid.c: Likewise.
29855 * disk/lvm.c: Likewise.
29856 * disk/scsi.c: Likewise.
29857 * disk/ata.c: Likewise.
29858 * disk/ieee1275/ofdisk.c: Likewise.
29859 * disk/i386/pc/biosdisk.c: Likewise.
29860 * disk/host.c: Likewise.
29861 * disk/raid.c: Likewise.
29862 * disk/efi/efidisk.c: Likewise.
29863 * disk/usbms.c: Likewise.
29864 * disk/memdisk.c: Likewise.
29865 * disk/loopback.c: Likewise.
29866 * kern/powerpc/dl.c: Likewise.
29867 * kern/device.c: Likewise.
29868 * kern/dl.c: Likewise.
29869 * kern/sparc64/dl.c: Likewise.
29870 * kern/ieee1275/ieee1275.c: Likewise.
29871 * kern/term.c: Likewise.
29872 * kern/fs.c: Likewise.
29873 * kern/i386/dl.c: Likewise.
29874 * kern/i386/pc/startup.S: Likewise.
29875 * kern/i386/pc/init.c: Likewise.
29876 * kern/i386/pc/mmap.c: Likewise.
29877 * kern/i386/pc/lzo1x.S: Likewise.
29878 * kern/i386/ieee1275/init.c: Likewise.
29879 * kern/i386/realmode.S: Likewise.
29880 * kern/i386/tsc.c: Likewise.
29881 * kern/partition.c: Likewise.
29882 * kern/corecmd.c: Likewise.
29883 * kern/file.c: Likewise.
29884 * kern/efi/efi.c: Likewise.
29885 * kern/efi/init.c: Likewise.
29886 * kern/efi/mm.c: Likewise.
29887 * kern/main.c: Likewise.
29888 * kern/err.c: Likewise.
29889 * kern/env.c: Likewise.
29890 * kern/disk.c: Likewise.
29891 * kern/generic/millisleep.c: Likewise.
29892 * kern/generic/rtc_get_time_ms.c: Likewise.
29893 * kern/misc.c: Likewise.
29894 * kern/parser.c: Likewise.
29895 * genmk.rb: Likewise.
29896 * configure.ac: Likewise.
29897 * boot/i386/pc/diskboot.S: Likewise.
29898 * boot/i386/pc/pxeboot.S: Likewise.
29899 * boot/i386/pc/boot.S: Likewise.
29900 * boot/i386/pc/lnxboot.S: Likewise.
29901 * boot/i386/pc/cdboot.S: Likewise.
29902 * parttool/pcpart.c: Likewise.
29903 * video/readers/tga.c: Likewise.
29904 * video/video.c: Likewise.
29905 * video/bitmap.c: Likewise.
29906 * lib/envblk.c: Likewise.
29907 * lib/i386/setjmp.S: Likewise.
29908 * fs/xfs.c: Likewise.
29909 * fs/afs.c: Likewise.
29910 * fs/fat.c: Likewise.
29911 * fs/ntfs.c: Likewise.
29912 * fs/udf.c: Likewise.
29913 * fs/affs.c: Likewise.
29914 * fs/iso9660.c: Likewise.
29915 * fs/hfs.c: Likewise.
29916 * fs/fshelp.c: Likewise.
29917 * fs/ext2.c: Likewise.
29918 * fs/jfs.c: Likewise.
29919 * fs/reiserfs.c: Likewise.
29920 * fs/hfsplus.c: Likewise.
29921 * fs/minix.c: Likewise.
29922 * fs/cpio.c: Likewise.
29923 * fs/sfs.c: Likewise.
29924 * fs/ufs.c: Likewise.
29925 * efiemu/prepare.c: Likewise.
29926 * efiemu/loadcore_common.c: Likewise.
29927 * efiemu/runtime/efiemu.sh: Likewise.
29928 * efiemu/runtime/efiemu.S: Likewise.
29929 * efiemu/runtime/efiemu.c: Likewise.
29930 * efiemu/pnvram.c: Likewise.
29931 * efiemu/main.c: Likewise.
29932 * efiemu/i386/pc/cfgtables.c: Likewise.
29933 * efiemu/i386/loadcore64.c: Likewise.
29934 * efiemu/i386/loadcore32.c: Likewise.
29935 * efiemu/loadcore.c: Likewise.
29936 * efiemu/symbols.c: Likewise.
29937 * efiemu/mm.c: Likewise.
29938 * include/grub/autoefi.h: Likewise.
29939 * include/grub/datetime.h: Likewise.
29940 * include/grub/term.h: Likewise.
29941 * include/grub/hfs.h: Likewise.
29942 * include/grub/lvm.h: Likewise.
29943 * include/grub/i386/tsc.h: Likewise.
29944 * include/grub/i386/linux.h: Likewise.
29945 * include/grub/i386/xnu.h: Likewise.
29946 * include/grub/i386/efiemu.h: Likewise.
29947 * include/grub/i386/pc/biosdisk.h: Likewise.
29948 * include/grub/i386/pc/memory.h: Likewise.
29949 * include/grub/i386/pc/vbe.h: Likewise.
29950 * include/grub/parttool.h: Likewise.
29951 * include/grub/video.h: Likewise.
29952 * include/grub/memory.h: Likewise.
29953 * include/grub/fs.h: Likewise.
29954 * include/grub/partition.h: Likewise.
29955 * include/grub/xnu.h: Likewise.
29956 * include/grub/efi/api.h: Likewise.
29957 * include/grub/efi/pe32.h: Likewise.
29958 * include/grub/efi/memory.h: Likewise.
29959 * include/grub/multiboot.h: Likewise.
29960 * include/grub/usbdesc.h: Likewise.
29961 * include/grub/multiboot2.h: Likewise.
29962 * include/grub/acpi.h: Likewise.
29963 * include/grub/efiemu/efiemu.h: Likewise.
29964 * include/grub/disk.h: Likewise.
29965 * include/grub/ieee1275/ieee1275.h: Likewise.
29966 * include/grub/net.h: Likewise.
29967 * include/grub/machoload.h: Likewise.
29968 * include/grub/macho.h: Likewise.
29969 * include/multiboot.h: Likewise.
29970 * genmoddep.awk: Likewise.
29971 * normal/main.c: Likewise.
29972 * normal/menu_entry.c: Likewise.
29973 * normal/menu_viewer.c: Likewise.
29974 * normal/completion.c: Likewise.
29975 * normal/cmdline.c: Likewise.
29976 * normal/misc.c: Likewise.
29977 * normal/datetime.c: Likewise.
29978 * bus/usb/usbtrans.c: Likewise.
29979 * bus/usb/ohci.c: Likewise.
29980 * bus/usb/uhci.c: Likewise.
29981 * bus/usb/usb.c: Likewise.
29982 * mmap/efi/mmap.c: Likewise.
29983 * mmap/i386/pc/mmap_helper.S: Likewise.
29984 * mmap/i386/pc/mmap.c: Likewise.
29985 * mmap/i386/mmap.c: Likewise.
29986 * mmap/i386/uppermem.c: Likewise.
29987 * mmap/mmap.c: Likewise.
29988 * commands/acpi.c: Likewise.
29989 * commands/echo.c: Likewise.
29990 * commands/blocklist.c: Likewise.
29991 * commands/loadenv.c: Likewise.
29992 * commands/usbtest.c: Likewise.
29993 * commands/boot.c: Likewise.
29994 * commands/parttool.c: Likewise.
29995 * commands/search.c: Likewise.
29996 * commands/cat.c: Likewise.
29997 * commands/i386/pc/play.c: Likewise.
29998 * commands/i386/pc/drivemap.c: Likewise.
29999 * commands/i386/pc/vbeinfo.c: Likewise.
30000 * commands/i386/pc/acpi.c: Likewise.
30001 * commands/i386/pc/vbetest.c: Likewise.
30002 * commands/ls.c: Likewise.
30003 * commands/cmp.c: Likewise.
30004 * commands/test.c: Likewise.
30005 * commands/efi/acpi.c: Likewise.
30006 * commands/gptsync.c: Likewise.
30007 * commands/help.c: Likewise.
30008 * partmap/amiga.c: Likewise.
30009 * partmap/apple.c: Likewise.
30010 * partmap/acorn.c: Likewise.
30011 * partmap/pc.c: Likewise.
30012 * partmap/sun.c: Likewise.
30013 * partmap/gpt.c: Likewise.
30014 * script/sh/lexer.c: Likewise.
30015 * script/sh/function.c: Likewise.
30016 * font/font.c: Likewise.
30017 * font/font_cmd.c: Likewise.
30018 * loader/powerpc/ieee1275/linux.c: Likewise.
30019 * loader/efi/chainloader.c: Likewise.
30020 * loader/multiboot_loader.c: Likewise.
30021 * loader/macho.c: Likewise.
30022 * loader/i386/multiboot.c: Likewise.
30023 * loader/i386/linux.c: Likewise.
30024 * loader/i386/pc/linux.c: Likewise.
30025 * loader/i386/pc/multiboot2.c: Likewise.
30026 * loader/i386/pc/chainloader.c: Likewise.
30027 * loader/i386/pc/xnu.c: Likewise.
30028 * loader/i386/bsd_trampoline.S: Likewise.
30029 * loader/i386/efi/linux.c: Likewise.
30030 * loader/i386/multiboot_elfxx.c: Likewise.
30031 * loader/i386/bsd_helper.S: Likewise.
30032 * loader/i386/bsd.c: Likewise.
30033 * loader/i386/linux_trampoline.S: Likewise.
30034 * loader/i386/xnu_helper.S: Likewise.
30035 * loader/i386/xnu.c: Likewise.
30036 * loader/i386/bsd_pagetable.c: Likewise.
30037 * loader/i386/multiboot_helper.S: Likewise.
30038 * loader/xnu.c: Likewise.
30039 * loader/xnu_resume.c: Likewise.
30040 * io/gzio.c: Likewise.
30041 * term/efi/console.c: Likewise.
30042 * term/terminfo.c: Likewise.
30043 * term/ieee1275/ofconsole.c: Likewise.
30044 * term/i386/pc/serial.c: Likewise.
30045 * term/i386/pc/vesafb.c: Likewise.
30046 * term/i386/pc/vga.c: Likewise.
30047 * term/usb_keyboard.c: Likewise.
30048 * term/gfxterm.c: Likewise.
30049 * aclocal.m4: Likewise.
30050 * util/lvm.c: Likewise.
30051 * util/grub.d/30_os-prober.in: Likewise.
30052 * util/grub.d/10_hurd.in: Likewise.
30053 * util/console.c: Likewise.
30054 * util/grub-macho2img.c: Likewise.
30055 * util/grub-probe.c: Likewise.
30056 * util/hostfs.c: Likewise.
30057 * util/i386/pc/grub-mkimage.c: Likewise.
30058 * util/i386/pc/grub-setup.c: Likewise.
30059 * util/i386/efi/grub-mkimage.c: Likewise.
30060 * util/grub-mkconfig.in: Likewise.
30061 * util/raid.c: Likewise.
30062 * util/resolve.c: Likewise.
30063 * util/grub-mkdevicemap.c: Likewise.
30064 * util/grub-emu.c: Likewise.
30065 * util/getroot.c: Likewise.
30066 * util/hostdisk.c: Likewise.
30067 * util/usb.c: Likewise.
30068 * util/grub-editenv.c: Likewise.
30069 * util/misc.c: Likewise.
30070
30071 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
30072
30073 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
30074 `genparttoollist.sh'.
30075 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
30076 Add `*.sh' to the list find searches for and change `mdate.sh'
30077 to `mdate-sh'.
30078
30079 2009-06-10 Pavel Roskin <proski@gnu.org>
30080
30081 * include/grub/multiboot2.h: Provide compatibility defines for
30082 multiboot2.h.
30083 * include/multiboot2.h: Include stdint.h only if needed, using
30084 angle brackets.
30085 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
30086 grub/multiboot2.h.
30087 * loader/ieee1275/multiboot2.c: Likewise.
30088 * loader/multiboot2.c: Likewise.
30089 * loader/multiboot_loader.c: Likewise.
30090
30091 * configure.ac: Use -nostdlib when probing for the target. It
30092 should not be required to have libc for the target.
30093
30094 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
30095 they fail without libc headers for the target.
30096 * include/grub/powerpc/libgcc.h: Use weak attribute for all
30097 exports.
30098 * include/grub/sparc64/libgcc.h: Likewise. Don't use
30099 preprocessor conditionals.
30100
30101 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
30102 build system doesn't need to be aware of the tar.c internals.
30103
30104 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
30105
30106 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
30107
30108 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
30109
30110 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
30111 disk limit to 26 for IDE, Virtio, Xen and SCSI.
30112
30113 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
30114
30115 * util/i386/pc/grub-install.in: Change the error message if UUIDs
30116 aren't available if ata.mod gets used.
30117
30118 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
30119
30120 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
30121 initialising controller.
30122 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30123
30124 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
30125
30126 * util/i386/pc/grub-install.in: Add a parameter --disk-module
30127 to choose between ata and biosdisk module on i386-pc.
30128
30129 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
30130
30131 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
30132 Subclass and Programming Interface fields in terms of the 3 byte
30133 Class Code register.
30134 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30135
30136 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
30137 interface is OHCI. Add grub_dprintf for symmetry with
30138 bus/usb/uhci.c.
30139 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
30140 interface is UHCI. Add interf variable for programming
30141 interface. Print interface with class/subclass.
30142
30143 * bus/usb/ohci.c: Set interf with correct field.
30144
30145 * bus/usb/uhci.c: Remove unneeded doubled lines.
30146 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
30147 Remove whitespace inside comment.
30148
30149 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
30150
30151 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
30152 as fallback an equivalent option without depth.
30153
30154 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
30155
30156 Not fail if unable to retrieve C/H/S on LBA disks
30157
30158 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
30159 if unable to retrieve C/H/S on LBA disks
30160
30161 2009-06-08 Pavel Roskin <proski@gnu.org>
30162
30163 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
30164 about aliasing.
30165
30166 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
30167
30168 * Makefile.in (uninstall): Remove all $lib_DATA files.
30169
30170 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
30171
30172 Bugfix: install on partitionless device
30173
30174 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
30175 is a whole disk
30176
30177 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
30178
30179 * Makefile.in (uninstall): Remove all $include_DATA files.
30180
30181 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
30182
30183 * commands/true.c: New file. Implement the true and false commands.
30184 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
30185 (true_mod_SOURCES): New variable.
30186 (true_mod_CFLAGS): Likewise.
30187 (true_mod_LDFLAGS): Likewise.
30188
30189 2009-06-05 Colin D Bennett <colin@gibibit.com>
30190
30191 Optimized font character lookup using binary search instead of linear
30192 search. Fonts now are required to have the character index ordered by
30193 code point.
30194
30195 * font/font.c (load_font_index): Verify that fonts have ordered
30196 character indices.
30197 (find_glyph): Use binary search instead of linear search to find a
30198 character in a font.
30199
30200 2009-06-05 Michael Scherer <misc@mandriva.org>
30201
30202 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
30203 uses case sensitive btree.
30204 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
30205 only for case insensitive filesystems.
30206
30207 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
30208
30209 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
30210 * conf/common.rmk (search_mod_CFLAGS): likewise
30211
30212 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30213
30214 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
30215 compensate a compiler bug
30216
30217 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30218
30219 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
30220 instead of '\b'
30221
30222 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30223
30224 Definitions for creating asm symbols with Apple's CC
30225
30226 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
30227 [APPLE_CC] (VARIABLE): likewise
30228
30229 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30230
30231 Disable lnxboot.img when compiled
30232 with Apple's CC
30233
30234 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
30235 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
30236 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
30237 [! APPLE_CC] (CODE_LENG): skip
30238 [! APPLE_CC] (setup_sects): likewise
30239 [! APPLE_CC]: skip filling
30240
30241 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30242
30243 Address in trampolines based on 32-bit registers when compiled
30244 with Apple's CC
30245
30246 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
30247 for addresses
30248 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
30249
30250 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30251
30252 Avoid aliases when compiling with Apple's CC for PCBIOS machine
30253
30254 * kern/misc.c [APPLE_CC] (memcpy): new function
30255 [APPLE_CC] (memmove): likewise
30256 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
30257 (memcpy): define alias conditionally on !APPLE_CC
30258 (memset): likewise
30259 (abort): likewise
30260 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
30261 APPLE_CC are defined
30262 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
30263 (grub_assert_fail): make prototype conditional
30264
30265 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30266
30267 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
30268
30269 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
30270 grub-macho2img
30271 (CLEANFILES): add grub-macho2img
30272 (grub_macho2img_SOURCES): new variable
30273 * kern/i386/pc/startup.S (bss_start): new variable
30274 (bss_end): likewise
30275 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
30276 * util/grub-macho2img.c: new file
30277
30278 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30279
30280 Use objconv when compiling with Apple's CC
30281
30282 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
30283 (efiemu64.o): likewise
30284 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
30285 when compiling with Apple's CC
30286 (efiemu64_s.o): likewise
30287 * configure.ac: check for objconv when compiling with Apple's CC
30288 * genmk.rb: use objconv for modules when compiled with Apple's CC
30289
30290 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30291
30292 Define segment as well as section when compiling with
30293 Apple's CC
30294
30295 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
30296 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
30297 (efiemu_convert_pointer): likewise
30298 (efiemu_set_virtual_address_map): likewise
30299 (efiemu_convert_pointer): likewise
30300 (efiemu_getcrc32): likewise
30301 (init_crc32_table): likewise
30302 (reflect): likewise
30303 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
30304 (GRUB_MOD_DEP): likewise
30305
30306 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30307
30308 Allow a compilation without -mcmodel=large
30309
30310 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
30311 when compiled without -mcmodel=large
30312 (filter_memory_map): remove memory post 4 GiB when compiled
30313 without -mcmodel=large
30314 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
30315 TARGET_CFLAGS when -mcmodel=large isn't supported
30316
30317 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30318
30319 Remove nested functions in efiemu core
30320
30321 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
30322
30323 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30324
30325 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
30326
30327 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
30328 temporary storage
30329 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
30330 using Apple's CC
30331 (grub_cpu_is_tsc_supported): likewise
30332 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
30333
30334 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30335
30336 Absolute addressing through constant with Apple's cc
30337
30338 * kern/i386/pc/startup.S: Define necessary constants
30339 and address through it when using ABS with Apple's CC
30340 * boot/i386/pc/diskboot.S: likewise
30341 * boot/i386/pc/boot.S: likewise
30342 * boot/i386/pc/lnxboot.S: likewise
30343 * boot/i386/pc/cdboot.S: likewise
30344 * mmap/i386/pc/mmap_helper.S: likewise
30345 * commands/i386/pc/drivemap_int13h.S: likewise
30346
30347 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30348
30349 Check if compiler is apple cc
30350
30351 * Makefile.in (ASFLAGS): new variable
30352 (TARGET_ASFLAGS): likewise
30353 (TARGET_MODULE_FORMAT): likewise
30354 (TARGET_APPLE_CC): likewise
30355 (OBJCONV): likewise
30356 (TARGET_IMG_CFLAGS): likewise
30357 (TARGET_CPPFLAGS): add includedir
30358 * configure.ac: call grub_apple_cc and grub_apple_target_cc
30359 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
30360 Check for linker script only if compiler isn't Apple's CC
30361 (TARGET_MODULE_FORMAT): set
30362 (TARGET_APPLE_CC): likewise
30363 (TARGET_ASFLAGS): likewise
30364 (ASFLAGS): likewise
30365 Check for objcopy only if compiler isn't Apple's CC
30366 Check for BSS symbol only if compiler isn't Apple's CC
30367 * genmk.rb: adapt nm options if we use Apple's utils
30368 * aclocal.m4 (grub_apple_cc): new test
30369 (grub_apple_target_cc): likewise
30370
30371 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30372
30373 Simplify sed expressions and improve awk
30374
30375 * Makefile.in (install-local): simplify sed expression
30376 * gencmdlist.sh: likewise
30377 * genmoddep.awk: avoid adding module as a dependency of itself
30378
30379 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30380
30381 Add missing start symbols
30382
30383 * boot/i386/pc/boot.S: add start
30384 * boot/i386/pc/pxeboot.S: likewise
30385
30386 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30387
30388 Fix wrong assumptions with grub-mkimage on EFI
30389
30390 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
30391 (relocate_addresses): consider both r_addend and value at offset
30392 (make_mods_section): zerofill modinfo and header
30393 (convert_elf): write prefix here
30394
30395 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30396
30397 Use .asciz instead of .string
30398
30399 * i386/pc/diskboot.S: use .asciz instead of .string
30400 * i386/pc/boot.S: likewise
30401 * include/grub/dl.h (GRUB_MOD_DEP): likewise
30402 (GRUB_MOD_NAME): likewise
30403
30404 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30405
30406 gfxpayload support
30407
30408 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
30409 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
30410 (grub_video_setup): remove
30411 (grub_video_set_mode): new prototype
30412 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
30413 (vid_mode): remove
30414 (linux_vesafb_res): compile only on PCBIOS
30415 (grub_linux_boot): support gfxpayload
30416 * loader/i386/pc/xnu.c (video_hook): new function
30417 (grub_xnu_set_video): support gfxpayload
30418 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
30419 (DEFAULT_VIDEO_HEIGHT): likewise
30420 (DEFAULT_VIDEO_FLAGS): likewise
30421 (DEFAULT_VIDEO_MODE): new definition
30422 (video_hook): new function
30423 (grub_gfxterm_init): use grub_video_set_mode
30424 * util/grub.d/30_os-prober.in: remove explicit modesetting before
30425 loading xnu
30426 * video/video.c (grub_video_setup): removed
30427 (grub_video_set_mode): new function based on grub_gfxterm_init and
30428 grub_video_setup
30429
30430 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30431
30432 Avoid calling biosdisk in drivemap
30433
30434 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
30435 (revparse_biosdisk): likewise
30436 (list_mappings): derive name from id directly
30437 (grub_cmd_drivemap): use tryparse_diskstring
30438
30439 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30440
30441 Script fixes
30442
30443 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
30444 (grub_lexer_param): add tokenonhold
30445 (grub_script_create_cmdline): remove cmdline. All callers updated
30446 (grub_script_function_create): make functionname
30447 grub_script_arg. All callers updated
30448 (grub_script_execute_argument_to_string): new prototype
30449 * kern/parser.c (state_transitions): reorder
30450 (grub_parser_cmdline_state): fix a bug and make more compact
30451 * script/sh/execute.c (grub_script_execute_argument_to_string):
30452 make global
30453 (grub_script_execute_cmdline): use new format
30454 * script/sh/function.c (grub_script_function_create): make functionname
30455 grub_script_arg. All callers updated
30456 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
30457 (grub_script_yylex): remove
30458 (grub_script_yylex2): renamed to ...
30459 (grub_script_yylex): ...renamed
30460 parse the expressions like a${b}c
30461 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
30462 (GRUB_PARSER_TOKEN_VAR): remove
30463 (GRUB_PARSER_TOKEN_NAME): likewise
30464 ("if"): declare as typeless
30465 ("while"): likewise
30466 ("function"): likewise
30467 ("else"): likewise
30468 ("then"): likewise
30469 ("fi"): likewise
30470 (text): remove
30471 (argument): likewise
30472 (script): accept empty scripts and make exit on error
30473 (arguments): use GRUB_PARSER_TOKEN_ARG
30474 (function): likewise
30475 (command): move error handling to script
30476 (menuentry): move grub_script_lexer_ref before
30477 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
30478 argument. All callers updated
30479
30480 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
30481
30482 Prevent GRUB from probing floppies during boot.
30483
30484 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
30485 * commands/search.c (options): Add --no-floppy.
30486 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
30487 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
30488 --no-floppy when searching for UUIDs.
30489
30490 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
30491
30492 Simplify the code duplication in commands/search.c.
30493
30494 * commands/search.c (search_label, search_fs_uuid): Merge into ...
30495 (search_fs): ... this. Update all users.
30496
30497 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
30498
30499 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
30500
30501 2009-05-28 Pavel Roskin <proski@gnu.org>
30502
30503 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
30504 Remove the original symlink explicitly.
30505
30506 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
30507 just one slash. That's how grub_fshelp_find_file() does it.
30508
30509 2009-05-26 Pavel Roskin <proski@gnu.org>
30510
30511 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
30512 to `str'.
30513
30514 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
30515 possibly unused.
30516
30517 2009-05-25 Christian Franke <franke@computer.org>
30518
30519 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
30520 register.
30521 (grub_atapi_identify): Add wait after drive select.
30522 (grub_ata_identify): Do more strict status register check before
30523 calling grub_atapi_identify (). Suppress error message if status
30524 register is 0x00 after command failure. Add status register
30525 check after PIO read to avoid bogus identify due to stuck DRQ.
30526 Thanks to Pavel Roskin for testing.
30527 (grub_device_initialize): Remove unsafe status register check.
30528 Thanks to 'phcoder' for problem report and patch.
30529 Prevent sign extension in debug message.
30530
30531 2009-05-23 Colin D Bennett <colin@gibibit.com>
30532
30533 Cleaned up `include/grub/normal.h'. Grouped prototypes by
30534 definition file, and functions defined in `normal/menu.c' have had
30535 their prototypes moved to `include/grub/menu.h' for consistency.
30536
30537 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
30538 from normal.h.
30539 (grub_menu_get_entry): Likewise.
30540 (grub_menu_get_timeout): Likewise.
30541 (grub_menu_set_timeout): Likewise.
30542 (grub_menu_execute_entry): Likewise.
30543 (grub_menu_execute_with_fallback): Likewise.
30544 (grub_menu_entry_run): Likewise.
30545
30546 * include/grub/normal.h: Re-ordered and grouped function
30547 prototypes by file that the function is defined in.
30548 (grub_menu_execute_callback): Removed; moved to menu.h.
30549 (grub_menu_get_entry): Likewise.
30550 (grub_menu_get_timeout): Likewise.
30551 (grub_menu_set_timeout): Likewise.
30552 (grub_menu_execute_entry): Likewise.
30553 (grub_menu_execute_with_fallback): Likewise.
30554 (grub_menu_entry_run): Likewise.
30555 (grub_menu_addentry): Renamed from this ...
30556 (grub_normal_add_menu_entry): ... to this.
30557
30558 * normal/main.c (grub_menu_addentry): Renamed from this ...
30559 (grub_normal_add_menu_entry): ... to this.
30560
30561 * script/sh/execute.c (grub_script_execute_menuentry): Update
30562 reference to renamed grub_menu_addentry function.
30563
30564 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
30565
30566 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
30567
30568 2009-05-22 Pavel Roskin <proski@gnu.org>
30569
30570 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
30571 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
30572 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
30573 compiling for the i386 targets, but not for the utilities.
30574
30575 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
30576 to grub_uint8_t.
30577 (grub_root_drive): Likewise.
30578 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
30579 remove alignment.
30580 (grub_root_drive): Change size to byte.
30581 (grub_start_addr): Remove.
30582 (grub_end_addr): Likewise.
30583 (grub_apm_bios_info): Likewise.
30584
30585 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
30586
30587 * normal/i386: Remove.
30588 * normal/powerpc: Likewise.
30589 * normal/sparc64: Likewise.
30590 * normal/x86_64: Likewise.
30591
30592 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
30593
30594 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
30595 * loader/i386/linux_trampoline.S: Fix indentation
30596 * loader/i386/xnu_helper.S: Likewise
30597
30598 2009-05-18 Colin D Bennett <colin@gibibit.com>
30599
30600 Display error messages when parsing a Lua statement fails.
30601 Previously, executing a syntactically invalid statement like
30602 ")foo" or "bar;" would silently fail.
30603
30604 * script/lua/grub_main.c (handle_lua_error): New function.
30605 (grub_lua_parse_line): Improved reporting of Lua parser and
30606 execution errors.
30607
30608 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30609
30610 Remove -Werror which causes build to fail on some systems
30611
30612 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
30613 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
30614 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
30615
30616 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30617
30618 trampoline for linux on 64-bit platform
30619
30620 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
30621 loader/i386/efi/linux_trampoline.S
30622 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
30623 declaration
30624 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
30625 here
30626 * loader/i386/linux_trampoline.S: moved here
30627 * loader/i386/efi/linux.c (allocate_pages): reserve space for
30628 trampoline
30629 (jumpvector): removed
30630 (grub_linux_trampoline_start): new declaration
30631 (grub_linux_trampoline_end): likewise
30632 (grub_linux_boot): use trampoline when on 64-bit platform
30633 * loader/i386/linux.c: likewise
30634
30635 2009-05-16 Pavel Roskin <proski@gnu.org>
30636
30637 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
30638 const to avoid a warning.
30639 (grub_lua_setenv): Likewise.
30640 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
30641 lmsg to fix a warning.
30642
30643 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
30644
30645 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
30646 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30647 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
30648 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30649 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30650 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30651 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30652 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30653
30654 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
30655
30656 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
30657
30658 2009-05-16 Bean <bean123ch@gmail.com>
30659
30660 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
30661 (lua_mod_SOURCES): New variable.
30662 (lua_mod_CFLAGS): Likewise.
30663 (lua_mod_LDFLAGS): Likewise.
30664
30665 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
30666 (setjmp_mod_SOURCES): New variable.
30667 (setjmp_mod_CFLAGS): Likewise.
30668 (setjmp_LDFLAGS): Likewise.
30669
30670 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
30671 (setjmp_mod_SOURCES): New variable.
30672 (setjmp_mod_CFLAGS): Likewise.
30673 (setjmp_LDFLAGS): Likewise.
30674
30675 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30676 (setjmp_mod_SOURCES): New variable.
30677 (setjmp_mod_CFLAGS): Likewise.
30678 (setjmp_LDFLAGS): Likewise.
30679
30680 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30681 (setjmp_mod_SOURCES): New variable.
30682 (setjmp_mod_CFLAGS): Likewise.
30683 (setjmp_LDFLAGS): Likewise.
30684
30685 * normal/i386/setjmp.S: Moved from here ...
30686 * lib/i386/setjmp.S: ... Moved here
30687 * normal/x86_64/setjmp.S: Moved from here ...
30688 * lib/x86_64/setjmp.S: ... Moved here
30689 * normal/powerpc/setjmp.S: Moved from here ...
30690 * lib/powerpc/setjmp.S: ... Moved here
30691 * normal/sparc64/setjmp.S: Moved from here ...
30692 * lib/sparc64/setjmp.S: ... Moved here
30693
30694 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
30695 returns_twice in mingw.
30696
30697 * script/lua/grub_lib.c: New file.
30698 * script/lua/grub_lib.h: Likewise.
30699 * script/lua/grub_lua.h: Likewise.
30700 * script/lua/grub_main.c: Likewise.
30701 * script/lua/lapi.c: Likewise.
30702 * script/lua/lapi.h: Likewise.
30703 * script/lua/lauxlib.c: Likewise.
30704 * script/lua/lauxlib.h: Likewise.
30705 * script/lua/lbaselib.c: Likewise.
30706 * script/lua/lcode.c: Likewise.
30707 * script/lua/lcode.h: Likewise.
30708 * script/lua/ldblib.c: Likewise.
30709 * script/lua/ldebug.c: Likewise.
30710 * script/lua/ldebug.h: Likewise.
30711 * script/lua/ldo.c: Likewise.
30712 * script/lua/ldo.h: Likewise.
30713 * script/lua/ldump.c: Likewise.
30714 * script/lua/lfunc.c: Likewise.
30715 * script/lua/lfunc.h: Likewise.
30716 * script/lua/lgc.c: Likewise.
30717 * script/lua/lgc.h: Likewise.
30718 * script/lua/linit.c: Likewise.
30719 * script/lua/liolib.c: Likewise.
30720 * script/lua/llex.c: Likewise.
30721 * script/lua/llex.h: Likewise.
30722 * script/lua/llimits.h: Likewise.
30723 * script/lua/lmathlib.c: Likewise.
30724 * script/lua/lmem.c: Likewise.
30725 * script/lua/lmem.h: Likewise.
30726 * script/lua/loadlib.c: Likewise.
30727 * script/lua/lobject.c: Likewise.
30728 * script/lua/lobject.h: Likewise.
30729 * script/lua/lopcodes.c: Likewise.
30730 * script/lua/lopcodes.h: Likewise.
30731 * script/lua/loslib.c: Likewise.
30732 * script/lua/lparser.c: Likewise.
30733 * script/lua/lparser.h: Likewise.
30734 * script/lua/lstate.c: Likewise.
30735 * script/lua/lstate.h: Likewise.
30736 * script/lua/lstring.c: Likewise.
30737 * script/lua/lstring.h: Likewise.
30738 * script/lua/lstrlib.c: Likewise.
30739 * script/lua/ltable.c: Likewise.
30740 * script/lua/ltable.h: Likewise.
30741 * script/lua/ltablib.c: Likewise.
30742 * script/lua/ltm.c: Likewise.
30743 * script/lua/ltm.h: Likewise.
30744 * script/lua/lua.h: Likewise.
30745 * script/lua/luaconf.h: Likewise.
30746 * script/lua/lualib.h: Likewise.
30747 * script/lua/lundump.c: Likewise.
30748 * script/lua/lundump.h: Likewise.
30749 * script/lua/lvm.c: Likewise.
30750 * script/lua/lvm.h: Likewise.
30751 * script/lua/lzio.c: Likewise.
30752 * script/lua/lzio.h: Likewise.
30753
30754 2009-05-16 Bean <bean123ch@gmail.com>
30755
30756 * include/grub/kernel.h (grub_module_header_types): Add type
30757 OBJ_TYPE_CONFIG.
30758
30759 * kern/main.c (grub_load_config): New function.
30760 (grub_main): Call grub_load_config to read boot config.
30761
30762 * grub-mkimage (generate_image): New parameter config_path.
30763 (options): New option --config.
30764 (main): Parse --config option, and pass it to generate_image.
30765
30766 2009-05-14 Christian Franke <franke@computer.org>
30767
30768 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
30769 This fixes build on Cygwin.
30770
30771 2009-05-14 Pavel Roskin <proski@gnu.org>
30772
30773 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
30774 jump. This saves two bytes, so the typical case of 2 swapped
30775 drives would fit 32 bytes.
30776
30777 2009-05-13 Pavel Roskin <proski@gnu.org>
30778
30779 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
30780 grub_uint32_t to avoid a warning.
30781
30782 * loader/i386/linux.c (allocate_pages): When assigning
30783 real_mode_mem, cast through grub_size_t to fix a warning. The
30784 code already makes sure that the value would fit a pointer.
30785 (grub_linux_setup_video): Cast render_target->data to
30786 grub_size_t to fix a warning.
30787
30788 2009-05-13 Javier Martín <lordhabbit@gmail.com>
30789
30790 * commands/i386/pc/drivemap.c: New file - implement drivemap
30791 command.
30792 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
30793 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
30794
30795 2009-05-13 Pavel Roskin <proski@gnu.org>
30796
30797 * util/i386/pc/grub-setup.c (setup): Remove unused variable
30798 embedding_area_exists.
30799
30800 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
30801
30802 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
30803 it easier to understand / work with.
30804 Improve warning messages for cases where there's no embedding area,
30805 or when it is too small (or core.img too large).
30806
30807 2009-05-13 Pavel Roskin <proski@gnu.org>
30808
30809 * loader/i386/pc/multiboot2.c: Add necessary includes for
30810 grub_multiboot2_real_boot().
30811
30812 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
30813 PX record is always little-endian. We only need the lower 2
30814 bytes of the mode.
30815
30816 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
30817 facilitate code reuse.
30818 (grub_cpio_mount): Use "struct head", not a char buffer. This
30819 fixes a warning reported by gcc 4.4.
30820
30821 * kernel/disk.c (grub_disk_read): Use void pointer for the
30822 buffer.
30823 (grub_disk_write): Use const void pointer for the buffer.
30824 Adjust all callers. Remove unnecessary casts.
30825
30826 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
30827
30828 * util/i386/pc/grub-install.in: Update copyright year.
30829
30830 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30831
30832 gptsync
30833
30834 * commands/gptsync.c: new file
30835 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
30836 (gptsync_mod_SOURCES): new variable
30837 (gptsync_mod_CFLAGS): likewise
30838 (gptsync_mod_LDFLAGS): likewise
30839 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
30840 new definition
30841 (GRUB_PC_PARTITION_TYPE_HFS): likewise
30842 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
30843 * conf/i386-ieee1275.rmk: likewise
30844 * conf/i386-pc.rmk: likewise
30845 * conf/powerpc-ieee1275.rmk: likewise
30846
30847 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30848
30849 Fixed grub-emu
30850
30851 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
30852 (grub_dl_ref): likewise
30853
30854 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
30855
30856 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
30857 split in two functions (one for msdos and one for gpt).
30858
30859 2009-05-08 Pavel Roskin <proski@gnu.org>
30860
30861 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
30862 not modified.
30863
30864 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
30865 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
30866 Initialize them with -1. Add sanity check for bad1. Eliminate
30867 nerr variable.
30868
30869 2009-05-08 David S. Miller <davem@davemloft.net>
30870
30871 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
30872
30873 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
30874
30875 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
30876 existence.
30877
30878 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
30879
30880 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30881 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
30882
30883 2009-05-05 David S. Miller <davem@davemloft.net>
30884
30885 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
30886
30887 2009-05-05 Pavel Roskin <proski@gnu.org>
30888
30889 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
30890 of grub_dl_ref() and grub_dl_unref().
30891 * commands/parttool.c: Remove preprocessor conditionals around
30892 grub_dl_ref() and grub_dl_unref().
30893 * fs/affs.c: Likewise.
30894 * fs/afs.c: Likewise.
30895 * fs/cpio.c: Likewise.
30896 * fs/ext2.c: Likewise.
30897 * fs/fat.c: Likewise.
30898 * fs/hfs.c: Likewise.
30899 * fs/hfsplus.c: Likewise.
30900 * fs/iso9660.c: Likewise.
30901 * fs/jfs.c: Likewise.
30902 * fs/minix.c: Likewise.
30903 * fs/ntfs.c: Likewise.
30904 * fs/reiserfs.c: Likewise.
30905 * fs/sfs.c: Likewise.
30906 * fs/udf.c: Likewise.
30907 * fs/ufs.c: Likewise.
30908 * fs/xfs.c: Likewise.
30909 * include/grub/dl.h: Likewise.
30910 * loader/xnu.c: Likewise.
30911
30912 2009-05-04 Pavel Roskin <proski@gnu.org>
30913
30914 * commands/acpi.c: Remove unused variable my_mod.
30915 * partmap/amiga.c: Likewise.
30916 * partmap/apple.c: Likewise.
30917 * partmap/gpt.c: Likewise.
30918 * partmap/pc.c: Likewise.
30919 * partmap/sun.c: Likewise.
30920 * term/gfxterm.c: Likewise.
30921 * term/i386/pc/vesafb.c: Likewise.
30922 * term/i386/pc/vga.c: Likewise.
30923
30924 2009-05-04 David S. Miller <davem@davemloft.net>
30925
30926 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
30927 pointer args to grub_ieee1275_get_property().
30928
30929 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
30930
30931 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
30932 devices, and do not traverse down under controller nodes.
30933
30934 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
30935 (grub_ofdisk_open): Use it to un-escape "," characters.
30936 * kern/disk.c (find_part_sep): New.
30937 (grub_disk_open): Use it to find the first non-escaped ','
30938 character in the disk name.
30939 * util/ieee1275/devicemap.c (escape_of_path): New.
30940 (grub_util_emit_devicemap_entry): Use it.
30941 * util/sparc64/ieee1275/grub-install.in: Update script to
30942 strip partition specifiers properly by not triggering on
30943 '\' escaped ',' characters.
30944
30945 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30946
30947 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
30948 to 0x300.
30949 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
30950 resolutions.
30951 (linux_vesafb_modes): Add a lot of additional modes to the list (based
30952 on documentation from Wikipedia).
30953
30954 2009-05-04 Pavel Roskin <proski@gnu.org>
30955
30956 * disk/ata.c: Spelling fixes.
30957 * disk/raid.c: Likewise.
30958 * disk/usbms.c: Likewise.
30959 * disk/dmraid_nvidia.c: Likewise.
30960 * kern/ieee1275/openfw.c: Likewise.
30961 * kern/ieee1275/init.c: Likewise.
30962 * kern/ieee1275/cmain.c: Likewise.
30963 * boot/i386/pc/cdboot.S: Likewise.
30964 * video/readers/png.c: Likewise.
30965 * video/i386/pc/vbe.c: Likewise.
30966 * fs/udf.c: Likewise.
30967 * fs/hfs.c: Likewise.
30968 * fs/reiserfs.c: Likewise.
30969 * efiemu/runtime/efiemu.c: Likewise.
30970 * efiemu/main.c: Likewise.
30971 * efiemu/mm.c: Likewise.
30972 * include/grub/elf.h: Likewise.
30973 * include/grub/xnu.h: Likewise.
30974 * include/grub/usbdesc.h: Likewise.
30975 * include/grub/usb.h: Likewise.
30976 * include/grub/script_sh.h: Likewise.
30977 * include/grub/lib/LzmaEnc.h: Likewise.
30978 * include/grub/efiemu/efiemu.h: Likewise.
30979 * include/grub/command.h: Likewise.
30980 * normal/menu.c: Likewise.
30981 * normal/main.c: Likewise.
30982 * normal/datetime.c: Likewise.
30983 * bus/usb/uhci.c: Likewise.
30984 * mmap/i386/uppermem.c: Likewise.
30985 * mmap/mmap.c: Likewise.
30986 * commands/acpi.c: Likewise.
30987 * commands/test.c: Likewise.
30988 * partmap/apple.c: Likewise.
30989 * font/font.c: Likewise.
30990 * loader/sparc64/ieee1275/linux.c: Likewise.
30991 * loader/macho.c: Likewise.
30992 * loader/i386/bsd_trampoline.S: Likewise.
30993 * loader/i386/bsd.c: Likewise.
30994 * loader/xnu.c: Likewise.
30995 * term/i386/pc/vesafb.c: Likewise.
30996 * term/usb_keyboard.c: Likewise.
30997 * util/resolve.c: Likewise.
30998 * util/getroot.c: Likewise.
30999
31000 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
31001
31002 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
31003
31004 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31005
31006 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
31007 build error.
31008
31009 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31010
31011 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
31012 parameter only available on BIOS.
31013
31014 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
31015
31016 Removed wrong semicolon in declaration
31017
31018 * grub/misc.h (grub_dprintf): remove semicolon
31019
31020 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31021
31022 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
31023 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
31024 is done by grub_cmd_linux() now).
31025 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
31026 restore video to text mode.
31027 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
31028 indicates lack of "vga=" parameter. "vga=0" is mapped to
31029 `GRUB_LINUX_VID_MODE_NORMAL'.
31030
31031 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
31032
31033 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
31034 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
31035 and `normal/script.c'. Add `kern/rescue_reader.c',
31036 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
31037 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
31038 `grub_script.tab.c'.
31039
31040 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31041 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31042 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31043 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31044 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31045
31046 * Makefile.in: Remove duplicated 2008 in Copyright line.
31047
31048 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31049
31050 * util/misc.c (grub_util_warn): New function. Emits a warning
31051 unconditionally.
31052 * include/grub/util/misc.h (grub_util_warn): New declaration.
31053
31054 * util/i386/pc/grub-install.in: Understand --force and pass it down
31055 to grub-setup.
31056
31057 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
31058 down to setup().
31059 (setup): Improve error messages and add warnings when requested to
31060 install in odd layouts. Refuse to install using blocklists unless
31061 --force was set.
31062
31063 2009-05-04 martin f. krafft <madduck@madduck.net>
31064
31065 * disk/raid.c (grub_raid_scan_device): Improve debug message.
31066
31067 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
31068
31069 Updated copyright year
31070
31071 * fs/hfsplus.c: updated copyright year
31072
31073 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
31074
31075 HFS+ UUID
31076
31077 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
31078 in the space previously used by unused3
31079 (grub_hfsplus_uuid): new function
31080 (grub_hfsplus_fs): added uuid field
31081
31082 2009-05-03 Pavel Roskin <proski@gnu.org>
31083
31084 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
31085 suppress warnings. It's no longer needed.
31086 * disk/host.c: Likewise.
31087 * disk/ata_pthru.c: Likewise.
31088 * disk/loopback.c: Likewise.
31089 * hook/datehook.c: Likewise.
31090 * parttool/pcpart.c: Likewise.
31091 * fs/i386/pc/pxe.c: Likewise.
31092 * fs/ntfscomp.c: Likewise.
31093 * efiemu/main.c: Likewise.
31094 * mmap/mmap.c: Likewise.
31095 * commands/crc.c: Likewise.
31096 * commands/hexdump.c: Likewise.
31097 * commands/hdparm.c: Likewise.
31098 * commands/acpi.c: Likewise.
31099 * commands/echo.c: Likewise.
31100 * commands/minicmd.c: Likewise.
31101 * commands/blocklist.c: Likewise.
31102 * commands/memrw.c: Likewise.
31103 * commands/loadenv.c: Likewise.
31104 * commands/usbtest.c: Likewise.
31105 * commands/lsmmap.c: Likewise.
31106 * commands/boot.c: Likewise.
31107 * commands/parttool.c: Likewise.
31108 * commands/configfile.c: Likewise.
31109 * commands/search.c: Likewise.
31110 * commands/ieee1275/suspend.c: Likewise.
31111 * commands/cat.c: Likewise.
31112 * commands/i386/pc/pxecmd.c: Likewise.
31113 * commands/i386/pc/play.c: Likewise.
31114 * commands/i386/pc/halt.c: Likewise.
31115 * commands/i386/pc/vbeinfo.c: Likewise.
31116 * commands/i386/pc/vbetest.c: Likewise.
31117 * commands/lspci.c: Likewise.
31118 * commands/date.c: Likewise.
31119 * commands/handler.c: Likewise.
31120 * commands/ls.c: Likewise.
31121 * commands/test.c: Likewise.
31122 * commands/cmp.c: Likewise.
31123 * commands/efi/loadbios.c: Likewise.
31124 * commands/efi/fixvideo.c: Likewise.
31125 * commands/halt.c: Likewise.
31126 * commands/help.c: Likewise.
31127 * commands/reboot.c: Likewise.
31128 * hello/hello.c: Likewise.
31129 * script/sh/main.c: Likewise.
31130 * loader/xnu.c: Likewise.
31131 * term/terminfo.c: Likewise.
31132 * term/i386/pc/serial.c: Likewise.
31133 * term/usb_keyboard.c: Likewise.
31134
31135 2009-05-03 David S. Miller <davem@davemloft.net>
31136
31137 * normal/menu.c: Include grub/parser.h
31138
31139 2009-05-03 Pavel Roskin <proski@gnu.org>
31140
31141 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
31142 not char*.
31143 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
31144 Suggested by Javier Martín <lordhabbit@gmail.com>
31145
31146 * util/i386/pc/grub-mkrescue.in: Allow for the case when
31147 efiemu??.o doesn't exist.
31148 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
31149 copying.
31150
31151 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
31152
31153 FreeBSD 64-bit support
31154
31155 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
31156 and loader/i386/bsd_trampoline.S
31157 (bsd_mod_ASFLAGS): new variable
31158 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
31159 (FREEBSD_MODTYPE_KERNEL64): likewise
31160 (grub_bsd64_trampoline_start): likewise
31161 (grub_bsd64_trampoline_end): likewise
31162 (grub_bsd64_trampoline_selfjump): likewise
31163 (grub_bsd64_trampoline_gdt): likewise
31164 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
31165 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
31166 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
31167 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
31168 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
31169 of "attrib" member
31170 * loader/i386/bsd_pagetable.c: new file
31171 * loader/i386/bsd_trampoline.S: likewise
31172 * loader/i386/bsd.c (ALIGN_QWORD): new macro
31173 (ALIGN_VAR): likewise
31174 (entry_hi): new variable
31175 (kern_end_mdofs): likewise
31176 (is_64bit): likewise
31177 (grub_freebsd_add_meta): use ALIGN_VAR
31178 (grub_e820_mmap): new declaration
31179 (grub_freebsd_add_mmap): new function
31180 (grub_freebsd_add_meta_module): support 64 bit kernels
31181 (grub_freebsd_list_modules): use ALIGN_VAR
31182 (gdt_descriptor): new declaration
31183 (grub_freebsd_boot): support 64 bit kernels
31184 (grub_bsd_elf64_hook): new function
31185 (grub_bsd_load_elf): support elf64
31186
31187 2009-05-03 Bean <bean123ch@gmail.com>
31188
31189 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
31190 after we get the result of if statement.
31191
31192 2009-05-03 Bean <bean123ch@gmail.com>
31193
31194 * Makefile.in (enable_efiemu): New variable.
31195
31196 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
31197 set.
31198 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
31199 path.
31200 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
31201 path, add -mno-red-zone option.
31202 (efiemu64_s.o): Likewise.
31203 (efiemu64.o): Use macro $^ for source file.
31204
31205 * configure.ac (--enable-efiemu): New option.
31206
31207 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
31208
31209 xnu support
31210
31211 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
31212 (pkglib_MODULES): add xnu.mod
31213 (xnu_mod_SOURCES): new variable
31214 (xnu_mod_CFLAGS): likewise
31215 (xnu_mod_LDFLAGS): likewise
31216 (xnu_mod_ASFLAGS): likewise
31217 * conf/i386-pc.rmk: likewise
31218 * conf/x86_64-efi.rmk: likewise
31219 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
31220 new declaration
31221 * include/grub/i386/macho.h: new file
31222 * include/grub/i386/xnu.h: likewise
31223 * include/grub/macho.h: likewise
31224 * include/grub/machoload.h: likewise
31225 * include/grub/x86_64/macho.h: likewise
31226 * include/grub/x86_64/xnu.h: likewise
31227 * include/grub/xnu.h: likewise
31228 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
31229 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
31230 * loader/i386/efi/xnu.c: new file
31231 * loader/i386/pc/xnu.c: likewise
31232 * loader/i386/xnu.c: likewise
31233 * loader/i386/xnu_helper.S: likewise
31234 * loader/macho.c: likewise
31235 * loader/xnu.c: likewise
31236 * loader/xnu_resume.c: likewise
31237 * util/grub-dumpdevtree: likewise
31238 * include/grub/i386/pit.h: include grub/err.h
31239 (grub_pit_wait): export
31240 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
31241
31242 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31243
31244 Efiemu
31245
31246 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
31247 _linux_efi, linux_efi.
31248 new files in grub-emu
31249 new targets efiemu32.o and efiemu64.o
31250 * loader/linux_normal_efiemu.c: likewise
31251 * loader/i386/efi/linux.c: added preliminary efiemu support
31252 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
31253 files to copy
31254 * include/grub/autoefi.h: new file
31255 * include/grub/i386/efiemu.h: likewise
31256 * include/grub/i386/pc/efiemu.h: likewise
31257 * include/grub/efi/api.h: add LL suffix when necessary
31258 new definitions relating to tables
31259 * include/grub/efiemu/efiemu.h: new file
31260 * include/grub/efiemu/runtime.h: likewise
31261 * efiemu/prepare.c: likewise
31262 * efiemu/loadcore_common.c: likewise
31263 * efiemu/loadcore64.c: likewise
31264 * efiemu/runtime/efiemu.sh: likewise
31265 * efiemu/runtime/efiemu.S: likewise
31266 * efiemu/runtime/efiemu.c: likewise
31267 * efiemu/runtime/config.h: likewise
31268 * efiemu/prepare32.c: likewise
31269 * efiemu/main.c: likewise
31270 * efiemu/modules/pnvram.c: likewise
31271 * efiemu/modules/i386: likewise
31272 * efiemu/modules/i386/pc: likewise
31273 * efiemu/modules/acpi.c: likewise
31274 * efiemu/i386/pc/cfgtables.c: likewise
31275 * efiemu/i386/loadcore64.c: likewise
31276 * efiemu/i386/loadcore32.c: likewise
31277 * efiemu/prepare64.c: likewise
31278 * efiemu/loadcore.c: likewise
31279 * efiemu/symbols.c: likewise
31280 * efiemu/mm.c: likewise
31281 * efiemu/loadcore32.c: likewise
31282
31283 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31284
31285 ACPI spoofing
31286
31287 * commands/acpi.c: new file
31288 * commands/i386/pc/acpi.c: likewise
31289 * commands/efi/acpi.c: likewise
31290 * include/grub/acpi.h: likewise
31291 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
31292 (acpi_mod_SOURCES): new variable
31293 (acpi_mod_CFLAGS): likewise
31294 (acpi_mod_LDFLAGS): likewise
31295 * conf/i386-efi.rmk: likewise
31296 * conf/x86_64-efi.rmk: likewise
31297
31298 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31299
31300 Missing part from mmap patch
31301
31302 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
31303 (grub_mmap_unregister)
31304 (grub_mmap_free_and_unregister): use grub_mmap_register
31305
31306 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31307
31308 Mmap services
31309
31310 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
31311 * loader/i386/linux.c (find_mmap_size): likewise
31312 (allocate_pages): likewise
31313 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
31314 (grub_fill_multiboot_mmap): likewise
31315 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
31316 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
31317 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
31318 (OPENBSD_MMAP_RESERVED): likewise
31319 * include/grub/i386/pc/memory.h: include grub/memory.h
31320 (grub_lower_mem): removed
31321 (grub_upper_mem): likewise
31322 (GRUB_MACHINE_MEMORY_ACPI): new definition
31323 (GRUB_MACHINE_MEMORY_NVS): likewise
31324 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
31325 (GRUB_MACHINE_MEMORY_HOLE): likewise
31326 (grub_machine_mmap_register): likewise
31327 (grub_machine_mmap_unregister): likewise
31328 (grub_machine_get_upper): likewise
31329 (grub_machine_get_lower): likewise
31330 (grub_machine_get_post64): likewise
31331 * include/grub/i386/efi/memory.h: new file
31332 * include/grub/x86_64/efi/memory.h: likewise
31333 * include/grub/efi/memory.h: likewise
31334 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
31335 (mmap_mod_SOURCES): new variable
31336 (mmap_mod_LDFLAGS): likewise
31337 (mmap_mod_ASFLAGS): likewise
31338 * conf/i386-coreboot.rmk: likewise
31339 * conf/i386-ieee1275.rmk: likewise
31340 * conf/i386-efi.rmk: likewise
31341 * conf/x86_64-efi.rmk: likewise
31342 * include/grub/types.h (UINT_TO_PTR): new macro
31343 (PTR_TO_UINT32): likewise
31344 (PTR_TO_UINT64): likewise
31345 * include/grub/memory.h: new file
31346 * mmap/i386/pc/mmap.c: likewise
31347 * mmap/i386/pc/mmap_helper.S: likewise
31348 * mmap/i386/uppermem.c: likewise
31349 * mmap/mmap.c: likewise
31350 * mmap/efi/mmap.c: likewise
31351 * kern/i386/coreboot/init.c (grub_machine_init): don't use
31352 grub_upper_mem
31353 * kern/i386/pc/init.c (grub_lower_mem): removed variable
31354 (grub_upper_mem): likewise
31355 (grub_machine_init): don't use grub_upper_mem,
31356 make grub_lower_mem local
31357 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
31358 grub_mmap_iterate and grub_mmap_get_upper
31359 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
31360
31361 2009-05-02 Bean <bean123ch@gmail.com>
31362
31363 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
31364 script/sh/parser.y.
31365 (pkglib_MODULES): Add normal.mod and sh.mod.
31366 (normal_SOURCES): New variable.
31367 (normal_mod_CFLAGS): Likewise.
31368 (normal_mod_LDFLAGS): Likewise.
31369 (sh_mod_SOURCES): Likewise.
31370 (sh_mod_CFLAGS): Likewise.
31371 (sh_mod_LDFLAGS): Likewise.
31372
31373 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
31374 script/sh/lexer.c_DEPENDENCIES.
31375 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
31376 kern/rescue_reader.c and kern/rescue_parser.c.
31377 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
31378 (grub_emu_SOURCES): Change source files.
31379 (pkglib_MODULES): Remove normal.mod.
31380 (normal_SOURCES): Removed.
31381 (normal_mod_CFLAGS): Likewise.
31382 (normal_mod_LDFLAGS): Likewise.
31383 * conf/i386-coreboot.rmk: Likewise.
31384 * conf/i386-efi.rmk: Likewise.
31385 * conf/i386-ieee1276.rmk: Likewise.
31386 * conf/powerpc-ieee1275.rmk: Likewise.
31387 * conf/sparc64-ieee1275.rmk: Likewise.
31388 * conf/x86_64-efi.rmk: Likewise.
31389
31390 * include/grub/command.h (grub_command_execute): New inline function.
31391
31392 * include/grub/menu.h (grub_menu_entry): Removed commands field.
31393
31394 * include/grub/normal.h: Remove <grub/setjmp.h>.
31395 (grub_fs_module_list): Moved to normal/autofs.c.
31396 (grub_exit_env): Removed.
31397 (grub_command_execute): Likewise.
31398 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
31399 parameter script.
31400 (read_command_list): New function declaration.
31401 (read_fs_list): Likewise.
31402
31403 * include/parser.h: Include <grub/reader.h>.
31404 (grub_parser_split_cmdline): Change type of getline parameter.
31405 (grub_parser): New structure.
31406 (grub_parser_class): New variable.
31407 (grub_parser_execute): New function declaration.
31408 (grub_register_rescue_parser): Likewise.
31409 (grub_parser_register): New inline function.
31410 (grub_parser_unregister): Likewise.
31411 (grub_parser_get_current): Likewise.
31412 (grub_parser_set_current): Likewise.
31413
31414 * include/grub/reader.h: New file.
31415 * kern/reader.c: Likewise.
31416 * kern/rescue_parser.c: Likewise.
31417 * kern/rescue_reader.c: Likewise.
31418 * normal/autofs.c: Likewise.
31419 * normal/dyncmd.c: Likewise.
31420
31421 * include/grub/rescue.h: Removed.
31422 * normal/command.h: Likewise.
31423
31424 * include/grub/script.h: Moved to ...
31425 * include/grub/script_sh.h: ... Moved here.
31426 * normal/execute.c: Moved to ...
31427 * script/sh/execute.c: ... Moved here.
31428 * normal/function.c: Moved to ...
31429 * script/sh/function.c: ... Moved here.
31430 * normal/lexer.c: Moved to ...
31431 * script/sh/lexer.c: ... Moved here.
31432 * normal/parser.y: Moved to ...
31433 * script/sh/parser.y: ... Moved here.
31434 * normal/script.c: Moved to ...
31435 * script/sh/script.c: ... Moved here.
31436
31437 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
31438 <grub/reader.h>.
31439 (grub_exit_env): Removed.
31440 (fs_module_list): Moved to normal/autofs.c.
31441 (grub_file_getline): Don't handle comment here.
31442 (free_menu): Skip removed field entry->commands.
31443 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
31444 script parameter.
31445 (read_config_file): Removed nested parameter, change getline function.
31446 (grub_enter_normal_mode): Removed.
31447 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
31448 (read_command_list): Likewise.
31449 (autoload_fs_module): Moved to normal/autofs.c.
31450 (read_fs_list): Likewise.
31451 (reader_nested): New variable.
31452 (grub_normal_execute): Run parser.sh to switch to sh parser.
31453 (grub_cmd_rescue): Removed.
31454 (cmd_normal): Removed.
31455 (grub_cmd_normal): Unregister itself at the beginning. Don't register
31456 rescue command.
31457 (grub_cmdline_run): New function.
31458 (grub_normal_reader_init): Likewise.
31459 (grub_normal_read_line): Likewise.
31460 (grub_env_write_pager): Likewise.
31461 (cmdline): New variable.
31462 (grub_normal_reader): Likewise.
31463 (GRUB_MOD_INIT): Register normal reader and set as current, register
31464 pager hook, register normal command with grub_register_command_prio,
31465 so that it won't show up in command.lst.
31466 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
31467 grub_fs_autoload_hook.
31468
31469 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
31470 (grub_menu_execute_entry): Replace grub_script_execute with
31471 grub_parser_execute, change parameter to grub_command_execute.
31472
31473 * normal/menu_text.c: Remove <grub/script.h>.
31474
31475 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
31476 and <grub/parser.h>.
31477 (run): Change editor_getline to use new parser interface. Change
31478 parameter to grub_command_execute.
31479
31480 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
31481 <grub/reader.h> and <grub/parser.h>.
31482 (grub_load_normal_mode): Execute normal command.
31483 (grub_main): Call grub_register_core_commands,
31484 grub_register_rescue_parser and grub_register_rescue_reader, use
31485 grub_reader_loop to enter input loop.
31486
31487 * kern/parser.c (grub_parser_split_cmdline): Change type of
31488 getline parameter.
31489 (grub_parser_class): New variable.
31490 (grub_parser_execute): New function.
31491
31492 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
31493 * loader/multiboot2.c: Likewise.
31494 * loader/sparc64/ieee1275/linux.c: Likewise.
31495
31496 * util/grub-emu.c (read_command_list): New dummy function.
31497
31498 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
31499
31500 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
31501 count to 16 for CCISS and IDA.
31502
31503 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
31504
31505 * normal/menu_text.c (grub_wait_after_message): Print a newline
31506 after waiting for user input.
31507
31508 * loader/i386/linux.c: Include `<grub/normal.h>'.
31509 (grub_cmd_linux): Improve the error message about `ask' mode, by
31510 waiting for user input so it's not missed (we can do this, since
31511 user requested interaction).
31512
31513 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31514
31515 Added missing lst to grub-mkrescue
31516
31517 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
31518 and ${input_dir}/parttool.lst
31519
31520 2009-04-30 David S. Miller <davem@davemloft.net>
31521
31522 * util/hostdisk.c (device_is_wholedisk): New function.
31523 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
31524 zero only if device_is_wholedisk() returns true.
31525
31526 * util/hostdisk.c (convert_system_partition_to_system_disk):
31527 Handle virtual disk devices named /dev/vdiskX as found on sparc
31528 and powerpc.
31529
31530 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
31531 lettered partition specifier is found, convert to numbered.
31532
31533 2009-04-29 David S. Miller <davem@davemloft.net>
31534
31535 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
31536 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31537
31538 * normal/command.c: Add missing newline at end of file.
31539
31540 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
31541 warnings.
31542 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
31543 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
31544 grub_ofdisk_read): Likewise, and deal similarly with the fact that
31545 ihandles have a 32-bit type but need to be stored in a "void *".
31546
31547 2009-04-28 Pavel Roskin <proski@gnu.org>
31548
31549 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
31550 not disk. Adjust all dependencies.
31551 (grub_fs_uuid_close): Use grub_device_close(), not
31552 grub_disk_close().
31553
31554 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
31555 parent's partition, don't copy it by reference, as it gets freed
31556 on close.
31557
31558 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
31559
31560 Preboot hooks support
31561
31562 * commands/boot.c (struct grub_preboot_t): new declaration
31563 (preboots_head): new variable
31564 (preboots_tail): likewise
31565 (grub_loader_register_preboot_hook): new function
31566 (grub_loader_unregister_preboot_hook): likewise
31567 (grub_loader_set): launch preboot hooks
31568 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
31569 (grub_loader_register_preboot_hook): new declaration
31570 (grub_loader_unregister_preboot_hook): likewise
31571
31572 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
31573
31574 Warning fix
31575
31576 * disk/scsi.c (grub_scsi_open): added missing cast when
31577 calling grub_dprintf
31578
31579 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
31580
31581 Bug and warning fixes
31582
31583 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
31584 declaration
31585 * commands/test.c (test_parse): fixed bug with file tests and corrected
31586 declaration of find_file
31587
31588 2009-04-26 Pavel Roskin <proski@gnu.org>
31589
31590 * Makefile.in: Don't install empty manual pages if help2man is
31591 missing. Use help2man option for output, not shell redirection.
31592
31593 2009-04-26 David S. Miller <davem@davemloft.net>
31594
31595 * util/grub-mkdevicemap.c (make_device_map): Add missing
31596 NESTED_FUNC_ATTR to process_device().
31597
31598 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31599
31600 Test command
31601
31602 * commands/test.c: rewritten to use bash-like test
31603
31604 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31605
31606 Parttool autoloading and improvements
31607
31608 * Makefile.in (pkglib_DATA): add parttool.lst
31609 (parttool.lst): new target
31610 * genmk.rb: generate parttool-*
31611 (CLEANFILES): add #{parttool}
31612 (PARTTOOLFILES): new variable
31613 * genparttoollist.sh: new file
31614 * parttool/pcpart.c (grub_pcpart_boot): more feedback
31615 (grub_pcpart_type): likewise
31616 * commands/parttool.c (helpmsg): new variable
31617 (grub_cmd_parttool): output help if not enough arguments are supplied
31618 autoload modules
31619 (GRUB_MOD_INIT(parttool)): use helpmsg
31620
31621 2009-04-24 David S. Miller <davem@davemloft.net>
31622
31623 Avoiding opening same device multiple times in device iterator.
31624
31625 * kern/device.c: (grub_device_iterate): Define struct part_ent,
31626 and use it to build a list of partitions in iterate_disk() and
31627 iterate_partition().
31628
31629 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
31630 on disk->data.
31631
31632 * disk/ieee1275/nand.c (grub_nand_iterate): Return
31633 grub_devalias_iterate() result instead of unconditional 0.
31634 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
31635 Also, capture hook return value, either directly or via
31636 grub_children_iterate(), and propagate to caller.
31637 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
31638 grub_children_iterate): Return value is now 'int' instead of
31639 'grub_err_t'.
31640 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
31641 like a proper iterator, stopping when hooks return non-zero.
31642 (grub_devalias_iterate): Likewise.
31643
31644 2009-04-23 David S. Miller <davem@davemloft.net>
31645
31646 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
31647
31648 2009-04-22 David S. Miller <davem@davemloft.net>
31649
31650 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
31651 is larger than address_cells, use that value for address_cells too.
31652
31653 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
31654 IEEE1275_MAX_PATH_LEN): Define.
31655 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
31656 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
31657 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
31658 'devtype'. Explicitly NULL terminate devalias expansion.
31659
31660 * util/sparc64/ieee1275/misc.c: New file.
31661 * util/sparc64/ieee1275/grub-setup.c: New file.
31662 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
31663 * util/sparc64/ieee1275/grub-mkimage.c: New file.
31664 * util/sparc64/ieee1275/grub-install.in: New file.
31665 * util/ieee1275/ofpath.c: New file.
31666 * util/ieee1275/devicemap.c: New file.
31667 * util/devicemap.c: New file.
31668 * util/deviceiter.c: New file.
31669 * kern/sparc64/ieee1275/init.c: New file.
31670 * include/grub/util/ofpath.h: New file.
31671 * include/grub/util/deviceiter.h: New file.
31672 * util/grub-mkdevicemap.c: Include deviceiter.h.
31673 Implement using grub_util_emit_devicemap_entry and
31674 grub_util_iterate_devices.
31675 * conf/i386-corebook.rmk: Build util/deviceiter.c and
31676 util/devicemap.c into grub-mkdevicemap
31677 * conf/i386-efi.rmk: Likewise.
31678 * conf/i386-ieee1275.rmk: Likewise.
31679 * conf/i386-pc.rmk: Likewise.
31680 * conf/powerpc-ieee1275.rmk: Likewise.
31681 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
31682 images and installation utilities. Build kernel as image
31683 instead of as elf binary. Use common rules as much as possible.
31684
31685 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
31686
31687 Correct GPT definition
31688
31689 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
31690 of "attrib" member
31691
31692 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
31693
31694 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
31695
31696 2009-04-19 David S. Miller <davem@davemloft.net>
31697
31698 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
31699 (grub_rescue_cmd_linux): Rename to...
31700 (grub_cmd_linux): and fix prototype.
31701 (grub_rescue_cmd_initrd): Rename to...
31702 (grub_cmd_initrd): and fix prototype.
31703 (cmd_linux, cmd_initrd): New.
31704 (GRUB_MOD_INIT(linux)): Use grub_register_command().
31705 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
31706
31707 2009-04-17 Pavel Roskin <proski@gnu.org>
31708
31709 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
31710 format.
31711 (grub_ohci_transfer): Likewise.
31712
31713 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
31714
31715 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
31716 return without a value. Fix inconsistent indentation.
31717
31718 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
31719 match struct grub_fs.
31720
31721 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
31722 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
31723 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
31724 * commands/lspci.c (grub_lspci_iter): Likewise.
31725
31726 2009-04-16 Bean <bean123ch@gmail.com>
31727
31728 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
31729 value.
31730
31731 2009-04-15 Pavel Roskin <proski@gnu.org>
31732
31733 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
31734 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
31735 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
31736 definitions.
31737
31738 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
31739
31740 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
31741 that no multiple data or metadata areas are supported and `Unknown
31742 metadata header'.
31743
31744 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
31745
31746 Move loader out of the kernel
31747
31748 * kern/loader.c: moved to ...
31749 * commands/boot.c: ... moved here
31750 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
31751 * commands/boot.c (grub_cmd_boot): moved here. All users updated
31752 * include/grub/kernel.h (grub_machine_fini): export
31753 * include/grub/loader.h (grub_loader_is_loaded): update declaration
31754 (grub_loader_set): likewise
31755 (grub_loader_unset): likewise
31756 (grub_loader_boot): likewise
31757 * conf/common.rmk: new module boot.mod
31758 (pkglib_MODULES): add boot.mod
31759 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
31760 (grub_emu_SOURCES): likewise
31761 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
31762 (grub_emu_SOURCES): likewise
31763 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
31764 (grub_emu_SOURCES): likewise
31765 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
31766 (grub_emu_SOURCES): likewise
31767 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
31768 (grub_emu_SOURCES): likewise
31769 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
31770 (grub_emu_SOURCES): likewise
31771 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
31772 (grub_emu_SOURCES): likewise
31773
31774 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
31775
31776 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
31777
31778 * kern/misc.c (grub_itoa): Removed function
31779 (grub_ltoa): likewise
31780 (grub_vsprintf): use grub_lltoa
31781
31782 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
31783
31784 Restore grub-emu
31785
31786 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
31787 * conf/i386-coreboot.rmk: likewise
31788 * conf/i386-ieee1275.rmk: likewise
31789 * conf/powerpc-ieee1275.rmk: likewise
31790
31791 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
31792
31793 * INSTALL: Add that `./autogen.sh' needs to be run before
31794 `./configure.'.
31795
31796 2009-04-14 Bean <bean123ch@gmail.com>
31797
31798 * Makefile.in (pkglib_DATA): Add handler.lst.
31799 (handler.lst): New rule.
31800
31801 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
31802 * conf/i386-coreboot.rmk: Likewise.
31803 * conf/i386-ieee1275.rmk: Likewise.
31804 * conf/i386-efi.rmk: Likewise.
31805 * conf/x86_64-efi.rmk: Likewise.
31806 * conf/powerpc-ieee1275.rmk: Likewise.
31807 * conf/sparc64-ieee1275.rmk: Likewise.
31808
31809 * genhandlerlist.sh: New file.
31810
31811 * genmk.rb: Add rules to generate handler.lst.
31812
31813 * include/grub/normal.h (grub_file_getline): New function definition.
31814 (read_handler_list): Likewise.
31815 (free_handler_list): Likewise.
31816
31817 * include/grub/term.h (grub_term_register_input): Add name parameter
31818 for auto generation of handler.lst.
31819 (grub_term_register_output): Likewise.
31820
31821 * normal/handler.c: New file.
31822
31823 * normal/main.c (get_line): Renamed to grub_file_getline.
31824 (read_config_file): Use the newly renamed grub_file_getline.
31825 (read_command_list): Likewise.
31826 (read_fs_list): Likewise.
31827 (grub_normal_execute): Call read_handler_list to parse handler.lst.
31828 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
31829
31830 * term/efi/console.c (grub_console_init): Add name parameter for auto
31831 generation of handler.lst.
31832 * term/gfxterm.c: Likewise.
31833 * term/i386/pc/at_keyboard.c: Likewise.
31834 * term/i386/pc/console.c: Likewise.
31835 * term/i386/pc/serial.c: Likewise.
31836 * term/i386/pc/vesafb.c: Likewise.
31837 * term/i386/pc/vga.c: Likewise.
31838 * term/i386/pc/vga_text.c: Likewise.
31839 * term/ieee1275/ofconsole.c: Likewise.
31840 * term/usb_keyboard.c: Likewise.
31841
31842 2009-04-14 Bean <bean123ch@gmail.com>
31843
31844 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
31845 properly with null character.
31846
31847 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
31848
31849 * configure: Remove.
31850 * config.h.in: Likewise.
31851 * stamp-h.in: Likewise.
31852 * DISTLIST: Likewise.
31853 * conf/common.mk: Likewise.
31854 * conf/i386-coreboot.mk: Likewise.
31855 * conf/i386-efi.mk: Likewise.
31856 * conf/i386-ieee1275.mk: Likewise.
31857 * conf/i386.mk: Likewise.
31858 * conf/i386-pc.mk: Likewise.
31859 * conf/powerpc-ieee1275.mk: Likewise.
31860 * conf/sparc64-ieee1275.mk: Likewise.
31861 * conf/x86_64-efi.mk: Likewise.
31862
31863 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
31864 develop on GRUB.
31865
31866 2009-04-14 John Stanley <jpsinthemix@verizon.net>
31867 David S. Miller <davem@davemloft.net>
31868
31869 * util/hostdisk.c (make_device_name): Fix buffer length
31870 calculations.
31871
31872 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
31873
31874 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
31875 <sys/param.h> and <sys/sysctl.h>.
31876 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
31877 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
31878 opening the device and reset them afterwards.
31879
31880 2009-04-13 Pavel Roskin <proski@gnu.org>
31881
31882 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
31883 Reported by John Stanley <jpsinthemix@verizon.net>
31884
31885 2009-04-13 Robert Millan <rmh@aybabtu.com>
31886
31887 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
31888 that name for menuentries when appropriate.
31889
31890 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31891
31892 * util/grub.d/10_freebsd.in: Add a missing `fi'.
31893
31894 2009-04-13 Robert Millan <rmh@aybabtu.com>
31895
31896 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
31897 to Linux, simply abort telling the user it's no longer supported.
31898
31899 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31900
31901 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
31902 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
31903 `freebsd_loadenv' only when devices.hints exist.
31904
31905 2009-04-13 Pavel Roskin <proski@gnu.org>
31906
31907 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
31908
31909 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31910
31911 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
31912 partition number.
31913 (grub_drive): Likewise.
31914
31915 2009-04-13 David S. Miller <davem@davemloft.net>
31916
31917 * kern/sparc64/ieee1275/ieee1275.c: New file.
31918 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
31919 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
31920 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
31921 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
31922 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
31923 grub_ieee1275_alloc_physmem): Declare new exported functions.
31924
31925 * include/grub/sparc64/ieee1275/loader.h: New file.
31926 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31927 * include/grub/sparc64/kernel.h: Likewise.
31928 * loader/sparc64/ieee1275/linux.c: Likewise.
31929
31930 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
31931 (grub_fstest_SOURCES): Likewise.
31932
31933 * util/hostdisk.c (make_device_name): Do not make any assumptions
31934 about the length of drive names.
31935
31936 * kern/dl.c (grub_dl_load_file): Close file immediately when
31937 we are done using it.
31938
31939 2009-04-12 David S. Miller <davem@davemloft.net>
31940
31941 * kern/misc.c (grub_ltoa): Fix cast when handling negative
31942 values. Noticed by Pavel Roskin.
31943
31944 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
31945 target compiler.
31946
31947 * genmk.rb: Add more flexible image type specification, also
31948 pass --strip-unneeded to objcopy.
31949 * conf/i386-pc.rmk: Use *_FORMAT.
31950 * conf/i386-pc.mk: Rebuilt.
31951
31952 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
31953 (OFDISK_HASH_SZ): Define.
31954 (ofdisk_hash): New hash table.
31955 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
31956 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
31957 instead of device phandle which is not unique.
31958
31959 * kern/sparc64/ieee1275/init.c: Delete, replace with...
31960 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
31961 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
31962 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
31963 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
31964 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
31965 GRUB_KERNEL_MACHINE_DATA_END): Define.
31966 (grub_kernel_image_size, grub_total_module_size): Declare.
31967
31968 2009-04-12 Pavel Roskin <proski@gnu.org>
31969
31970 * configure.ac: Change the logic when we check for target tools.
31971 Do it when the target is specified and it's different from the
31972 specified value of the host.
31973
31974 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
31975
31976 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
31977 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
31978 GNU/kFreeBSD. Check if a device is a character device. Use
31979 DIOCGMEDIASIZE to get the size.
31980 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
31981 support for GNU/kFreeBSD.
31982 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
31983 is a character device instead of a block device. Add support for
31984 FreeBSD device names.
31985
31986 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
31987 is a character device instead of a block device.
31988
31989 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
31990 is a character device instead of a block device.
31991
31992 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
31993
31994 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
31995 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
31996 FreeBSD. Check if a device is a character device. Use
31997 DIOCGMEDIASIZE to get the size.
31998 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
31999 support for FreeBSD.
32000 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
32001 is a character device instead of a block device. Add support for
32002 FreeBSD device names.
32003
32004 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
32005 a character device instead of a block device.
32006 (grub_util_check_char_device): New function.
32007
32008 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
32009 a character device instead of a block device.
32010
32011 * include/grub/util/getroot.h (grub_util_check_char_device): New
32012 prototype.
32013
32014 2009-04-11 David S. Miller <davem@davemloft.net>
32015
32016 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
32017 static libgcc.
32018 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
32019 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
32020 function, if present.
32021 (__bswapdi2): Likewise.
32022
32023 * include/grub/sparc64/ieee1275/boot.h: New file.
32024 * boot/sparc64/ieee1275/boot.S: Likewise.
32025 * boot/sparc64/ieee1275/diskboot.S: Likewise.
32026
32027 * kern/misc.c (grub_ltoa): New function.
32028 (grub_vsprintf): Use it to format 'long' integers.
32029
32030 2009-04-10 David S. Miller <davem@davemloft.net>
32031
32032 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
32033 slots are of type grub_ieee1275_cell_t.
32034 (grub_nand_read): Likewise.
32035 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
32036 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
32037 macros are used to compare values in arg/ret block of the call.
32038 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
32039 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
32040 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
32041 grub_ieee1275_instance_to_path, grub_ieee1275_write,
32042 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
32043 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
32044 grub_ieee1275_close, grub_ieee1275_set_property,
32045 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
32046 grub_ieee1275_cell_t.
32047 * kern/ieee1275/openfw.c (grub_map): Likewise.
32048 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
32049 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
32050
32051 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
32052 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
32053 (grub_devalias_iterate): Likewise.
32054
32055 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
32056
32057 UFS improvements
32058
32059 * fs/ufs.c (INODE_NBLOCKS): new definition
32060 (struct grub_ufs_dirent): added fields for non-BSD dirents
32061 (grub_ufs_get_file_block): fixed double indirect handling
32062 (grub_ufs_lookup_symlink): use more robust way to determine whether
32063 symlink is inline
32064 (grub_ufs_find_file): support for non-BSD dirents
32065 (grub_ufs_dir): support for non-BSD dirents
32066
32067 2009-04-10 Bean <bean123ch@gnail.com>
32068
32069 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
32070 attribute, otherwise the size would be wrong for i386 platform.
32071
32072 * include/grub/pci.h (grub_pci_read_word): New inline function.
32073 (grub_pci_read_byte): Likewise.
32074 (grub_pci_write): Likewise.
32075 (grub_pci_write_word): Likewise.
32076 (grub_pci_write_byte): Likewise.
32077
32078 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
32079
32080 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
32081 (find_framebuf): Scan pci to locate the frame buffer address.
32082
32083 * commands/efi/fixvideo.c: New file.
32084
32085 * commands/efi/loadbios.c: Likewise.
32086
32087 * commands/memrw.c: Likewise.
32088
32089 * util/grub-dumpbios.in: Likewise.
32090
32091 * conf/common.rmk (grub-dumpbios): New utility.
32092 (pkglib_MODULES): New module memrw.mod.
32093 (memrw_mod_SOURCE): New macro.
32094 (memrw_mod_CFLAGS): Likewise.
32095 (memrw_mod_LDFLAGS): Likewise.
32096
32097 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
32098 fixvideo.mod.
32099 (loadbios_mod_SOURCE): New macro.
32100 (loadbios_mod_CFLAGS): Likewise.
32101 (loadbios_mod_LDFLAGS): Likewise.
32102 (fixvideo_mod_SOURCE): Likewise.
32103 (fixvideo_mod_CFLAGS): Likewise.
32104 (fixvideo_mod_LDFLAGS): Likewise.
32105
32106 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
32107 fixvideo.mod.
32108 (loadbios_mod_SOURCE): New macro.
32109 (loadbios_mod_CFLAGS): Likewise.
32110 (loadbios_mod_LDFLAGS): Likewise.
32111 (fixvideo_mod_SOURCE): Likewise.
32112 (fixvideo_mod_CFLAGS): Likewise.
32113 (fixvideo_mod_LDFLAGS): Likewise.
32114
32115 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
32116
32117 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
32118
32119 2009-04-07 David S. Miller <davem@davemloft.net>
32120
32121 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
32122 support for R_SPARC_OLO10 relocations. Fix compile warning for
32123 R_SPARC_WDISP30 case.
32124 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
32125
32126 2009-04-06 Pavel Roskin <proski@gnu.org>
32127
32128 * include/grub/misc.h (ARRAY_SIZE): New macro.
32129 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
32130 New macro.
32131 * loader/i386/linux.c (allocate_pages): Use free_pages().
32132 (grub_linux_unload): Don't use free_pages().
32133 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
32134 wrong index. Treat all other modes as text modes.
32135 (grub_cmd_linux): Initialize vid_mode unconditionally to
32136 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
32137
32138 * commands/help.c (print_command_help): Use cmd->prio, not
32139 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
32140
32141 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
32142
32143 Parttool
32144
32145 * parttool/pcpart.c: new file
32146 * commands/parttool.c: likewise
32147 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
32148 (parttool_mod_SOURCES): new variable
32149 (parttool_mod_CFLAGS): likewise
32150 (parttool_mod_LDFLAGS): likewise
32151 (pcpart_mod_SOURCES): likewise
32152 (pcpart_mod_CFLAGS): likewise
32153 (pcpart_mod_LDFLAGS): likewise
32154 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
32155 and parttool/pcpart.c
32156 * conf/i386-efi.rmk: likewise
32157 * conf/i386-ieee1275.rmk: likewise
32158 * conf/i386-pc.rmk: likewise
32159 * conf/powerpc-ieee1275.rmk: likewise
32160 * conf/sparc64-ieee1275.rmk: likewise
32161 * conf/x86_64-ieee1275.rmk: likewise
32162
32163 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
32164
32165 Support for mtime and further expandability of dir command
32166
32167 * include/grub/lib/datetime.h: moved to ...
32168 * include/grub/datetime.h: ... moved here and added
32169 declaration of grub_unixtime2datetime. All users updated
32170 * include/grub/fs.h: new syntax for dir and mtime functions in
32171 struct grub_fs
32172 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
32173 and GRUB_FSHELP_FLAGS_MASK
32174 * commands/ls.c (grub_ls_list_files): Write mtime in long format
32175 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
32176 (grub_ext2_mtime): new function
32177 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
32178 (grub_hfsplus_mtime): new function
32179 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
32180 (GRUB_UFS_ATTR_FILE): likewise
32181 (GRUB_UFS_ATTR_LNK): likewise
32182 (struct grub_ufs_sblock): new fields mtime
32183 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
32184 all users updated
32185 (grub_ufs_dir): mtime support
32186 (grub_ufs_mtime): new function
32187 * fs/affs.c (grub_affs_dir): use new dir syntax
32188 * fs/afs.c (grub_afs_dir): likewise
32189 * fs/cpio.c (grub_cpio_dir): likewise
32190 * fs/fat.c (grub_fat_find_dir): likewise
32191 * fs/hfs.c (grub_hfs_dir): likewise
32192 * fs/iso9660.c (grub_iso9660_dir): likewise
32193 * fs/jfs.c (grub_jfs_dir): likewise
32194 * fs/minix.c (grub_minix_dir): likewise
32195 * fs/ntfs.c (grub_ntfs_dir): likewise
32196 * fs/reiserfs.c (grub_reiserfs_dir): likewise
32197 * fs/sfs.c (grub_sfs_dir): likewise
32198 * fs/xfs.c (grub_xfs_dir): likewise
32199 * util/hostfs.c (grub_hostfs_dir): likewise
32200 * lib/datetime.c: moved to ...
32201 * normal/datetime.c: ... moved here
32202 (grub_unixtime2datetime): new function
32203 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
32204 * normal/completion.c (iterate_dir): use new dir syntax
32205 * normal/misc.c (grub_normal_print_device_info): tell the
32206 last modification time of a volume
32207 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
32208 * conf/common.rmk: added lib/datetime.c to ls.mod
32209 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
32210 (normal_mod_SOURCES): likewise
32211 (datetime_mod_SOURCES): Removed lib/datetime.c
32212 * conf/i386-efi.rmk: likewise
32213 * conf/i386-ieee1275.rmk: likewise
32214 * conf/i386-pc.rmk: likewise
32215 * conf/powerpc-ieee1275.rmk: likewise
32216 * conf/sparc64-ieee1275.rmk: likewise
32217 * conf/x86_64-efi.rmk: likewise
32218
32219 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
32220
32221 Trim trailing spaces in FAT label and support mtools-like labels
32222
32223 * fs/fat.c (grub_fat_iterate_dir): New function based
32224 on grub_fat_find_dir
32225 (grub_fat_find_dir): use grub_fat_iterate_dir
32226 (grub_fat_label): likewise
32227
32228 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
32229
32230 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
32231 and command.h
32232 remove extraneous kernel_elf_HEADERS
32233
32234 2009-04-04 Bean <bean123ch@gnail.com>
32235
32236 * include/grub/util/misc.h: Add dummy function fsync for mingw.
32237
32238 * util/misc.c: Likewise.
32239
32240 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
32241
32242 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
32243 instead of grub_printf.
32244
32245 2009-04-03 Robert Millan <rmh@aybabtu.com>
32246
32247 * loader/i386/linux.c (grub_linux_setup_video): Fill
32248 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
32249 values from `mode info' structure instead of hardcoded
32250 values.
32251
32252 2009-04-01 Pavel Roskin <proski@gnu.org>
32253
32254 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
32255 unused now.
32256 * genmk.rb: Likewise.
32257 * configure.ac: Likewise.
32258
32259 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
32260
32261 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
32262 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
32263
32264 2009-04-01 David S. Miller <davem@davemloft.net>
32265
32266 * normal/sparc64/setjmp.S: Fix setjmp implementation.
32267 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
32268 (grub_setjmp): Mark with 'returns_twice' attribute.
32269 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
32270 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
32271 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
32272
32273 2009-04-01 Robert Millan <rmh@aybabtu.com>
32274
32275 Reapply fix from 2008-07-28 which was accidentally reverted; also
32276 perform the same fix to a similar check in same function.
32277
32278 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32279 with the same number are found, just use issue a warning with
32280 grub_dprintf(), as this error has been reported to be non-fatal.
32281
32282 2009-03-31 Pavel Roskin <proski@gnu.org>
32283
32284 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
32285 for cross-compilation.
32286
32287 2009-03-30 Robert Millan <rmh@aybabtu.com>
32288
32289 Fix i386-ieee1275 build.
32290
32291 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
32292 Remove declaration.
32293
32294 2009-03-30 Pavel Roskin <proski@gnu.org>
32295
32296 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
32297 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
32298 zero-terminated, rely only on the strlen value. Fix comparison
32299 of strings differing in length.
32300
32301 2009-03-30 Robert Millan <rmh@aybabtu.com>
32302
32303 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
32304 checking for abi version. Improve error messages on BIOS to notify
32305 user about `linux16' command.
32306
32307 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
32308
32309 Leak fixes
32310
32311 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
32312 in case of collision
32313 * disk/scsi.c (grub_scsi_open): free scsi in case of error
32314
32315 2009-03-29 Robert Millan <rmh@aybabtu.com>
32316
32317 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
32318 set `vid_mode' accordingly.
32319 (grub_linux_boot): Process `vid_mode' and set video mode.
32320
32321 2009-03-29 Robert Millan <rmh@aybabtu.com>
32322
32323 * util/grub.d/10_linux.in (linux_entry): New function.
32324 Factorize generation of Linux boot entries.
32325
32326 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
32327
32328 Make the format of Environment Block plain text. The boot loader
32329 part is not tested well yet.
32330
32331 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
32332 (buffer): Removed.
32333 (envblk): Likewise.
32334 (usage): Remove "info" and "clear". Add "unset". Update the
32335 description of "set", as this does not delete variables any
32336 longer.
32337 (create_envblk_file): Complete rewrite.
32338 (open_envblk_file): Likewise.
32339 (cmd_info): Removed.
32340 (cmd_list): Likewise.
32341 (cmd_set): Likewise.
32342 (cmd_clear): Likewise.
32343 (list_variables): New function.
32344 (write_envblk): Likewise.
32345 (set_variables): Likewise.
32346 (unset_variables): Likewise.
32347 (main): Complete rewrite.
32348
32349 * commands/loadenv.c (buffer): Removed.
32350 (envblk): Likewise.
32351 (open_envblk_file): New function.
32352 (read_envblk_file): Complete rewrite.
32353 (grub_cmd_load_env): Likewise.
32354 (grub_cmd_list_env): Likewise.
32355 (struct blocklist): New struct.
32356 (free_blocklists): New function.
32357 (check_blocklists): Likewise.
32358 (write_blocklists): Likewise.
32359 (grub_cmd_save_env): Complete rewrite.
32360
32361 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
32362 a plain text signature.
32363 (GRUB_ENVBLK_MAXLEN): Removed.
32364 (struct grub_envblk): Complete rewrite.
32365 (grub_envblk_find): Removed.
32366 (grub_envblk_insert): Likewise.
32367 (grub_envblk_open): New prototype.
32368 (grub_envblk_set): Likewise.
32369 (grub_envblk_delete): Put const to VALUE.
32370 (grub_envblk_iterate): Put const to NAME and VALUE.
32371 (grub_envblk_close): New prototype.
32372 (grub_envblk_buffer): New inline function.
32373 (grub_envblk_size): Likewise.
32374
32375 * lib/envblk.c: Include grub/mm.h.
32376 (grub_env_find): Removed.
32377 (grub_envblk_open): New function.
32378 (grub_envblk_close): Likewise.
32379 (escaped_value_len): Likewise.
32380 (find_next_line): Likewise.
32381 (grub_envblk_insert): Removed.
32382 (grub_envblk_set): New function.
32383 (grub_envblk_delete): Complete rewrite.
32384 (grub_envblk_iterate): Likewise.
32385
32386 2009-03-28 Robert Millan <rmh@aybabtu.com>
32387
32388 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
32389 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
32390 variables. Use 16-bit loader.
32391 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
32392 loader.
32393 * kern/i386/loader.S (grub_linux_boot): Rename to ...
32394 (grub_linux16_boot): ... this. Update all users.
32395 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
32396 (grub_linux_boot): ... this. Update all users.
32397
32398 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
32399 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
32400 commands to `linux16' and `initrd16'.
32401 (GRUB_MOD_FINI(linux)): Rename to ...
32402 (GRUB_MOD_FINI(linux16)): ... this.
32403
32404 2009-03-24 Pavel Roskin <proski@gnu.org>
32405
32406 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
32407 not just for compilation.
32408
32409 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
32410
32411 Move multiboot helper out of kernel
32412
32413 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
32414 `loader/i386/multiboot_helper.S'.
32415 * conf/i386-coreboot.rmk: Likewise
32416 * conf/i386-ieee1275.rmk: Likewise
32417
32418 * kern/i386/loader.S: Move multiboot helpers from here...
32419 * loader/i386/multiboot_helper.S: ...moved here
32420 * include/grub/i386/loader.h: Move declarations of multiboot
32421 helpers from here...
32422 * include/grub/i386/multiboot.h: ...moved here
32423 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
32424
32425 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32426
32427 * kern/env.c (grub_env_context_open): Added an argument to specify
32428 whether a new context inherits exported variables from current
32429 one. This is useful when making a sandbox to interpret a config
32430 file.
32431 All callers updated.
32432
32433 * include/grub/env.h (grub_env_context_open): Updated the prototype.
32434
32435 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32436
32437 * kern/env.c (grub_env_context_close): Fix memory leaks.
32438
32439 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32440
32441 * normal/main.c (grub_normal_execute): Added an argument
32442 BATCH to specify if an interactive interface should be provided
32443 after reading a config file.
32444 All callers updated.
32445 (read_command_list): Prevent being executed twice.
32446 (read_fs_list): Likewise.
32447
32448 * include/grub/normal.h (grub_normal_execute): Updated the
32449 prototype.
32450
32451 2009-03-22 Pavel Roskin <proski@gno.org>
32452
32453 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
32454 _start.
32455 * kern/i386/pc/startup.S: Likewise.
32456 * kern/i386/efi/startup.S: Likewise.
32457 * kern/i386/ieee1275/startup.S: Likewise.
32458 * kern/i386/coreboot/startup.S: Likewise.
32459 * kern/x86_64/efi/startup.S: Likewise.
32460
32461 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
32462 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
32463 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
32464
32465 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
32466
32467 Bugfixes in multiboot for bugs uncovered by solaris kernel.
32468
32469 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
32470 limit detection.
32471 Use vaddr of correct segment for entry_point.
32472
32473 2009-03-21 Bean <bean123ch@gmail.com>
32474
32475 * commands/blocklist.c: Add include file <grub/command.h>, remove
32476 <grub/normal.h> and <grub/arg.h>.
32477 (grub_cmd_blocklist): Use the new command interface.
32478 (GRUB_MOD_INIT): Likewise.
32479 (GRUB_MOD_FINI): Likewise.
32480 * commands/boot.c: Likewise.
32481 * commands/cat.c: Likewise.
32482 * commands/cmp.c: Likewise.
32483 * commands/configfile.c: Likewise.
32484 * commands/crc.c: Likewise.
32485 * commands/echo.c: Likewise.
32486 * commands/halt.c: Likewise.
32487 * commands/handler.c: Likewise.
32488 * commands/hdparm.c: Likewise.
32489 * commands/help.c: Likewise.
32490 * commands/hexdump.c: Likewise.
32491 * commands/loadenv.c: Likewise.
32492 * commands/ls.c: Likewise.
32493 * commands/lsmmap.c: Likewise.
32494 * commands/lspci.c: Likewise.
32495 * commands/loadenv.c: Likewise.
32496 * commands/read.c: Likewise.
32497 * commands/reboot.c: Likewise.
32498 * commands/search.c: Likewise.
32499 * commands/sleep.c: Likewise.
32500 * commands/test.c: Likewise.
32501 * commands/usbtest.c: Likewise.
32502 * commands/videotest.c: Likewise.
32503 * commands/i386/cpuid.c: Likewise.
32504 * commands/i386/pc/halt.c: Likewise.
32505 * commands/i386/pc/play.c: Likewise.
32506 * commands/i386/pc/pxecmd.c: Likewise.
32507 * commands/i386/pc/vbeinfo.c: Likewise.
32508 * commands/i386/pc/vbetest.c: Likewise.
32509 * commands/ieee1275/suspend.c: Likewise.
32510 * disk/loopback.c: Likewise.
32511 * font/font_cmd.c: Likewise.
32512 * hello/hello.c: Likewise.
32513 * loader/efi/appleloader.c: Likewise.
32514 * loader/efi/chainloader.c: Likewise.
32515 * loader/i386/bsd.c: Likewise.
32516 * loader/i386/efi/linux.c: Likewise.
32517 * loader/i386/ieee1275/linux.c: Likewise.
32518 * loader/i386/linux.c: Likewise.
32519 * loader/i386/pc/chainloader.c: Likewise.
32520 * loader/i386/pc/linux.c: Likewise.
32521 * loader/powerpc/ieee1275/linux.c: Likewise.
32522 * loader/multiboot_loader.c: Likewise.
32523 * term/gfxterm.c: Likewise.
32524 * term/i386/pc/serial.c: Likewise.
32525 * term/terminfo.c: Likewise.
32526
32527 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
32528 * term/i386/pc/vga.c: Likewise.
32529 * video/readers/jpeg.c: Likewise.
32530 * video/readers/png.c: Likewise.
32531 * video/readers/tga.c: Likewise.
32532
32533 * util/grub-fstest (cmd_loopback): Removed.
32534 (cmd_blocklist): Likewise.
32535 (cmd_ls): Likewise.
32536 (grub_register_command): Likewise.
32537 (grub_unregister_command): Likewise.
32538 (execute_command): Use grub_command_find to locate command and execute
32539 it.
32540
32541 * include/grub/efi/chainloader.h: Removed.
32542 * loader/efi/chainloader_normal.c: Likewise.
32543 * loader/i386/bsd_normal.c: Likewise.
32544 * loader/i386/pc/chainloader_normal.c: Likewise.
32545 * loader/i386/pc/multiboot_normal.c: Likewise.
32546 * loader/linux_normal.c: Likewise.
32547 * loader/multiboot_loader_normal.c: Likewise.
32548 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
32549
32550 * gencmdlist.sh: Scan new registration command grub_register_extcmd
32551 and grub_register_command_p1.
32552
32553 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
32554 kern/command.c, lib/arg.c and commands/extcmd.c.
32555 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
32556 (minicmd_mod_SOURCES): New variable.
32557 (minicmd_mod_CFLAGS): Likewise.
32558 (minicmd_mod_LDFLAGS): Likewise.
32559 (extcmd_mod_SOURCES): Likewise.
32560 (extcmd_mod_CFLAGS): Likewise.
32561 (extcmd_mod_LDFLAGS): Likewise.
32562 (boot_mod_SOURCES): Removed.
32563 (boot_mod_CFLAGS): Likewise.
32564 (boot_mod_LDFLAGS): Likewise.
32565
32566 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
32567 kern/corecmd.c.
32568 (kernel_img_HEADERS): Add command.h.
32569 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
32570 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
32571 and lib/arg.c.
32572 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
32573 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
32574 remove the corresponding normal mode command.
32575 (normal_mod_SOURCES): Remove normal/arg.c.
32576 * conf/i386-coreboot.rmk: Likewise.
32577 * conf/i386-efi.rmk: Likewise.
32578 * conf/i386-ieee1275.rmk: Likewise.
32579 * conf/powerpc-ieee1275.rmk: Likewise.
32580 * conf/x86_64-efi.rmk: Likewise.
32581
32582 * include/grub/arg.h: Move from here ...
32583 * include/grub/lib/arg.h: ... to here.
32584
32585 * normal/arg.c: Move from here ...
32586 * lib/arg.c: ... to here.
32587
32588 * commands/extcmd.c: New file.
32589 * commands/minicmd.c: Likewise.
32590 * include/grub/command.h: Likewise.
32591 * include/grub/extcmd.h: Likewise.
32592 * kern/command.c: Likewise.
32593 * kern/corecmd.c: Likewise.
32594
32595 * kern/list.c (grub_list_iterate): Return int instead of void.
32596 (grub_list_insert): New function.
32597 (grub_prio_list_insert): Likewise.
32598
32599 * kern/rescue.c (grub_rescue_command): Removed.
32600 (grub_rescue_command_list): Likewise.
32601 (grub_rescue_register_command): Likewise.
32602 (grub_rescue_unregister_command): Likewise.
32603 (grub_rescue_cmd_boot): Move to minicmd.c
32604 (grub_rescue_cmd_help): Likewise.
32605 (grub_rescue_cmd_info): Likewise.
32606 (grub_rescue_cmd_boot): Likewise.
32607 (grub_rescue_cmd_testload): Likewise.
32608 (grub_rescue_cmd_dump): Likewise.
32609 (grub_rescue_cmd_rmmod): Likewise.
32610 (grub_rescue_cmd_lsmod): Likewise.
32611 (grub_rescue_cmd_exit): Likewise.
32612 (grub_rescue_print_devices): Moved to corecmd.c.
32613 (grub_rescue_print_files): Likewise.
32614 (grub_rescue_cmd_ls): Likewise.
32615 (grub_rescue_cmd_insmod): Likewise.
32616 (grub_rescue_cmd_set): Likewise.
32617 (grub_rescue_cmd_unset): Likewise.
32618 (attempt_normal_mode): Use grub_command_find to get normal module.
32619 (grub_enter_rescue_mode): Use grub_register_core_commands to register
32620 commands, remove grub_rescue_register_command calls.
32621
32622 * normal/command.c (grub_register_command): Removed.
32623 (grub_unregister_command): Likewise.
32624 (grub_command_find): Likewise.
32625 (grub_iterate_commands): Likewise.
32626 (rescue_command): Likewise.
32627 (export_command): Moved to corecmd.c.
32628 (set_command): Removed.
32629 (unset_command): Likewise.
32630 (insmod_command): Likewise.
32631 (rmmod_command): Likewise.
32632 (lsmod_command): Likewise.
32633 (grub_command_init): Likewise.
32634
32635 * normal/completion.c (iterate_command): Use cmd->prio to check for
32636 active command.
32637 (complete_arguments): Use grub_extcmd_t structure to find options.
32638 (grub_normal_do_completion): Change function grub_iterate_commands to
32639 grub_command_iterate.
32640
32641 * normal/execute.c (grub_script_execute_cmd): No need to parse
32642 argument here.
32643
32644 * normal/main.c (grub_dyncmd_dispatcher): New function.
32645 (read_command_list): Register unload commands as dyncmd.
32646 (grub_cmd_normal): Use new command interface, register rescue,
32647 unregister normal at entry, register normal, unregister rescue at exit.
32648
32649 * include/grub/list.h (grub_list_test_t): New type.
32650 (grub_list_iterate): Return int instead of void.
32651 (grub_list_insert): New function.
32652 (GRUB_AS_NAMED_LIST_P): New macro.
32653 (GRUB_AS_PRIO_LIST): Likewise.
32654 (GRUB_AS_PRIO_LIST_P): Likewise.
32655 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
32656 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
32657 (grub_prio_list): New structure.
32658 (grub_prio_list_insert): New function.
32659 (grub_prio_list_remove): New inline function.
32660
32661 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
32662 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
32663 (GRUB_COMMAND_FLAG_MENU): Likewise.
32664 (GRUB_COMMAND_FLAG_BOTH): Likewise.
32665 (GRUB_COMMAND_FLAG_TITLE): Likewise.
32666 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
32667 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
32668 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
32669 (grub_command): Likewise.
32670 (grub_register_command): Likewise.
32671 (grub_command_find): Likewise.
32672 (grub_iterate_commands): Likewise.
32673 (grub_command_init): Likewise.
32674 (grub_arg_parse): Likewise.
32675 (grub_arg_show_help): Likewise.
32676
32677 * include/grub/rescue.h (grub_rescue_register_command): Removed.
32678 (grub_rescue_unregister_command): Likewise.
32679
32680 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
32681 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
32682 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
32683
32684 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
32685 grub_rescue_cmd_initrd.
32686 * include/grub/i386/loader.h: Likewise.
32687 * include/grub/x86_64/loader.h: Likewise.
32688
32689 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
32690
32691 2009-03-21 Bean <bean123ch@gmail.com>
32692
32693 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
32694 instead of stat in mingw environment.
32695
32696 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
32697
32698 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
32699
32700 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
32701 AC_CONFIG_LINKS.
32702
32703 2009-03-21 Bean <bean123ch@gmail.com>
32704
32705 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
32706 out of range error.
32707
32708 2009-03-18 Michel Dänzer <michel@daenzer.net>
32709
32710 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
32711 checking inode flags for EXT4_EXTENTS_FLAG.
32712
32713 2009-03-18 Robert Millan <rmh@aybabtu.com>
32714
32715 * loader/i386/linux.c: Include `<grub/video.h>' and
32716 `<grub/i386/pc/vbe.h>'..
32717 (grub_linux_setup_video): New function. Loosely based on the EFI one.
32718 (grub_linux32_boot): Attempt to configure video settings with
32719 grub_linux_setup_video().
32720 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
32721 to avoid grub_console_fini() which would step out of graphical mode
32722 unconditionally.
32723
32724 2009-03-14 Robert Millan <rmh@aybabtu.com>
32725
32726 Fix build on powerpc.
32727 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
32728
32729 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
32730
32731 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
32732 background image command.
32733
32734 2009-03-12 Colin D Bennett <colin@gibibit.com>
32735
32736 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
32737 (grub_gfxterm_putchar): Extract pairs of identical calls to
32738 draw_cursor out of conditional blocks.
32739
32740 2009-03-11 Pavel Roskin <proski@gnu.org>
32741
32742 * fs/hfs.c (grub_hfs_strncasecmp): New function.
32743 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
32744
32745 2009-03-11 Robert Millan <rmh@aybabtu.com>
32746
32747 * loader/i386/multiboot_elfxx.c
32748 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
32749
32750 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
32751
32752 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
32753 `kern/handler.c'.
32754
32755 2009-03-11 Robert Millan <rmh@aybabtu.com>
32756
32757 * loader/i386/multiboot.c (code_size): New variable.
32758 (grub_multiboot): Define offsets by adding to `code_size' rather
32759 than subtracting from `grub_multiboot_payload_size'. Provide
32760 4-byte alignment to MBI and others by increasing
32761 `boot_loader_name_length' appropriately.
32762
32763 * loader/i386/multiboot_elfxx.c
32764 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
32765
32766 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
32767
32768 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
32769 `fs/ext2.c'.
32770
32771 2009-03-08 Robert Millan <rmh@aybabtu.com>
32772
32773 Make loader/i386/linux.c usable on i386-pc again.
32774
32775 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
32776 memory to heap.
32777 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
32778 `#error' stanza.
32779
32780 2009-03-07 Bean <bean123ch@gmail.com>
32781
32782 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
32783 allocation.
32784
32785 2009-03-06 Robert Millan <rmh@aybabtu.com>
32786
32787 Fix display issue on terminals with screen size other than 80x25
32788 (e.g. gfxterm with resolution higher than 640x480).
32789
32790 * normal/main.c (grub_normal_init_page): Display title text in a
32791 position relative to the center of the terminal instead of relying
32792 on a hardcoded offset.
32793
32794 2009-03-04 Robert Millan <rmh@aybabtu.com>
32795
32796 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
32797 installed.
32798
32799 * Makefile.in (host_kernel): New variable.
32800 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
32801 scripts instead of just the windows one.
32802 * configure.ac: Initialize and AC_SUBST `host_kernel'.
32803
32804 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32805
32806 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
32807 `kern/handler.c'.
32808 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32809 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32810 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32811 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32812 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32813 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32814
32815 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32816
32817 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
32818 or if there's no space for the disk label and print the partition number on a
32819 invalid magic.
32820
32821 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32822
32823 * util/misc.c: Include <time.h>.
32824 (grub_millisleep): New function.
32825
32826 2009-03-04 Bean <bean123ch@gmail.com>
32827
32828 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
32829 another option -mno-red-zone.
32830
32831 * commands/handler.c: Change module description.
32832
32833 * kern/handler.c: Add missing space at the end of description line.
32834
32835 * kern/list.c: Likewise.
32836
32837 2009-03-03 Robert Millan <rmh@aybabtu.com>
32838
32839 Move more components to the relocation area, and fix mbi pointer
32840 handling to use the destination rather than the origin (thanks to
32841 Vladimir Serbinenko for spotting).
32842
32843 * loader/i386/multiboot.c (mbi_dest): New variable.
32844 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
32845 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
32846 relocation area.
32847
32848 2009-03-01 Bean <bean123ch@gmail.com>
32849
32850 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
32851 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
32852 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
32853 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
32854
32855 * loader/i386/efi/linux.c (acpi_guid): New variable.
32856 (acpi_guid): Likewise.
32857 (EBDA_SEG_ADDR): New constant.
32858 (LOW_MEM_ADDR): Likewise.
32859 (FAKE_EBDA_SEG): Likewise.
32860 (fake_bios_data): New function.
32861 (grub_linux_boot): Call fake_bios_data.
32862
32863 2009-03-01 Bean <bean123ch@gmail.com>
32864
32865 * commands/terminal.c: Removed.
32866
32867 * commands/handler.c: New file.
32868
32869 * include/grub/list.h: Likewise.
32870
32871 * include/grub/handler.h: Likewise.
32872
32873 * kern/list.c: Likewise.
32874
32875 * kern/handler.c: Likewise.
32876
32877 * kern/term.h: Include header file <grub/handler.h>.
32878 (grub_term_input): Move next field to the beginning.
32879 (grub_term_output): Likewise.
32880 (grub_term_input_class): New variable.
32881 (grub_term_output_class): Likewise.
32882 (grub_term_register_input): Changed to inline function.
32883 (grub_term_register_output): Likewise.
32884 (grub_term_unregister_input): Likewise.
32885 (grub_term_unregister_output): Likewise.
32886 (grub_term_set_current_input): Likewise.
32887 (grub_term_set_current_output): Likewise.
32888 (grub_term_get_current_input): Likewise.
32889 (grub_term_get_current_output): Likewise.
32890 (grub_term_iterate_input): Removed.
32891 (grub_term_iterate_output): Likewise.
32892
32893 * kern/term.c (grub_term_list_input): Removed.
32894 (grub_term_list_output): Likewise.
32895 (grub_term_input_class): New variable.
32896 (grub_term_output_class): Likewise.
32897 (grub_cur_term_input): Change variable as macro.
32898 (grub_cur_term_output): Likewise.
32899 (grub_term_register_input): Removed.
32900 (grub_term_register_output): Likewise.
32901 (grub_term_unregister_input): Likewise.
32902 (grub_term_unregister_output): Likewise.
32903 (grub_term_set_current_input): Likewise.
32904 (grub_term_set_current_output): Likewise.
32905 (grub_term_iterate_input): Likewise.
32906 (grub_term_iterate_output): Likewise.
32907 (grub_term_get_current_input): Likewise.
32908 (grub_term_get_current_output): Likewise.
32909
32910 * util/grub-editenv.c: Include header file <grub/handler.h>.
32911 (grub_term_get_current_input): Removed.
32912 (grub_term_get_current_output): Likewise.
32913 (grub_term_input_class): New variable.
32914 (grub_term_output_class): Likewise.
32915
32916 * util/grub-fstest.c (grub_term_get_current_input): Removed.
32917 (grub_term_get_current_output): Likewise.
32918 (grub_term_input_class): New variable.
32919 (grub_term_output_class): Likewise.
32920
32921 * util/grub-probe.c (grub_term_get_current_input): Removed.
32922 (grub_term_get_current_output): Likewise.
32923 (grub_term_input_class): New variable.
32924 (grub_term_output_class): Likewise.
32925
32926 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
32927 (grub_term_get_current_output): Likewise.
32928 (grub_term_input_class): New variable.
32929 (grub_term_output_class): Likewise.
32930
32931 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
32932 (terminal_mod_SOURCES): Likewise.
32933 (terminal_mod_CFLAGS): Likewise.
32934 (terminal_mod_LDFLAGS): Likewise.
32935
32936 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
32937 handler.c.
32938 (kernel_img_SOURCES): Add list.c and handler.c.
32939 (kernel_img_HEADERS): Add list.h and handler.h.
32940
32941 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32942 handler.c.
32943 (kernel_mod_SOURCES): Add list.c and handler.c.
32944 (kernel_mod_HEADERS): Add list.h and handler.h.
32945
32946 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
32947 handler.c.
32948 (kernel_elf_SOURCES): Add list.c and handler.c.
32949 (kernel_elf_HEADERS): Add list.h and handler.h.
32950
32951 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32952 handler.c.
32953 (kernel_elf_SOURCES): Add list.c and handler.c.
32954 (kernel_elf_HEADERS): Add list.h and handler.h.
32955
32956 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32957 handler.c.
32958 (kernel_mod_SOURCES): Add list.c and handler.c.
32959 (kernel_mod_HEADERS): Add list.h and handler.h.
32960
32961 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32962 handler.c.
32963 (kernel_elf_SOURCES): Add list.c and handler.c.
32964 (kernel_elf_HEADERS): Add list.h and handler.h.
32965
32966 2009-02-27 Robert Millan <rmh@aybabtu.com>
32967
32968 Factorize elf32 / elf64 code in Multiboot loader. This will
32969 prevent it from getting out of sync again.
32970
32971 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
32972 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
32973 grub_multiboot_load_elf64): Move from here ...
32974 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
32975 grub_multiboot_load_elf): ... to here (new file).
32976
32977 2009-02-27 Robert Millan <rmh@aybabtu.com>
32978
32979 * util/grub.d/10_linux.in: Rename "single-user mode" to
32980 "recovery mode".
32981
32982 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
32983
32984 Don't leak in SCSI code.
32985 * disk/scsi.c (grub_scsi_close): free `scsi'.
32986
32987 2009-02-27 Robert Millan <rmh@aybabtu.com>
32988
32989 * loader/i386/pc/multiboot.c: Move from here ...
32990 * loader/i386/multiboot.c: ... to here. Update all users.
32991
32992 2009-02-27 Robert Millan <rmh@aybabtu.com>
32993
32994 Patch from Alexandre Bique <bique.alexandre@gmail.com>
32995 * util/i386/pc/grub-setup.c (setup): Fix directory path.
32996
32997 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
32998
32999 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
33000 b-tree.
33001
33002 2009-02-27 Robert Millan <rmh@aybabtu.com>
33003
33004 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
33005 `0x' qualifier as 0 when base is specified as parameter).
33006
33007 2009-02-24 Bean <bean123ch@gmail.com>
33008
33009 * configure.ac: Check for -mcmodel=large in x86_64 target.
33010
33011 * include/grub/efi/api.h (efi_call_10): New macro.
33012 (efi_wrap_10): New function.
33013
33014 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
33015 (GRUB_PE32_REL_BASED_HIGH): Likewise.
33016 (GRUB_PE32_REL_BASED_LOW): Likewise.
33017 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
33018 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
33019 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
33020 (GRUB_PE32_REL_BASED_SECTION): Likewise.
33021 (GRUB_PE32_REL_BASED_REL): Likewise.
33022 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
33023 (GRUB_PE32_REL_BASED_DIR64): Likewise.
33024 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
33025
33026 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
33027 issue.
33028
33029 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
33030 (efi_wrap_10): New function.
33031
33032 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
33033
33034 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
33035 MB/MBP model (NV chipset).
33036 (devdata_devs): Add devpath_5 to the list.
33037
33038 * load/i386/efi/linux.c (video_base): Remove variable.
33039 (RGB_MASK): New macro.
33040 (RGB_MAGIC): Likewise.
33041 (LINE_MIN): Likewise.
33042 (LINE_MAX): Likewise.
33043 (FBTEST_STEP): Likewise.
33044 (FBTEST_COUNT): Likewise.
33045 (fb_list): New variable.
33046 (grub_find_video_card): Remove function.
33047 (find_framebuf): New function.
33048 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
33049 line length.
33050
33051 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
33052 problem for x86_64.
33053
33054 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
33055
33056 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
33057
33058 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
33059 coding tool name.
33060
33061 2009-02-22 Robert Millan <rmh@aybabtu.com>
33062
33063 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
33064 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
33065 in our relocation, instead of using it directly from heap. Also
33066 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
33067
33068 2009-02-21 Robert Millan <rmh@aybabtu.com>
33069
33070 Implement USB keyboard support (based on patch by Marco Gerards)
33071
33072 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
33073 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
33074 (usb_keyboard_mod_LDFLAGS): New variables.
33075
33076 * term/usb_keyboard.c: New file.
33077
33078 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
33079
33080 Corrected wrong declaration
33081
33082 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
33083
33084 2009-02-14 Christian Franke <franke@computer.org>
33085
33086 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
33087 (grub_lspci_iter): Print class code and programming interface byte.
33088
33089 2009-02-14 Christian Franke <franke@computer.org>
33090
33091 * gendistlist.sh: Ignore `.svn' directories.
33092
33093 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
33094
33095 * fs/fat.c: Add 2009 to Copyright line.
33096
33097 2009-02-14 Christian Franke <franke@computer.org>
33098
33099 * commands/hdparm.c: New file. Provides `hdparm' command
33100 which sends ATA commands via grub_disk_ata_pass_through ().
33101
33102 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
33103
33104 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
33105 and <grub/cpu/io.h> to include/grub/ata.h.
33106 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
33107 (GRUB_CDROM_SECTOR_SIZE): Remove.
33108 (GRUB_ATA_*): Move to include/grub/ata.h.
33109 (GRUB_ATAPI_*): Likewise.
33110 (enum grub_ata_commands): Likewise.
33111 (enum grub_ata_timeout_milliseconds): Likewise.
33112 (struct grub_ata_device): Likewise.
33113 (grub_ata_regset): Likewise.
33114 (grub_ata_regget): Likewise.
33115 (grub_ata_regset2): Likewise.
33116 (grub_ata_regget2): Likewise.
33117 (grub_ata_check_ready): Likewise.
33118 (grub_ata_wait_not_busy): Remove static, exported in
33119 include/grub/ata.h.
33120 (grub_ata_wait_drq): Likewise.
33121 (grub_ata_pio_read): Likewise.
33122
33123 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
33124 function for hdparm.mod.
33125
33126 * include/grub/ata.h: New file, contains declarations from
33127 disk/ata.c.
33128 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
33129
33130 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
33131 (grub_disk_ata_pass_through): New exported variable.
33132
33133 * kern/disk.c (grub_disk_ata_pass_through): New variable.
33134
33135 2009-02-13 Colin D Bennett <colin@gibibit.com>
33136
33137 Support multiple fallback entries, and provide an API to support
33138 executing default+fallback menu entries. Renamed the `terminal' menu
33139 viewer to `text'.
33140
33141 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
33142 variable declaration.
33143 (grub_menu_execute_callback): New structure declaration.
33144 (grub_menu_execute_callback_t): New typedef.
33145 (grub_menu_execute_with_fallback): New function declaration.
33146 (grub_menu_get_entry): Likewise.
33147 (grub_menu_get_timeout): Likewise.
33148 (grub_menu_set_timeout): Likewise.
33149
33150 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
33151
33152 * normal/menu.c (grub_wait_after_message): Moved to
33153 `normal/menu_text.c'.
33154 (draw_border): Likewise.
33155 (print_message): Likewise.
33156 (print_entry): Likewise.
33157 (print_entries): Likewise.
33158 (grub_menu_init_page): Likewise.
33159 (get_entry_number): Likewise.
33160 (print_timeout): Likewise.
33161 (run_menu): Likewise.
33162 (grub_menu_execute_entry): Likewise.
33163 (show_text_menu): Likewise.
33164 (get_and_remove_first_entry_number): New function.
33165 (grub_menu_execute_with_fallback): Likewise.
33166 (get_entry): Renamed to ...
33167 (grub_menu_get_entry): .. this and made it global.
33168 (get_timeout): Renamed to ...
33169 (grub_menu_get_timeout): ... this and made it global.
33170 (set_timeout): Renamed to ...
33171 (grub_menu_set_timeout): ... this and made it global.
33172 (grub_normal_terminal_menu_viewer): Renamed to ...
33173 (grub_normal_text_menu_viewer): ... this.
33174
33175 * normal/menu_text.c: New file. Extracted text-menu-specific code
33176 from normal/menu.c.
33177
33178 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
33179 (normal_mod_SOURCES): Likewise.
33180
33181 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33182 (normal_mod_SOURCES): Likewise.
33183
33184 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33185 (normal_mod_SOURCES): Likewise.
33186
33187 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
33188 (normal_mod_SOURCES): Likewise.
33189
33190 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33191 (normal_mod_SOURCES): Likewise.
33192
33193 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33194 (normal_mod_SOURCES): Likewise.
33195
33196 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33197 (normal_mod_SOURCES): Likewise.
33198
33199 2009-02-11 Robert Millan <rmh@aybabtu.com>
33200
33201 * util/grub.d/00_header.in: Update old reference to `font' command.
33202
33203 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
33204
33205 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
33206
33207 Based on patch from Javier Martín.
33208
33209 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
33210
33211 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
33212 to avoid false positives with FAT.
33213 (grub_fstest_SOURCES): Likewise.
33214 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33215 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33216 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33217 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33218 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33219 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33220
33221 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
33222
33223 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
33224 bpb.version_specific.fat12_or_fat16.fstype and
33225 bpb.version_specific.fat32.fstype.
33226
33227 2009-02-08 Robert Millan <rmh@aybabtu.com>
33228
33229 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
33230
33231 2009-02-08 Robert Millan <rmh@aybabtu.com>
33232
33233 * Makefile.in (host_os, host_cpu): New variables.
33234 (target_os): Remove. Update all users.
33235
33236 2009-02-08 Marco Gerards <marco@gnu.org>
33237
33238 * Makefile.in (enable_grub_emu_usb): New variable.
33239 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
33240 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
33241 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
33242 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
33243 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
33244 `usbtest.mod' and `usbms.mod'.
33245 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
33246 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
33247 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
33248 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
33249 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
33250 variables.
33251
33252 * disk/usbms.c: New file.
33253
33254 * include/grub/usb.h: Likewise.
33255
33256 * include/grub/usbtrans.h: Likewise.
33257
33258 * include/grub/usbdesc.h: Likewise.
33259
33260 * bus/usb/usbtrans.c: Likewise.
33261
33262 * bus/usb/ohci.c: Likewise.
33263
33264 * bus/usb/uhci.c: Likewise.
33265
33266 * bus/usb/usbhub.c: Likewise.
33267
33268 * bus/usb/usb.c: Likewise.
33269
33270 * commands/usbtest.c: Likewise.
33271
33272 * util/usb.c: Likewise.
33273
33274 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
33275
33276 * configure.ac: Test for libusb presence.
33277
33278 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
33279
33280 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
33281
33282 * kern/mm.c: Add more comments.
33283
33284 2009-02-08 Robert Millan <rmh@aybabtu.com>
33285
33286 Patch from Javier Martín.
33287 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
33288 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
33289
33290 2009-02-08 Robert Millan <rmh@aybabtu.com>
33291
33292 * fs/cpio.c: Split tar functionality to ...
33293 * fs/tar.c: ... here (new file). Update all users.
33294
33295 2009-02-07 Robert Millan <rmh@aybabtu.com>
33296
33297 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
33298 backward-incompatible features.
33299
33300 Based on patch from Javier Martín, with some adjustments.
33301
33302 2009-02-07 Michael Scherer <misc@mandriva.org>
33303
33304 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
33305
33306 2009-02-07 Robert Millan <rmh@aybabtu.com>
33307
33308 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
33309 position of `disk/lvm.c' to ensure grub_init_all() always picks it
33310 after the RAID stuff.
33311
33312 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
33313
33314 Fixes problem when running vbetest command as reported by
33315 Vladimir Serbinenko <phcoder@gmail.com>.
33316
33317 * (grub_vbe_set_video_mode): Fixed problem with text modes.
33318
33319 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
33320
33321 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
33322 /dev/md/NpN style mdraid devices.
33323
33324 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
33325
33326 * util/unifont2pff.rb: Remove.
33327
33328 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
33329
33330 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
33331 `#'.
33332
33333 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
33334
33335 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
33336 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33337 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33338 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33339 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33340 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33341 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33342
33343 2009-02-02 Christian Franke <franke@computer.org>
33344
33345 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
33346
33347 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
33348
33349 * INSTALL: Note that we now require at least autoconf 2.59 and
33350 that LZO is optional.
33351
33352 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
33353
33354 Base on patch on bug #24154 created by Tomas Tintera
33355 <trosos@seznam.cz>.
33356
33357 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
33358
33359 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
33360
33361 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
33362 <bero@arklinux.org>.
33363
33364 * normal/parser.y (script_init): Add missing semicolon.
33365
33366 2009-01-31 Colin D Bennett <colin@gibibit.com>
33367
33368 * normal/main.c: Add include to grub/menu_viewer.h.
33369 (free_menu_entry_classes): Added.
33370 (grub_normal_menu_addentry): Added class property handling.
33371 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
33372 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
33373
33374 * normal/menu_viewer.c: New file.
33375
33376 * normal/menu.c (run_menu_entry): Renamed to ...
33377 (grub_menu_execute_entry): ... this and made it as global.
33378 (grub_menu_run): Renamed to ...
33379 (show_text_menu): ... this and made it local.
33380 (show_text_menu): Adapt to new function names.
33381 (grub_normal_terminal_menu_viewer): New global variable.
33382
33383 * include/grub/menu.h: New file.
33384
33385 * include/grub/menu_viewer.h: New file.
33386
33387 * include/grub/normal.h: Added include to grub/menu.h.
33388 (grub_menu_entry): Moved to include/grub/menu.h.
33389 (grub_menu_entry_t): Likewise.
33390 (grub_menu): Likewise.
33391 (grub_menu_t): Likewise.
33392 (grub_normal_terminal_menu_viewer): Added.
33393 (grub_menu_execute_entry): Likewise.
33394 (grub_menu_run): Removed.
33395
33396 * DISTLIST: Added include/grub/menu.h.
33397 Added include/grub/menu_viewer.h.
33398 Added normal/menu_viewer.c.
33399
33400 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
33401
33402 * normal/execute.c (grub_script_execute_menuentry): Changed to use
33403 arglist for menutitle arguments.
33404
33405 * normal/main.c (grub_normal_menu_addentry): Likewise.
33406
33407 * normal/parser.y (menuentry): Likewise.
33408
33409 * normal/script.c (grub_script_create_cmdmenu): Likewise.
33410
33411 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
33412 (grub_script_create_cmdmenu): Likewise.
33413
33414 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
33415
33416 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
33417 changes.
33418
33419 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
33420
33421 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
33422
33423 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
33424
33425 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33426
33427 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33428
33429 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33430
33431 2009-01-30 Christian Franke <franke@computer.org>
33432
33433 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
33434 in option help text.
33435
33436 2009-01-27 Pavel Roskin <proski@gnu.org>
33437
33438 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
33439
33440 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
33441
33442 * commands/lsmmap.c: Add include to grub/machine/memory.h.
33443
33444 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
33445
33446 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
33447 unregister function.
33448
33449 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
33450
33451 * disk/scsi.c (grub_scsi_read): Fix sign problem.
33452
33453 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
33454
33455 * util/grub-mkfont.c (usage): Fix typo.
33456
33457 * util/elf/grub-mkimage.c (load_modules): Fix warning.
33458
33459 2009-01-26 Daniel Mierswa <impulze@impulze.org>
33460
33461 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
33462
33463 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
33464
33465 * kern/misc.c (grub_strcasecmp): New function.
33466 (grub_strcasecmp): Use grub_size_t instead of int for length.
33467 Fix return value.
33468 * include/grub/misc.h: Update function prototypes.
33469
33470 2009-01-26 Robert Millan <rmh@aybabtu.com>
33471
33472 * configure.ac: Fix cross-compilation check.
33473
33474 2009-01-22 Christian Franke <franke@computer.org>
33475
33476 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
33477 (precision) digit string. Allow `.format2' without `format1' (width).
33478 Limit input chars for `%s' output to `format2' if specified. This is
33479 compatible with standard printf ().
33480
33481 2009-01-22 Christian Franke <franke@computer.org>
33482
33483 * disk/ata.c (grub_ata_wait_status): Replace by ...
33484 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
33485 other status bits may be invalid while BSY is asserted.
33486 (grub_ata_check_ready): New function.
33487 (grub_ata_cmd): Removed.
33488 (grub_ata_wait_drq): New function.
33489 (grub_ata_strncpy): Remove inline.
33490 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
33491 and error check now done by grub_ata_wait_drq ().
33492 (grub_ata_pio_write): Likewise.
33493 (grub_atapi_identify): Set DEV before check for !BSY. Use
33494 grub_ata_wait_drq () to wait for data.
33495 (grub_ata_device_initialize): Add status register check to
33496 detect missing SATA slave devices. Add debug messages.
33497 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
33498 (grub_atapi_packet): Set DEV before check for !BSY. Replace
33499 transfer loop by grub_ata_pio_write ().
33500 (grub_ata_identify): Set DEV before check for !BSY. Use
33501 grub_ata_wait_drq () to wait for data.
33502 (grub_ata_setaddress): Set DEV before check for !BSY.
33503 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
33504 read/write in one loop. Fix invalid command on write. Fix incomplete
33505 command on (size % batch) == 0. Add missing error check after write of
33506 last block. Add debug messages.
33507 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
33508
33509 2009-01-19 Christian Franke <franke@computer.org>
33510
33511 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
33512 (GRUB_ATAPI_IREASON_*): Likewise.
33513 (grub_ata_pio_write): Fix timeout error return.
33514 (grub_atapi_identify): Add grub_ata_wait () after cmd.
33515 (grub_atapi_wait_drq): New function.
33516 (grub_atapi_packet): New parameter `size'.
33517 Use grub_atapi_wait_drq () and direct write instead of
33518 grub_ata_pio_write ().
33519 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
33520 reads the number of bytes requested by the device for each DRQ
33521 assertion.
33522 (grub_atapi_write): Remove old implementation, return not
33523 implemented instead.
33524
33525 2009-01-19 Christian Franke <franke@computer.org>
33526
33527 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
33528 of 512 to calculate data size.
33529 (grub_scsi_read12): Likewise.
33530 (grub_scsi_write10): Likewise.
33531 (grub_scsi_write12): Likewise.
33532 (grub_scsi_read): Adjust size according to blocksize.
33533 Add checks for invalid blocksize and unaligned transfer.
33534
33535 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
33536
33537 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
33538
33539 * term/gfxterm.c (write_char): Fix background rendering for wide
33540 width glyphs.
33541
33542 2009-01-19 Robert Millan <rmh@aybabtu.com>
33543
33544 * config.guess: Update to latest version from config git.
33545 * config.sub: Likewise.
33546
33547 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
33548
33549 * Makefile.in: Change font compilation to use new grub-mkfont instead
33550 of java version.
33551
33552 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
33553 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
33554 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33555 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33556 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
33557 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
33558 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
33559 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
33560 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33561
33562 2009-01-16 Christian Franke <franke@computer.org>
33563
33564 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
33565 (enum grub_ata_timeout_milliseconds): New enum.
33566 (grub_ata_wait_status): Add parameter milliseconds.
33567 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
33568 recovery from timed-out commands.
33569 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
33570 return grub_errno instead of REG_ERROR.
33571 (grub_ata_pio_write): Add parameter milliseconds.
33572 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
33573 Pass milliseconds to grub_ata_wait_status () and
33574 grub_ata_pio_read ().
33575 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
33576 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
33577 grub_ata_wait_status (). Fix IDENTIFY timeout check.
33578 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
33579 It is not suitable for device detection, because DEV bit is ignored,
33580 the command may run too long, and not all devices set the signature
33581 properly.
33582 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
33583 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
33584 Fix device selection, DEV bit must be set first to address the registers
33585 of the correct device.
33586 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
33587 grub_ata_pio_read/write ().
33588 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
33589 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
33590
33591 2009-01-13 Carles Pina i Estany <carles@pina.cat>
33592
33593 * util/grub-editenv.c (main): Use fseeko(), not fseek().
33594
33595 2009-01-13 Bean <bean123ch@gmail.com>
33596
33597 * util/grub-mkfont.c (write_font): forget to remove some debug code.
33598
33599 2009-01-13 Bean <bean123ch@gmail.com>
33600
33601 * Makefile.in: (enable_grub_mkfont): New variable.
33602 (freetype_cflags): Likewise.
33603 (freetype_libs): Likewise.
33604
33605 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
33606 (grub_mkfont_SOURCES): New variable.
33607 (grub_mkfont_CFLAGS): Likewise.
33608 (grub_mkfont_LDFLAGS): Likewise.
33609
33610 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
33611 library if `--enable-grub-mkfont' is requested.
33612 (enable_grub_mkfont): New variable.
33613 (freetype_cflags): Likewise.
33614 (freetype_libs): Likewise.
33615
33616 * util/grub-mkfont.c: New file.
33617
33618 2009-01-12 Christian Franke <franke@computer.org>
33619
33620 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
33621 mode check. Fix setting of compat_use[].
33622
33623 2009-01-10 Robert Millan <rmh@aybabtu.com>
33624
33625 Update a few copyright years which we forgot to do in 2008 (only for
33626 files whose changes made in 2008 were copyright-significant)
33627
33628 * Makefile.in: Add 2008 to Copyright line.
33629 * disk/ieee1275/ofdisk.c: Likewise.
33630 * disk/efi/efidisk.c: Likewise.
33631 * kern/dl.c: Likewise.
33632 * kern/sparc64/ieee1275/init.c: Likewise.
33633 * kern/mm.c: Likewise.
33634 * kern/efi/mm.c: Likewise.
33635 * boot/i386/pc/boot.S: Likewise.
33636 * genfslist.sh: Likewise.
33637 * fs/iso9660.c: Likewise.
33638 * fs/hfs.c: Likewise.
33639 * fs/jfs.c: Likewise.
33640 * fs/minix.c: Likewise.
33641 * fs/ufs.c: Likewise.
33642 * gensymlist.sh.in: Likewise.
33643 * genkernsyms.sh.in: Likewise.
33644 * include/grub/misc.h: Likewise.
33645 * include/grub/types.h: Likewise.
33646 * include/grub/symbol.h: Likewise.
33647 * include/grub/elf.h: Likewise.
33648 * include/grub/kernel.h: Likewise.
33649 * include/grub/disk.h: Likewise.
33650 * include/grub/dl.h: Likewise.
33651 * include/grub/i386/linux.h: Likewise.
33652 * include/grub/i386/pc/biosdisk.h: Likewise.
33653 * include/grub/efi/api.h: Likewise.
33654 * include/grub/efi/pe32.h: Likewise.
33655 * include/grub/util/misc.h: Likewise.
33656 * normal/execute.c: Likewise.
33657 * normal/arg.c: Likewise.
33658 * normal/completion.c: Likewise.
33659 * normal/lexer.c: Likewise.
33660 * normal/parser.y: Likewise.
33661 * normal/misc.c: Likewise.
33662 * commands/i386/pc/vbeinfo.c: Likewise.
33663 * commands/hexdump.c: Likewise.
33664 * commands/terminal.c: Likewise.
33665 * commands/ls.c: Likewise.
33666 * commands/help.c: Likewise.
33667 * partmap/pc.c: Likewise.
33668 * loader/efi/chainloader.c: Likewise.
33669 * loader/multiboot_loader.c: Likewise.
33670 * loader/i386/pc/multiboot2.c: Likewise.
33671 * term/efi/console.c: Likewise.
33672 * term/i386/pc/serial.c: Likewise.
33673 * util/lvm.c: Likewise.
33674 * util/console.c: Likewise.
33675 * util/i386/efi/grub-mkimage.c: Likewise.
33676 * util/raid.c: Likewise.
33677
33678 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
33679
33680 * commands/videotest.c: Removed include to grub/machine/memory.h.
33681
33682 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
33683 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
33684 (video_mod_SOURCES): Removed.
33685 (video_mod_CFLAGS): Likewise.
33686 (video_mod_LDFLAGS): Likewise.
33687 (gfxterm_mod_SOURCES): Likewise.
33688 (gfxterm_mod_CFLAGS): Likewise.
33689 (gfxterm_mod_LDFLAGS): Likewise.
33690 (videotest_mod_SOURCES): Likewise.
33691 (videotest_mod_CFLAGS): Likewise.
33692 (videotest_mod_LDFLAGS): Likewise.
33693 (bitmap_mod_SOURCES): Likewise.
33694 (bitmap_mod_CFLAGS): Likewise.
33695 (bitmap_mod_LDFLAGS): Likewise.
33696 (tga_mod_SOURCES): Likewise.
33697 (tga_mod_CFLAGS): Likewise.
33698 (tga_mod_LDFLAGS): Likewise.
33699 (jpeg_mod_SOURCES): Likewise.
33700 (jpeg_mod_CFLAGS): Likewise.
33701 (jpeg_mod_LDFLAGS): Likewise.
33702 (png_mod_SOURCES): Likewise.
33703 (png_mod_CFLAGS): Likewise.
33704 (png_mod_LDFLAGS): Likewise.
33705
33706 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
33707 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
33708 (video_mod_SOURCES): Added.
33709 (video_mod_CFLAGS): Likewise.
33710 (video_mod_LDFLAGS): Likewise.
33711 (videotest_mod_SOURCES): Likewise.
33712 (videotest_mod_CFLAGS): Likewise.
33713 (videotest_mod_LDFLAGS): Likewise.
33714 (bitmap_mod_SOURCES): Likewise.
33715 (bitmap_mod_CFLAGS): Likewise.
33716 (bitmap_mod_LDFLAGS): Likewise.
33717 (tga_mod_SOURCES): Likewise.
33718 (tga_mod_CFLAGS): Likewise.
33719 (tga_mod_LDFLAGS): Likewise.
33720 (jpeg_mod_SOURCES): Likewise.
33721 (jpeg_mod_CFLAGS): Likewise.
33722 (jpeg_mod_LDFLAGS): Likewise.
33723 (png_mod_SOURCES): Likewise.
33724 (png_mod_CFLAGS): Likewise.
33725 (png_mod_LDFLAGS): Likewise.
33726 (gfxterm_mod_SOURCES): Likewise.
33727 (gfxterm_mod_CFLAGS): Likewise.
33728 (gfxterm_mod_LDFLAGS): Likewise.
33729
33730 * term/gfxterm.c: Removed include to grub/machine/memory.h,
33731 grub/machine/console.h.
33732
33733 2009-01-04 Jerone Young <jerone@gmail.com>
33734
33735 Make on screen instructions clearer
33736
33737 Based on patch created by Jidanni <jidanni@jidanni.org>
33738
33739 * normal/menu.c: print clearer instructions on the screen
33740
33741 2009-01-02 Colin D Bennett <colin@gibibit.com>
33742
33743 New font engine.
33744
33745 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
33746 build system and fixed gfxterm.c to work with different sized fonts.
33747
33748 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
33749
33750 * configure: Re-generated.
33751
33752 * DISTLIST: Removed font/manager.c.
33753 Added font/font.c.
33754 Added font/font_cmd.c.
33755
33756 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
33757 compilation.
33758
33759 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
33760
33761 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
33762
33763 * kern/term.c: Changed users of grub_utf8_to_ucs4.
33764
33765 * normal/menu.c: Likewise.
33766
33767 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
33768 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
33769
33770 * include/grub/font.h: Replaced with new file.
33771
33772 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
33773 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
33774 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
33775 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
33776 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
33777 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
33778 fg_red, fg_green, fg_blue, fg_alpha.
33779 (grub_video_adapter): Removed blit_glyph.
33780 (grub_video_blit_glyph): Removed.
33781
33782 * font/manager.c: Removed file.
33783
33784 * font/font.c: New file.
33785
33786 * font/font_cmd.c: Likewise.
33787
33788 * video/video.c (grub_video_blit_glyph): Removed.
33789
33790 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
33791 (grub_video_vbe_map_rgba): Likewise.
33792 (grub_video_vbe_unmap_color_int): Likewise.
33793 (grub_video_vbe_blit_glyph): Removed.
33794 (grub_video_vbe_adapter): Removed blit_glyph.
33795
33796 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
33797 (get_pixel): Likewise.
33798 (set_pixel): Likewise.
33799
33800 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
33801
33802 * term/gfxterm.c: Adapted to new font engine.
33803
33804 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
33805
33806 * term/i386/pc/vga.c: Likewise.
33807
33808 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
33809
33810 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
33811
33812 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33813
33814 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33815
33816 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
33817
33818 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
33819
33820 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
33821
33822 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
33823
33824 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33825
33826 * util/grub.d/00_header.in: Changed to use new loadfont command.
33827
33828 * util/grub-mkconfig_lib.in: Changed font extension.
33829
33830 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
33831
33832 * util/getroot.c (grub_util_get_grub_dev): Add support for
33833 /dev/md/dNNpNN style partitionable mdraid devices.
33834
33835 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
33836
33837 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
33838 at a time limit of the PXE TFTP API correctly.
33839 (grub_pxefs_close): Likewise.
33840
33841 2008-11-29 Robert Millan <rmh@aybabtu.com>
33842
33843 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
33844 grub_ata_device_initialize() calls.
33845
33846 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
33847
33848 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
33849 iteration failed.
33850 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
33851
33852 2008-11-28 Robert Millan <rmh@aybabtu.com>
33853
33854 Fix build on powerpc-ieee1275. Based on patch created by
33855 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
33856 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33857 `kern/ieee1275/mmap.c'.
33858 * include/grub/powerpc/ieee1275/memory.h: New file.
33859
33860 Provide grub-install on coreboot.
33861 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
33862 (grub_install_SOURCES): New variable.
33863 * util/i386/pc/grub-install.in: Add a few condition checks to make it
33864 usable on coreboot.
33865
33866 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
33867
33868 * util/grub-fstest.c (grub_term_get_current_input): Change return type
33869 to `grub_term_input_t'.
33870 (grub_term_get_current_output): Change return type to
33871 `grub_term_output_t'.
33872
33873 2008-11-22 Robert Millan <rmh@aybabtu.com>
33874
33875 Fix breakage on coreboot due to declaration mismatch.
33876 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
33877 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
33878 grub_vga_text_cls().
33879
33880 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
33881 comments. Avoid copying one more byte than necessary (just in case).
33882
33883 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
33884 to 0x200000 (avoids trouble with some OFW implementations, and matches
33885 with the one in Yaboot).
33886 Reported by Manoel Abranches
33887
33888 2008-11-20 Robert Millan <rmh@aybabtu.com>
33889
33890 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
33891 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
33892
33893 * util/grub-mkconfig_lib.in (grub_warn): New function.
33894 (convert_system_path_to_grub_path): Use grub_warn() when issuing
33895 warnings, to obtain consistent formatting.
33896 * util/grub.d/00_header.in: Likewise.
33897 * util/update-grub_lib.in: Likewise.
33898
33899 * loader/i386/linux.c (allocate_pages): Fix a warning.
33900 Move comment text to `#error' stanza.
33901
33902 Harmonize ieee1275's grub_available_iterate() with the generic
33903 grub_machine_mmap_iterate() interface (fixes a recently-introduced
33904 build problem on i386-ieee1275):
33905 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
33906 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
33907 parameter `type'. Update all users of this function.
33908 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33909 `kern/ieee1275/mmap.c'.
33910 * kern/ieee1275/init.c
33911 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
33912 with ...
33913 (grub_machine_mmap_iterate): ... this.
33914 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
33915 return type to `grub_err_t'. Update all implementations of this
33916 function prototype.
33917 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
33918 Likewise.
33919
33920 Add `lsmmap' command (lists firmware-provided memory map):
33921 * commands/lsmmap.c: New file.
33922 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
33923 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
33924 variables.
33925 * conf/powerpc-ieee1275.rmk: Likewise.
33926 * conf/i386-coreboot.rmk: Likewise.
33927 * conf/i386-ieee1275.rmk: Likewise.
33928
33929 2008-11-19 Robert Millan <rmh@aybabtu.com>
33930
33931 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
33932 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
33933 constraints to initrd allocation (based on code from
33934 loader/i386/pc/linux.c). Without them, initrd was allocated too high
33935 for Linux to find it.
33936
33937 2008-11-14 Robert Millan <rmh@aybabtu.com>
33938
33939 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
33940 order to cope with duplicate slashes.
33941
33942 2008-11-14 Robert Millan <rmh@aybabtu.com>
33943
33944 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
33945 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
33946 don't want to mess with lower memory, because it is used in the Linux
33947 loader.
33948
33949 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
33950 an appropriate place in lower memory, between 0x10000 and 0x90000,
33951 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
33952 is in our heap (probably as a result of it being corrupted during
33953 decompression). Add #error instance with comment to explain why this
33954 loader isn't currently usable on PC/BIOS.
33955
33956 2008-11-14 Robert Millan <rmh@aybabtu.com>
33957
33958 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
33959 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
33960
33961 2008-11-12 Robert Millan <rmh@aybabtu.com>
33962
33963 Make loader/i386/linux.c buildable on i386-pc (although disabled).
33964
33965 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
33966 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
33967 from here ...
33968 * include/grub/i386/pc/memory.h: ... to here.
33969
33970 2008-11-12 Robert Millan <rmh@aybabtu.com>
33971
33972 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
33973 split).
33974
33975 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
33976 (grub_console_cur_color, grub_console_real_putchar)
33977 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33978 (grub_console_setcolorstate, grub_console_setcolor)
33979 (grub_console_getcolor): Move from here ...
33980 * include/grub/i386/vga_common.h: ... to here (new file).
33981
33982 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
33983 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
33984 `<grub/i386/io.h>'.
33985 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
33986 `<grub/i386/vga_common.h>'.
33987
33988 2008-11-12 Robert Millan <rmh@aybabtu.com>
33989
33990 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
33991 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
33992 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
33993 variables.
33994 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33995 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
33996
33997 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
33998 grub_console_init() with call to grub_vga_text_init().
33999 (grub_machine_fini): Replace call to
34000 grub_console_fini() with call to grub_vga_text_fini() and
34001 grub_at_keyboard_fini().
34002
34003 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
34004 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
34005 (grub_console_setcolorstate, grub_console_setcolor)
34006 (grub_console_getcolor): New function prototypes.
34007
34008 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
34009 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
34010 (grub_vga_text_setcursor): Static-ize.
34011 (grub_vga_text_term): New structure.
34012 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
34013
34014 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
34015 (grub_console_cur_color, grub_console_standard_color)
34016 (grub_console_normal_color, grub_console_highlight_color)
34017 (map_char, grub_console_putchar, grub_console_getcharwidth)
34018 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
34019 (grub_console_getcolor): Move from here ...
34020 * term/i386/vga_common.c: ... to here (same function names).
34021
34022 2008-11-12 Robert Millan <rmh@aybabtu.com>
34023
34024 Use newly-added Multiboot support in coreboot.
34025
34026 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
34027 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
34028
34029 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
34030 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
34031 (codestart): Store the MBI in `startup_multiboot_info' when we're
34032 being loaded using Multiboot.
34033
34034 * kern/i386/coreboot/init.c (grub_machine_init): Move
34035 grub_at_keyboard_init() call to beginning of function (useful for
34036 debugging). Call grub_machine_mmap_init() before attempting to use
34037 grub_machine_mmap_iterate().
34038 (grub_lower_mem, grub_upper_mem): Move from here ...
34039 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
34040 here (new file).
34041
34042 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
34043 function prototype.
34044
34045 2008-11-12 Robert Millan <rmh@aybabtu.com>
34046
34047 Fix a regression introduced by the at_keyboard.mod split. Because
34048 some terminals are default on some platforms and non-default on
34049 others, the first terminal being registered determines which is
34050 going to be default.
34051
34052 * kern/term.c (grub_term_register_input): If this is the first
34053 terminal being registered, set it as the current one.
34054 (grub_term_register_output): Likewise.
34055
34056 * term/efi/console.c (grub_console_init): Do not call
34057 grub_term_set_current_output() or grub_term_set_current_input().
34058 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
34059 * term/i386/pc/console.c (grub_console_init): Likewise.
34060 (grub_console_fini): Do not call grub_term_set_current_input()
34061 (but leave grub_term_set_current_output() to restore text mode).
34062
34063 2008-11-10 Robert Millan <rmh@aybabtu.com>
34064
34065 * util/grub.d/00_header.in: Add backward compatibility check for
34066 versions of terminal.mod that don't understand `terminal_input' or
34067 `terminal_output'.
34068
34069 2008-11-09 Robert Millan <rmh@aybabtu.com>
34070
34071 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
34072 `terminal_input' / `terminal_output', not `terminal'.
34073
34074 2008-11-08 Robert Millan <rmh@aybabtu.com>
34075
34076 * Makefile.in (include_DATA): Fix srcdir=. assumption.
34077 (DISTCLEANFILES): Add `build_env.mk'.
34078
34079 2008-11-08 Robert Millan <rmh@aybabtu.com>
34080
34081 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
34082 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
34083 members. Update all users.
34084 * util/console.c (grub_ncurses_term): Split in ...
34085 (grub_ncurses_term_input): ... this, and ...
34086 (grub_ncurses_term_output): ... this. Update all users.
34087 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
34088
34089 2008-11-08 Robert Millan <rmh@aybabtu.com>
34090
34091 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
34092 (PKGDATA): Add $(pkgdata_SRCDIR).
34093 (pkglib_BUILDDIR): New variable.
34094 (pkgdata_SRCDIR): New variable.
34095 (build_env.mk): New target.
34096 (include_DATA): New variable.
34097 (install-local): Install $(include_DATA) files in $(includedir).
34098
34099 2008-11-07 Pavel Roskin <proski@gnu.org>
34100
34101 * gendistlist.sh: Use C locale for sorting to ensure consistent
34102 output on all systems.
34103
34104 * util/grub.d/00_header.in: Remove incorrect space before
34105 "serial".
34106
34107 2008-11-07 Robert Millan <rmh@aybabtu.com>
34108
34109 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
34110 per specification.
34111 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
34112 * loader/multiboot_loader.c (find_multi_boot2_header): New function
34113 (based on find_multi_boot1_header).
34114 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
34115 using find_multi_boot2_header(), and abort if neither Multiboot or
34116 Multiboot headers were found.
34117
34118 2008-11-07 Robert Millan <rmh@aybabtu.com>
34119
34120 Modularize at_keyboard.mod:
34121
34122 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
34123 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
34124 (at_keyboard_mod_LDFLAGS): New variables.
34125
34126 Actual terminal split:
34127
34128 * include/grub/term.h (struct grub_term): Split in ...
34129 (struct grub_term_input): ... this, and ...
34130 (struct grub_term_output): ... this. Update all users.
34131 (grub_term_set_current): Split in ...
34132 (grub_term_set_current_input): ... this, and ...
34133 (grub_term_set_current_output): ... this.
34134 (grub_term_get_current): Split in ...
34135 (grub_term_get_current_input): ... this, and ...
34136 (grub_term_get_current_output): ... this.
34137 (grub_term_register): Split in ...
34138 (grub_term_register_input): ... this, and ...
34139 (grub_term_register_output): ... this.
34140 (grub_term_unregister): Split in ...
34141 (grub_term_unregister_input): ... this, and ...
34142 (grub_term_unregister_output): ... this.
34143 (grub_term_iterate): Split in ...
34144 (grub_term_iterate_input): ... this, and ...
34145 (grub_term_iterate_output): ... this.
34146
34147 * kern/term.c (grub_term_list): Split in ...
34148 (grub_term_list_input): ... this, and ...
34149 (grub_term_list_output): ... this. Update all users.
34150 (grub_cur_term): Split in ...
34151 (grub_cur_term_input): ... this, and ...
34152 (grub_cur_term_output): ... this. Update all users.
34153 (grub_term_set_current): Split in ...
34154 (grub_term_set_current_input): ... this, and ...
34155 (grub_term_set_current_output): ... this.
34156 (grub_term_get_current): Split in ...
34157 (grub_term_get_current_input): ... this, and ...
34158 (grub_term_get_current_output): ... this.
34159 (grub_term_register): Split in ...
34160 (grub_term_register_input): ... this, and ...
34161 (grub_term_register_output): ... this.
34162 (grub_term_unregister): Split in ...
34163 (grub_term_unregister_input): ... this, and ...
34164 (grub_term_unregister_output): ... this.
34165 (grub_term_iterate): Split in ...
34166 (grub_term_iterate_input): ... this, and ...
34167 (grub_term_iterate_output): ... this.
34168
34169 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
34170 a check for input and one for output (and only attempt to get keys
34171 from user when input works).
34172
34173 * util/grub-probe.c (grub_term_get_current): Split in ...
34174 (grub_term_get_current_input): ... this, and ...
34175 (grub_term_get_current_output): ... this.
34176 * util/grub-fstest.c: Likewise.
34177 * util/i386/pc/grub-setup.c: Likewise.
34178 * util/grub-editenv.c: Likewise.
34179
34180 Portability adjustments:
34181
34182 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
34183 `term/i386/pc/at_keyboard.c'.
34184 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
34185 grub_keyboard_controller_init() (now handled by terminal .init).
34186 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
34187 grub_at_keyboard_init().
34188 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
34189 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
34190 at_keyboard.mod via input terminal interface).
34191 * include/grub/i386/coreboot/console.h: Convert into a stub for
34192 `<grub/i386/pc/console.h>'.
34193
34194 Migrate full terminals to new API:
34195
34196 * term/efi/console.c (grub_console_term): Split into ...
34197 (grub_console_term_input): ... this, and ...
34198 (grub_console_term_output): ... this. Update all users.
34199 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
34200 (grub_ofconsole_init): Split into ...
34201 (grub_ofconsole_init_input): ... this, and ...
34202 (grub_ofconsole_init_output): ... this.
34203 (grub_ofconsole_term): Split into ...
34204 (grub_ofconsole_term_input): ... this, and ...
34205 (grub_ofconsole_term_output): ... this. Update all users.
34206 * term/i386/pc/serial.c (grub_serial_term): Split into ...
34207 (grub_serial_term_input): ... this, and ...
34208 (grub_serial_term_output): ... this. Update all users.
34209 * term/i386/pc/console.c (grub_console_term): Split into ...
34210 (grub_console_term_input): ... this, and ...
34211 (grub_console_term_output): ... this. Update all users.
34212 (grub_console_term_input): Only enable it on PC/BIOS platform.
34213 (grub_console_init): Remove grub_keyboard_controller_init() call.
34214
34215 Migrate input terminals to new API:
34216
34217 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
34218 `i386' and `i386/pc' to enable build on x86_64 (this driver is
34219 i386-specific anyway).
34220 (grub_console_checkkey): Rename to ...
34221 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
34222 users.
34223 (grub_keyboard_controller_orig): New variable.
34224 (grub_console_getkey): Rename to ...
34225 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
34226 users.
34227 (grub_keyboard_controller_init): Static-ize. Save original
34228 controller value so that it can be restored ...
34229 (grub_keyboard_controller_fini): ... here (new function).
34230 (grub_at_keyboard_term): New structure.
34231 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
34232 functions.
34233
34234 Migrate output terminals to new API:
34235
34236 * term/i386/pc/vga.c (grub_vga_term): Change type to
34237 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
34238 members. Update all users.
34239 * term/gfxterm.c (grub_video_term): Change type to
34240 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
34241 members. Update all users.
34242 * include/grub/i386/pc/console.h (grub_console_checkkey)
34243 (grub_console_getkey): Do not export (no longer needed by gfxterm,
34244 etc).
34245
34246 Migrate `terminal' command and userland tools to new API:
34247
34248 * commands/terminal.c (grub_cmd_terminal): Split into ...
34249 (grub_cmd_terminal_input): ... this, and ...
34250 (grub_cmd_terminal_output): ... this.
34251 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
34252 `terminal_input' and `terminal_output'.
34253 * util/grub.d/00_header.in: Adjust `terminal' calls to new
34254 `terminal_input' / `terminal_output' API.
34255 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
34256 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
34257 provided ${GRUB_TERMINAL}, convert it).
34258
34259 2008-11-04 Robert Millan <rmh@aybabtu.com>
34260
34261 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
34262 for FreeBSD.
34263 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
34264
34265 2008-11-03 Bean <bean123ch@gmail.com>
34266
34267 * kern/elf.c (grub_elf32_load): Revert to previous code.
34268 (grub_elf64_load): Likewise.
34269
34270 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
34271
34272 2008-11-01 Robert Millan <rmh@aybabtu.com>
34273
34274 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
34275 (TARGET_CPPFLAGS): Likewise.
34276 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
34277
34278 2008-11-01 Carles Pina i Estany <carles@pina.cat>
34279
34280 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
34281
34282 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
34283
34284 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
34285 addition of objects until the code is not going to be able to fail.
34286
34287 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
34288
34289 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
34290 (add a missing NULL check, and correct them by moving the pointer
34291 operations after the actual check).
34292
34293 2008-10-29 Robert Millan <rmh@aybabtu.com>
34294
34295 * util/i386/pc/grub-install.in: Handle empty string as output from
34296 make_system_path_relative_to_its_root().
34297
34298 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
34299
34300 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
34301 circular metadata worst case scenario. If the metadata is circular
34302 then copy the wrap in place.
34303 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
34304 project lib/format_text/layout.h
34305 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
34306
34307 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
34308
34309 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
34310
34311 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
34312
34313 * util/update-grub_lib.in: Mention filename in warning message.
34314
34315 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
34316
34317 * NEWS: Update for rename of update-grub to grub-mkconfig.
34318
34319 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
34320
34321 * util/update-grub_lib.in: Copy to ...
34322 * util/grub-mkconfig_lib.in: ... this. Update all users.
34323 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
34324 * util/update-grub.in: Rename to ...
34325 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
34326 option. Add `--output' option to allow users to specify the generated
34327 configuration file. Default to stdout.
34328 (update_grub_dir): Rename to ...
34329 (grub_mkconfig_dir): ... this.
34330 (grub_cfg): Default to an empty string.
34331 * conf/common.rmk (update-grub): Rename to ...
34332 (grub-mkconfig): ... this.
34333 (update-grub_lib): Copy to ...
34334 (grub-mkconfig_lib): ... this.
34335 (update-grub_SCRIPTS): Copy to ...
34336 (grub-mkconfig_SCRIPTS): ... this. Update all users.
34337 (update-grub_DATA): Rename to ...
34338 (grub-mkconfig_DATA): ... this.
34339
34340 2008-09-28 Robert Millan <rmh@aybabtu.com>
34341
34342 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
34343 to `modified'. Add the real `created' field.
34344 (grub_iso9660_uuid): Use `modified' rather than `created' for
34345 constructing the UUID.
34346
34347 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
34348
34349 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
34350 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
34351
34352 2008-09-28 Bean <bean123ch@gmail.com>
34353
34354 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
34355 Thanks to Christian Franke for finding this bug.
34356
34357 2008-09-25 Robert Millan <rmh@aybabtu.com>
34358
34359 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
34360 instances of grub_util_get_disk_name() (see previous commit).
34361
34362 2008-09-25 Robert Millan <rmh@aybabtu.com>
34363
34364 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
34365 `util/i386/get_disk_name.c'.
34366 * conf/i386-efi.rmk: Likewise.
34367 * conf/x86_64-efi.rmk: Likewise.
34368 * conf/i386-coreboot.rmk: Likewise.
34369 * conf/i386-ieee1275.rmk: Likewise.
34370 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
34371 `util/ieee1275/get_disk_name.c'.
34372 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
34373 * util/ieee1275/get_disk_name.c: Remove file.
34374 * util/i386/get_disk_name.c: Remove file.
34375 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
34376 "hd%d" for device.map entries, rather than using
34377 grub_util_get_disk_name().
34378
34379 2008-09-24 Carles Pina i Estany <carles@pina.cat>
34380
34381 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
34382 warning.
34383 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
34384
34385 2008-09-24 Carles Pina i Estany <carles@pina.cat>
34386
34387 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
34388 Changed to 0x5100.
34389 (GRUB_TERM_PPAGE): Changed to 0x4900.
34390
34391 2008-09-24 Robert Millan <rmh@aybabtu.com>
34392
34393 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
34394 macros (they were i386-pc specific).
34395 * include/grub/sparc64/ieee1275/console.h: Likewise.
34396 * include/grub/efi/console.h: Likewise.
34397
34398 2008-09-22 Bean <bean123ch@gmail.com>
34399
34400 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
34401 resident and in attribute list.
34402
34403 * include/grub/ntfs.h (BMP_LEN): Removed.
34404
34405 2008-09-22 Bean <bean123ch@gmail.com>
34406
34407 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
34408 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
34409
34410 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
34411 error occurs, as grub_disk_open will call grub_disk_close, which will
34412 call p->close (scsi).
34413
34414 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
34415
34416 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
34417 (AC_PREREQ): Bumped to 2.59.
34418 (AC_TRY_COMPILE): Replace obsolete macro with ...
34419 (AC_COMPILE_IFELSE): ... this.
34420 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
34421 (AC_LINK_IFELSE): ... this.
34422
34423 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
34424
34425 * autogen.sh: Add a call to `gendistlist.sh'.
34426
34427 2008-09-19 Christian Franke <franke@computer.org>
34428
34429 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
34430 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
34431 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
34432 Export __enable_execute_stack() to modules.
34433 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
34434 New function.
34435
34436 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
34437
34438 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
34439 Sort the list.
34440
34441 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
34442
34443 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
34444 #include <grub/util/hostdisk.h>.
34445
34446 2008-09-08 Robert Millan <rmh@aybabtu.com>
34447
34448 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
34449 segments when their filesz is zero (grub_file_read() interprets
34450 zero-size as "read until EOF", which results in memory corruption).
34451 Use `lowest_segment' rather than 0 for calculating the current
34452 segment load address.
34453
34454 2008-09-08 Robert Millan <rmh@aybabtu.com>
34455
34456 * util/hostdisk.c (open_device): Replace a grub_util_info() call
34457 with grub_dprintf("hostdisk", ...), as it was so verbose that it
34458 clobbered useful information.
34459
34460 2008-09-08 Robert Millan <rmh@aybabtu.com>
34461
34462 * include/grub/util/biosdisk.h: Move to ...
34463 * include/grub/util/hostdisk.h: ... here. Update all users.
34464 * util/biosdisk.c: Move to ...
34465 * util/hostdisk.c: ... here. Update all users.
34466
34467 2008-09-07 Robert Millan <rmh@aybabtu.com>
34468
34469 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
34470 variables.
34471 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
34472 and length can be stored directly in the `mbi->mmap_addr' and
34473 `mbi->mmap_length' struct fields.
34474
34475 2008-09-07 Robert Millan <rmh@aybabtu.com>
34476
34477 * conf/i386.rmk: New file. Provides declaration for building
34478 `cpuid.mod'.
34479 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
34480 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
34481 variables.
34482 Include `conf/i386.mk'.
34483 * conf/i386-efi.rmk: Likewise.
34484 * conf/x86_64-efi.rmk: Likewise.
34485 * conf/i386-coreboot.rmk: Likewise.
34486 * conf/i386-ieee1275.rmk: Likewise.
34487
34488 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
34489
34490 Based on patch created by Colin D Bennett <colin@gibibit.com>.
34491 Adds optimization support for BGR based modes.
34492
34493 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
34494 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
34495 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34496 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34497 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34498 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34499 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34500 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34501 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34502 (grub_video_i386_vbeblit_index_index): Likewise.
34503 (grub_video_i386_vbeblit_replace_directN): Added.
34504 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
34505 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
34506 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
34507 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
34508 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34509 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
34510 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
34511 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34512 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34513 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34514 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34515 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34516 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
34517
34518 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
34519 (grub_video_i386_vbefill_R8G8B8): Likewise.
34520 (grub_video_i386_vbefill_index): Likewise.
34521 (grub_video_i386_vbefill_direct32): Added.
34522 (grub_video_i386_vbefill_direct24): Likewise.
34523 (grub_video_i386_vbefill_direct16): Likewise.
34524 (grub_video_i386_vbefill_direct8): Likewise.
34525
34526 * include/grub/video.h (grub_video_blit_format): Removed
34527 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
34528 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
34529 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
34530 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
34531 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
34532
34533 * video/video.c (grub_video_get_blit_format): Updated to use new
34534 blit formats. Added handling for 16 bit color modes.
34535
34536 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
34537 fillers.
34538 (common_blitter): Updated to use new blitters.
34539
34540 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
34541 Removed.
34542 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
34543 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34544 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34545 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34546 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34547 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34548 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34549 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34550 (grub_video_i386_vbeblit_index_index): Likewise.
34551 (grub_video_i386_vbeblit_replace_directN): Added.
34552 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
34553 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
34554 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
34555 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
34556 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34557 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
34558 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
34559 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34560 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34561 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34562 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34563 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34564 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
34565
34566 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
34567 (grub_video_i386_vbefill_R8G8B8): Likewise.
34568 (grub_video_i386_vbefill_index): Likewise.
34569 (grub_video_i386_vbefill_direct32): Added.
34570 (grub_video_i386_vbefill_direct24): Likewise.
34571 (grub_video_i386_vbefill_direct16): Likewise.
34572 (grub_video_i386_vbefill_direct8): Likewise.
34573
34574 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
34575 types.
34576
34577 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
34578 types.
34579
34580 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
34581 blitter types.
34582
34583 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
34584 types.
34585
34586 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
34587
34588 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
34589 RAID level 1.
34590
34591 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
34592
34593 * fs/iso9660.c (grub_iso9660_date): New structure.
34594 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
34595 (grub_iso9660_uuid): New function.
34596
34597 2008-09-05 Bean <bean123ch@gmail.com>
34598
34599 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
34600
34601 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
34602 insensitive bit for names in Win32 and Win32 & DOS namespace.
34603
34604 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
34605
34606 * include/grub/types.h (LONG_MAX): Likewise.
34607
34608 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
34609
34610 * util/getroot.c: Include <config.h>.
34611 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
34612 add support for /dev/md/N devices and handle LVM double dash escaping.
34613
34614 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
34615
34616 * config.guess: Update to latest version from config git.
34617 * config.sub: Likewise.
34618
34619 2008-09-03 Robert Millan <rmh@aybabtu.com>
34620
34621 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
34622 `disk->total_sectors'.
34623
34624 2008-09-01 Colin D Bennett <colin@gibibit.com>
34625
34626 * include/grub/normal.h: Fixed incorrect comment for
34627 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
34628
34629 2008-09-01 Colin D Bennett <colin@gibibit.com>
34630
34631 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
34632 values with defines.
34633
34634 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
34635 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
34636 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
34637 (GRUB_VBE_MODEATTR_COLOR): Likewise.
34638 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
34639 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
34640 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
34641 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
34642 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
34643 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
34644 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
34645 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
34646 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
34647 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
34648 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
34649 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
34650 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
34651 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
34652 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
34653
34654 2008-08-31 Robert Millan <rmh@aybabtu.com>
34655
34656 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
34657 declaration.
34658 (grub_multiboot): Fix a few warnings.
34659
34660 2008-08-31 Robert Millan <rmh@aybabtu.com>
34661
34662 * loader/i386/pc/multiboot.c: Update comment not to say that
34663 boot_device support is unimplemented.
34664
34665 2008-08-31 Robert Millan <rmh@aybabtu.com>
34666
34667 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
34668 or memory map support are unimplemented.
34669
34670 2008-08-31 Colin D Bennett <colin@gibibit.com>
34671
34672 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
34673
34674 2008-08-31 Colin D Bennett <colin@gibibit.com>
34675
34676 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
34677 total video memory in 'vbeinfo' output; show color format details for
34678 each video mode.
34679
34680 2008-08-30 Pavel Roskin <proski@gnu.org>
34681
34682 * util/genmoddep.c: Remove for real this time.
34683 * DISTLIST: Remove util/genmoddep.c.
34684
34685 2008-08-30 Robert Millan <rmh@aybabtu.com>
34686
34687 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
34688 as required by Multiboot spec (it was already 4-byte aligned, but
34689 only by chance).
34690
34691 2008-08-29 Pavel Roskin <proski@gnu.org>
34692
34693 * kern/powerpc/ieee1275/crt0.S: Rename to ...
34694 * kern/powerpc/ieee1275/startup.S: ... this.
34695 * conf/powerpc-ieee1275.rmk: Adjust for the above.
34696 * DISTLIST: Likewise.
34697
34698 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
34699 grub/cpu/kernel.h. Add start label for consistency with other
34700 platforms. Add grub_prefix immediately after start. Add jump
34701 to the code after grub_prefix.
34702 * include/grub/powerpc/kernel.h: Provide valid values for
34703 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
34704
34705 2008-08-29 Bean <bean123ch@gmail.com>
34706
34707 * configure.ac: Change host_os to cygwin for mingw.
34708 (asprintf): New check for function.
34709
34710 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
34711 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
34712
34713 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
34714 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
34715 sync, sleep and grub_util_get_disk_size for mingw.
34716
34717 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
34718 to get size in mingw.
34719 (open_device): Use flag O_BINARY if it's defined.
34720 (find_root_device): Add dummy code for mingw.
34721
34722 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
34723 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
34724 (get_scsi_disk_name): Return 0 for mingw.
34725
34726 * util/hostfs.c: #include <grub/util/misc.h>.
34727 (grub_hostfs_open): Use "rb" flag to open file, use
34728 grub_util_get_disk_size to get disk size for mingw.
34729
34730 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
34731 (asprintf): New function if HAVE_ASPRINTF is not set.
34732 (sync): New function for mingw.
34733 (sleep): Likewise.
34734 (grub_util_get_disk_size): Likewise.
34735
34736 2008-08-28 Pavel Roskin <proski@gnu.org>
34737
34738 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34739 kern/time.c.
34740
34741 2008-08-28 Robert Millan <rmh@aybabtu.com>
34742
34743 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
34744
34745 2008-08-28 Robert Millan <rmh@aybabtu.com>
34746
34747 Change find_grub_drive() syntax so it doesn't prevent it from
34748 detecting NULL names as errors.
34749
34750 * util/biosdisk.c (find_grub_drive): Move free slot search code
34751 from here ...
34752 (find_free_slot): ... to here.
34753 (read_device_map): Use find_free_slot() to search for free slots.
34754
34755 2008-08-27 Marco Gerards <marco@gnu.org>
34756
34757 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
34758 (scsi_mod_SOURCES): New variable.
34759 (scsi_mod_CFLAGS): Likewise
34760 (scsi_mod_LDFLAGS): Likewise.
34761
34762 * disk/scsi.c: New file.
34763
34764 * include/grub/scsi.h: Likewise.
34765
34766 * include/grub/scsicmd.h: Likewise.
34767
34768 * disk/ata.c: Include <grub/scsi.h>.
34769 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
34770 instead.
34771 (grub_ata_iterate): Skip ATAPI devices.
34772 (grub_ata_open): Only handle ATAPI devices.
34773 (struct grub_atapi_read): Removed.
34774 (grub_atapi_readsector): Likewise.
34775 (grub_ata_read): No longer handle ATAPI devices.
34776 (grub_ata_write): Likewise.
34777 (grub_atapi_iterate): New function.
34778 (grub_atapi_read): Likewise.
34779 (grub_atapi_write): Likewise.
34780 (grub_atapi_open): Likewise.
34781 (grub_atapi_close): Likewise.
34782 (grub_atapi_dev): New variable.
34783 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
34784 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
34785
34786 * include/grub/disk.h (enum grub_disk_dev_id): Add
34787 `GRUB_DISK_DEVICE_SCSI_ID'.
34788
34789 2008-08-26 Robert Millan <rmh@aybabtu.com>
34790
34791 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
34792 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
34793 descriptive.
34794
34795 2008-08-23 Bean <bean123ch@gmail.com>
34796
34797 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
34798 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34799 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
34800 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
34801 dm_nv.mod.
34802 (raid5rec_mod_SOURCES): New macro.
34803 (raid5rec_mod_CFLAGS): Likewise.
34804 (raid5rec_mod_LDFLAGS): Likewise.
34805 (raid6rec_mod_SOURCES): Likewise.
34806 (raid6rec_mod_CFLAGS): Likewise.
34807 (raid6rec_mod_LDFLAGS): Likewise.
34808 (mdraid_mod_SOURCES): Likewise.
34809 (mdraid_mod_CFLAGS): Likewise.
34810 (mdraid_mod_LDFLAGS): Likewise.
34811 (dm_nv_mod_SOURCES): Likewise.
34812 (dm_nv_mod_CFLAGS): Likewise.
34813 (dm_nv_mod_LDFLAGS): Likewise.
34814
34815 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
34816 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34817 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34818
34819 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
34820 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34821
34822 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34823
34824 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34825
34826 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34827
34828 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34829
34830 * disk/raid5_recover.c: New file.
34831
34832 * disk/raid6_recover.c: Likewise.
34833
34834 * disk/mdraid_linux.c: Likewise.
34835
34836 * disk/dmraid_nvidia.c: Likewise.
34837
34838 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
34839 ULONG_MAX.
34840
34841 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
34842 calculate the size of raid device.
34843 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
34844 different layout of raid5.
34845 (grub_raid_scan_device): Remove code specific to mdraid.
34846 (grub_raid_list): New variable.
34847 (free_array): New function.
34848 (grub_raid_register): Likewise.
34849 (grub_raid_unregister): Likewise.
34850 (grub_raid_rescan): Likewise.
34851 (GRUB_MOD_INIT): Don't iterate device here.
34852 (GRUB_MOD_FINI): Use free_array to release resource.
34853
34854 * include/grub/raid.h: Remove macro and structure specific to mdraid.
34855 (grub_raid5_recover_func_t): New function variable type.
34856 (grub_raid6_recover_func_t): Likewise.
34857 (grub_raid5_recover_func): New variable.
34858 (grub_raid6_recover_func): Likewise.
34859 (grub_raid_register): New function.
34860 (grub_raid_unregister): Likewise.
34861 (grub_raid_rescan): Likewise.
34862 (grub_raid_block_xor): Likewise.
34863
34864 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
34865 (CMD_CRC): New macro.
34866 (part): Removed.
34867 (read_file): Handle device as well as file.
34868 (cmd_crc): New function.
34869 (fstest): Handle multiple disks.
34870 (options): Remove part, raw and long, add root and diskcount.
34871 (usage): Add crc, remove -p, -r, -l, add -r and -c.
34872 (main): Find the first non option entry and ignore subsequent options,
34873 add handling for the new options, support multiple disks.
34874
34875 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
34876
34877 2008-08-23 Bean <bean123ch@gmail.com>
34878
34879 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
34880
34881 * genfslist.sh: Ignore kernel.mod.
34882
34883 * genpartmaplist.sh: Likewise.
34884
34885 2008-08-23 Robert Millan <rmh@aybabtu.com>
34886
34887 * util/getroot.c (find_root_device): Skip anything that starts with
34888 a dot, not just directories. This avoids things like /dev/.tmp.md0.
34889
34890 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
34891
34892 * util/update-grub.in (GRUB_GFXMODE): Export variable.
34893 * util/grub.d/00_header.in: Allow the administrator to change default
34894 gfxmode via ${GRUB_GFXMODE}.
34895
34896 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
34897
34898 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
34899
34900 2008-08-21 Robert Millan <rmh@aybabtu.com>
34901
34902 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
34903 loader.
34904 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
34905 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
34906
34907 2008-08-20 Carles Pina i Estany <carles@pina.cat>
34908
34909 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
34910 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
34911
34912 2008-08-19 Robert Millan <rmh@aybabtu.com>
34913
34914 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
34915 (struct grub_virtual_screen): Remove `cursor_color'.
34916 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
34917 initialization.
34918 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
34919
34920 2008-08-18 Robert Millan <rmh@aybabtu.com>
34921
34922 Unify (identical) linux_normal.c files.
34923 * loader/i386/efi/linux_normal.c: Move from here ...
34924 * loader/linux_normal.c: ... to here. Update all users.
34925 * loader/i386/pc/linux_normal.c: Delete. Update all users.
34926 * loader/i386/ieee1275/linux_normal.c: Likewise.
34927
34928 2008-08-18 Robert Millan <rmh@aybabtu.com>
34929
34930 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
34931 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
34932 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
34933 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
34934 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
34935 New macros.
34936 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
34937 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
34938 (GRUB_LINUX_CL_END_OFFSET): ... to here.
34939 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
34940 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
34941 (GRUB_EFI_CL_END_OFFSET): Rename to ...
34942 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
34943 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
34944 Initialize `params->video_cursor_x' and `params->video_cursor_y'
34945 portably using grub_getxy().
34946 Replace `-EFI' with `-bzImage' in boot message.
34947
34948 2008-08-17 Robert Millan <rmh@aybabtu.com>
34949
34950 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
34951
34952 2008-08-17 Robert Millan <rmh@aybabtu.com>
34953
34954 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
34955
34956 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
34957 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
34958 (grub_machine_mmap_iterate): New function declaration.
34959 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
34960 structure.
34961 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
34962 macros.
34963
34964 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
34965 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
34966 Move e820 parsing from here ...
34967 * kern/i386/pc/mmap.c: New file.
34968 (grub_machine_mmap_iterate): ... to here.
34969
34970 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
34971 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
34972 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
34973 (grub_available_iterate): Redeclare to return `void', and redeclare
34974 its hook to use grub_uint64_t as addr and size parameters, and rename
34975 to ...
34976 (grub_machine_mmap_iterate): ... this. Update all users.
34977
34978 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
34979 to make it more readable. Rename to ...
34980 (grub_machine_mmap_iterate): ... this.
34981
34982 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
34983 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
34984 (grub_multiboot): Allocate an extra region after the payload, and fill
34985 it with a Multiboot memory map. Adjust a.out loader to calculate size
34986 with the extra space.
34987 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
34988 with the extra space.
34989
34990 2008-08-17 Carles Pina i Estany <carles@pina.cat>
34991
34992 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
34993
34994 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
34995
34996 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
34997 mdate-sh to the list `find' searches for.
34998 * DISTLIST: Regenerated.
34999
35000 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
35001
35002 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
35003 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
35004 genmoddep.awk, gensymlist.sh.in.
35005 (DISTDIRS): Add bus, docs, hook, lib.
35006 * DISTLIST: Regenerated.
35007 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
35008
35009 2008-08-16 Robert Millan <rmh@aybabtu.com>
35010
35011 * disk/raid.c (grub_raid_init): Handle/report errors set by
35012 grub_device_iterate().
35013 * disk/lvm.c (grub_lvm_init): Likewise.
35014
35015 2008-08-15 Bean <bean123ch@gmail.com>
35016
35017 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35018 and datehook.mod.
35019 (datetime_mod_SOURCES): New macro.
35020 (datetime_mod_CFLAGS): Likewise.
35021 (datetime_mod_LDFLAGS): Likewise.
35022 (date_mod_SOURCES): Likewise.
35023 (date_mod_CFLAGS): Likewise.
35024 (date_mod_LDFLAGS): Likewise.
35025 (datehook_mod_SOURCES): Likewise.
35026 (datehook_mod_CFLAGS): Likewise.
35027 (datehook_mod_LDFLAGS): Likewise.
35028
35029 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35030 and datehook.mod.
35031 (datetime_mod_SOURCES): New macro.
35032 (datetime_mod_CFLAGS): Likewise.
35033 (datetime_mod_LDFLAGS): Likewise.
35034 (date_mod_SOURCES): Likewise.
35035 (date_mod_CFLAGS): Likewise.
35036 (date_mod_LDFLAGS): Likewise.
35037 (datehook_mod_SOURCES): Likewise.
35038 (datehook_mod_CFLAGS): Likewise.
35039 (datehook_mod_LDFLAGS): Likewise.
35040
35041 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35042 and datehook.mod.
35043 (datetime_mod_SOURCES): New macro.
35044 (datetime_mod_CFLAGS): Likewise.
35045 (datetime_mod_LDFLAGS): Likewise.
35046 (date_mod_SOURCES): Likewise.
35047 (date_mod_CFLAGS): Likewise.
35048 (date_mod_LDFLAGS): Likewise.
35049 (datehook_mod_SOURCES): Likewise.
35050 (datehook_mod_CFLAGS): Likewise.
35051 (datehook_mod_LDFLAGS): Likewise.
35052
35053 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35054 and datehook.mod.
35055 (datetime_mod_SOURCES): New macro.
35056 (datetime_mod_CFLAGS): Likewise.
35057 (datetime_mod_LDFLAGS): Likewise.
35058 (date_mod_SOURCES): Likewise.
35059 (date_mod_CFLAGS): Likewise.
35060 (date_mod_LDFLAGS): Likewise.
35061 (datehook_mod_SOURCES): Likewise.
35062 (datehook_mod_CFLAGS): Likewise.
35063 (datehook_mod_LDFLAGS): Likewise.
35064
35065 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35066 and datehook.mod.
35067 (datetime_mod_SOURCES): New macro.
35068 (datetime_mod_CFLAGS): Likewise.
35069 (datetime_mod_LDFLAGS): Likewise.
35070 (date_mod_SOURCES): Likewise.
35071 (date_mod_CFLAGS): Likewise.
35072 (date_mod_LDFLAGS): Likewise.
35073 (datehook_mod_SOURCES): Likewise.
35074 (datehook_mod_CFLAGS): Likewise.
35075 (datehook_mod_LDFLAGS): Likewise.
35076
35077 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
35078
35079 * commands/date.c: New file.
35080
35081 * hook/datehook.c: Likewise.
35082
35083 * include/grub/lib/datetime.h: Likewise.
35084
35085 * include/grub/i386/cmos.h: Likewise.
35086
35087 * lib/datetime.c: Likewise.
35088
35089 * lib/i386/datetime.c: Likewise.
35090
35091 * lib/efi/datetime.c: Likewise.
35092
35093 2008-08-14 Robert Millan <rmh@aybabtu.com>
35094
35095 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
35096 (grub_mkelfimage_SOURCES): New variable.
35097 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
35098
35099 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
35100 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
35101 * conf/powerpc-ieee1275.rmk: Likewise.
35102 * conf/i386-ieee1275.rmk: Likewise.
35103
35104 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
35105 * kern/i386/coreboot/init.c: Likewise.
35106
35107 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
35108 with `<grub/cpu/kernel.h>'.
35109 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
35110 to ...
35111 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
35112 * kern/i386/coreboot/startup.S: Likewise.
35113
35114 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
35115 (GRUB_MOD_GAP): Remove.
35116 * include/grub/powerpc/kernel.h: New file.
35117 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
35118 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
35119 * include/grub/i386/kernel.h: New file.
35120 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
35121 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
35122 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
35123
35124 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
35125 `grub-mkelfimage'.
35126 Use --directory when invoking grub_mkimage.
35127
35128 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
35129 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
35130 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
35131 and GRUB_KERNEL_CPU_PREFIX.
35132
35133 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
35134
35135 * include/grub/err.h (grub_err_printf): New function prototype.
35136 * util/misc.c (grub_err_printf): New function.
35137 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
35138 grub_printf.
35139 * kern/err.c (grub_print_error): Use grub_err_printf.
35140
35141 2008-08-13 Robert Millan <rmh@aybabtu.com>
35142
35143 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
35144
35145 2008-08-13 Robert Millan <rmh@aybabtu.com>
35146
35147 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
35148 boot entry.
35149
35150 2008-08-12 Robert Millan <rmh@aybabtu.com>
35151
35152 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
35153 of the relocation code from here ...
35154 (grub_multiboot): ... to here.
35155 (forward_relocator, backward_relocator): Move from here ...
35156 * kern/i386/loader.S (grub_multiboot_forward_relocator)
35157 (grub_multiboot_backward_relocator): ... to here.
35158 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
35159 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
35160 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
35161 (grub_multiboot_forward_relocator_end)
35162 (grub_multiboot_backward_relocator)
35163 (grub_multiboot_backward_relocator_end): New variables.
35164
35165 2008-08-12 Bean <bean123ch@gmail.com>
35166
35167 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
35168
35169 2008-08-11 Robert Millan <rmh@aybabtu.com>
35170
35171 * kern/i386/linuxbios/startup.S: Move from here ...
35172 * kern/i386/coreboot/startup.S: ... to here.
35173
35174 * kern/i386/linuxbios/init.c: Move from here ...
35175 * kern/i386/coreboot/init.c: ... to here.
35176
35177 * kern/i386/linuxbios/table.c: Move from here ...
35178 * kern/i386/coreboot/mmap.c: ... to here.
35179
35180 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
35181
35182 2008-08-11 Robert Millan <rmh@aybabtu.com>
35183
35184 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
35185 errors. Leave it to the upper layer to handle them.
35186
35187 2008-08-09 Christian Franke <franke@computer.org>
35188
35189 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
35190 * conf/common.rmk: Install `grub-pe2elf' only if requested.
35191 Install `grub.d/10_windows' only on Cygwin.
35192 * configure.ac: Add subst of `target_os'.
35193 Check `target_os' also before setting TARGET_OBJ2ELF.
35194 Add `--enable-grub-pe2elf'.
35195
35196 2008-08-08 Robert Millan <rmh@aybabtu.com>
35197
35198 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
35199 (grub_last_time): Change type to grub_uint64_t.
35200 (grub_disk_open): Migrate code from to using grub_get_time_ms().
35201 (grub_disk_close): Likewise.
35202
35203 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
35204 (run_menu): Migrate code from to using grub_get_time_ms().
35205
35206 * util/misc.c (grub_get_time_ms): New function.
35207
35208 2008-08-08 Marco Gerards <marco@gnu.org>
35209
35210 * disk/ata.c (grub_ata_regget): Change return type to
35211 `grub_uint8_t'.
35212 (grub_ata_regget2): Likewise.
35213 (grub_ata_wait_status): New function.
35214 (grub_ata_wait_busy): Removed function, updated all users to use
35215 `grub_ata_wait_status'.
35216 (grub_ata_wait_drq): Likewise.
35217 (grub_ata_cmd): New function.
35218 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
35219 error handling.
35220 (grub_ata_pio_write): Add error handling.
35221 (grub_atapi_identify): Likewise.
35222 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
35223 handling.
35224 (grub_ata_identify): Use `grub_ata_cmd' and improve error
35225 handling. Actually use the detected registers. Reorder the
35226 detection logic such that it is easier to read.
35227 (grub_ata_pciinit): Do not assign the same ID to each controller.
35228 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
35229 handling.
35230 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
35231
35232 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
35233
35234 2008-08-08 Marco Gerards <marco@gnu.org>
35235
35236 * NEWS: Update.
35237
35238 2008-08-07 Bean <bean123ch@gmail.com>
35239
35240 * include/grub/x86_64/pci.h: New file.
35241
35242 2008-08-07 Christian Franke <franke@computer.org>
35243
35244 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
35245 (TIMER2_GATE): Likewise.
35246 (grub_pit_wait): Add enable/disable of the timer2 gate
35247 bit of port 0x61. This fixes a possible infinite loop.
35248
35249 2008-08-07 Bean <bean123ch@gmail.com>
35250
35251 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
35252 kern/i386/tsc.c and kern/i386/pit.c.
35253
35254 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
35255 x86_64 platform.
35256
35257 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
35258 <grub/i386/tsc.h>.
35259
35260 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
35261
35262 2008-08-07 Bean <bean123ch@gmail.com>
35263
35264 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
35265
35266 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
35267
35268 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
35269 multiple inclusion. Add #include <grub/types.h>.
35270
35271 2008-08-06 Christian Franke <franke@computer.org>
35272
35273 * conf/common.rmk: Build and install `10_windows'.
35274 * util/grub.d/10_windows.in: New script.
35275
35276 2008-08-06 Pavel Roskin <proski@gnu.org>
35277
35278 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
35279
35280 2008-08-06 Robert Millan <rmh@aybabtu.com>
35281
35282 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
35283 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
35284
35285 2008-08-06 Bean <bean123ch@gmail.com>
35286
35287 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
35288 (grub_pxefs_fs_int): Remove dummy definition.
35289 (grub_pxefs_open): Use data->block_size to store the current block
35290 size setting.
35291 (grub_pxefs_read): Use block size stored in data->block_size. As the
35292 value of grub_pxe_blksize can be changed after the file is opened.
35293
35294 2008-08-06 Bean <bean123ch@gmail.com>
35295
35296 * fs/i386/pc/pxe.c (curr_file): new variable.
35297 (grub_pxefs_open): Simply the handling of pxe file system. Don't
35298 require the dummy internal file system anymore.
35299 (grub_pxefs_read): Removed.
35300 (grub_pxefs_close): Likewise.
35301 (grub_pxefs_fs_int): Likewise.
35302 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
35303 connection when we switch file.
35304 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
35305
35306 2008-08-06 Robert Millan <rmh@aybabtu.com>
35307
35308 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
35309 `halt.mod'.
35310 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
35311 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
35312
35313 * kern/i386/halt.c: New file.
35314 * kern/i386/reboot.c: Likewise.
35315 * include/grub/i386/reboot.h: Likewise.
35316 * include/grub/i386/halt.h: Likewise.
35317
35318 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
35319 Include `<grub/cpu/halt.h>'.
35320 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
35321 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
35322
35323 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
35324 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
35325 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
35326 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
35327 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
35328 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
35329 from here ...
35330 * include/grub/i386/at_keyboard.h: ... to here.
35331
35332 2008-08-05 Robert Millan <rmh@aybabtu.com>
35333
35334 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
35335 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
35336 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
35337 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
35338 `kern/generic/millisleep.c'.
35339
35340 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
35341 instead of grub_get_rtc().
35342 (grub_tsc_init): Initialize `tsc_boot_time'.
35343
35344 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
35345 (grub_machine_init): Use grub_tsc_init() rather than
35346 installing an RTC-based handler via grub_install_get_time_ms().
35347
35348 * kern/i386/pit.c: New file.
35349 * include/grub/i386/pit.h: Likewise.
35350
35351 2008-08-05 Bean <bean123ch@gmail.com>
35352
35353 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
35354
35355 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
35356 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
35357 (pxe_mod_SOURCES): New macro.
35358 (pxe_mod_CFLAGS): Likewise.
35359 (pxe_mod_LDFLAGS): Likewise.
35360 (pxecmd_mod_SOURCES): Likewise.
35361 (pxecmd_mod_CFLAGS): Likewise.
35362 (pxecmd_mod_LDFLAGS): Likewise.
35363
35364 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
35365 (grub_pxe_call): Likewise.
35366
35367 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
35368
35369 * commands/i386/pc/pxecmd.c: New file.
35370
35371 * fs/i386/pc/pxe.c: Likewise.
35372
35373 * include/grub/i386/pc/pxe.h: Likewise.
35374
35375 2008-08-05 Bean <bean123ch@gmail.com>
35376
35377 * util/console.c (grub_console_cur_color): New variable.
35378 (grub_console_standard_color): Likewise.
35379 (grub_console_normal_color): Likewise.
35380 (grub_console_highlight_color): Likewise.
35381 (color_map): Likewise.
35382 (use_color): Likewise.
35383 (NUM_COLORS): New macro.
35384 (grub_ncurses_setcolorstate): Handle color properly.
35385 (grub_ncurses_setcolor): Don't change color here, just remember the
35386 settings, color will be set in grub_ncurses_setcolorstate.
35387 (grub_ncurses_getcolor): New function.
35388 (grub_ncurses_init): Initialize color pairs.
35389 (grub_ncurses_term): New member grub_ncurses_getcolor.
35390
35391 2008-08-05 Colin D Bennett <colin@gibibit.com>
35392
35393 High resolution timer support. Implemented for x86 CPUs using TSC.
35394 Extracted generic grub_millisleep() so it's linked in only as needed.
35395 This requires a Pentium compatible CPU; if the RDTSC instruction is
35396 not supported, then it falls back on the generic grub_get_time_ms()
35397 implementation that uses the machine's RTC.
35398
35399 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
35400 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
35401 `kern/generic/millisleep.c'.
35402
35403 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
35404 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
35405
35406 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
35407 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
35408
35409 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35410
35411 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
35412 `kern/generic/millisleep.c'.
35413
35414 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35415
35416 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
35417
35418 * kern/generic/rtc_get_time_ms.c: New file.
35419
35420 * kern/generic/millisleep.c: New file.
35421
35422 * kern/misc.c: Don't include
35423 <kern/time.h> anymore.
35424 (grub_millisleep_generic): Removed.
35425
35426 * commands/sleep.c (grub_interruptible_millisleep): Uses
35427 grub_get_time_ms() instead of grub_get_rtc().
35428
35429 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
35430 function.
35431 (grub_cpu_is_cpuid_supported): New inline function.
35432 (grub_cpu_is_tsc_supported): New inline function.
35433 (grub_tsc_init): New function prototype.
35434 (grub_tsc_get_time_ms): New function prototype.
35435
35436 * kern/i386/tsc.c (grub_get_time_ms): New file.
35437
35438 * include/grub/time.h: Include <grub/types.h.
35439 (grub_millisleep_generic): Removed.
35440 (grub_get_time_ms): New prototype.
35441 (grub_install_get_time_ms): New prototype.
35442 (grub_rtc_get_time_ms): New prototype.
35443
35444 * kern/time.c (grub_get_time_ms): New function.
35445 (grub_install_get_time_ms): New function.
35446
35447 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
35448 <grub/time.h> anymore.
35449 (grub_millisleep): Removed.
35450 (grub_machine_init): Call grub_tsc_init.
35451
35452 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
35453 get_time_ms() implementation.
35454
35455 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
35456 (ieee1275_get_time_ms): New function.
35457 (grub_machine_init): Install get_time_ms() implementation.
35458
35459 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
35460 (grub_machine_init): Call grub_tsc_init().
35461 (grub_millisleep): Removed.
35462
35463 * kern/ieee1275/init.c (grub_millisleep): Removed.
35464 (grub_machine_init): Install ieee1275_get_time_ms()
35465 implementation.
35466 (ieee1275_get_time_ms): New function.
35467 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
35468 real work.
35469
35470 2008-08-05 Marco Gerards <marco@gnu.org>
35471
35472 * disk/ata.c: Include <grub/pci.h>.
35473 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
35474 (grub_ata_initialize): Rewritten.
35475 (grub_ata_device_initialize): New function.
35476
35477 2008-08-04 Pavel Roskin <proski@gnu.org>
35478
35479 * kern/main.c: Include grub/mm.h.
35480
35481 2008-08-04 Robert Millan <rmh@aybabtu.com>
35482
35483 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
35484 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
35485 corruption problem).
35486
35487 2008-08-04 Robert Millan <rmh@aybabtu.com>
35488
35489 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
35490 warnings introduced in my last commit.
35491
35492 2008-08-03 Robert Millan <rmh@aybabtu.com>
35493
35494 Make PCI available on all i386 architectures.
35495
35496 * include/grub/i386/pc/pci.h: Move from here ...
35497 * include/grub/i386/pci.h: ... to here.
35498
35499 * include/grub/i386/pc/pci.h: Remove.
35500 * include/grub/i386/efi/pci.h: Remove.
35501 * include/grub/x86_64/efi/pci.h: Remove.
35502
35503 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
35504 `<grub/cpu/pci.h>'.
35505
35506 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
35507 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
35508 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
35509
35510 * conf/i386-ieee1275.rmk: Likewise.
35511
35512 2008-08-03 Robert Millan <rmh@aybabtu.com>
35513
35514 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
35515 (grub_console_setcursor): Make it possible to set cursor off.
35516
35517 2008-08-03 Robert Millan <rmh@aybabtu.com>
35518
35519 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
35520 of modules instead of assuming which platform provides what.
35521 * util/update-grub.in: Likewise.
35522
35523 2008-08-03 Robert Millan <rmh@aybabtu.com>
35524
35525 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
35526 instead of `grub_install_dos_part' to determine whether a drive needs
35527 to be prepended to prefix (`grub_install_dos_part' is not reliable,
35528 because it can be overridden when loading GRUB via Multiboot).
35529
35530 2008-08-02 Robert Millan <rmh@aybabtu.com>
35531
35532 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
35533
35534 2008-08-02 Robert Millan <rmh@aybabtu.com>
35535
35536 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
35537 of informational grub_dprintf() calls.
35538
35539 2008-08-02 Robert Millan <rmh@aybabtu.com>
35540
35541 * disk/memdisk.c (memdisk_size): Don't initialize.
35542 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
35543
35544 * include/grub/i386/pc/kernel.h
35545 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
35546 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
35547 (grub_memdisk_image_size, grub_arch_memdisk_addr)
35548 (grub_arch_memdisk_size): Remove.
35549
35550 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
35551 field (was only used to transfer a constant). Add `type' field to
35552 support multiple module types.
35553 (grub_module_iterate): New function.
35554
35555 * kern/device.c (grub_device_open): Do not hide error messages
35556 when grub_disk_open() fails. Use grub_print_error() instead.
35557
35558 * kern/i386/pc/init.c (grub_arch_modules_addr)
35559 (grub_arch_memdisk_size): Remove functions.
35560 (grub_arch_modules_addr): Return the module address in high memory
35561 (now that it isn't copied anymore).
35562
35563 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
35564 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
35565 decompression routine (grub_total_module_size already includes that
35566 now). Don't copy modules back to low memory.
35567
35568 * kern/main.c: Include `<grub/mm.h>'.
35569 (grub_load_modules): Split out (and use) ...
35570 (grub_module_iterate): ... this function, which iterates through
35571 module objects and runs a hook.
35572 Comment out grub_mm_init_region() call, as it would cause non-ELF
35573 modules to be overwritten.
35574
35575 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
35576 the memdisk image in its own region, make it part of the module list.
35577 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
35578 (main): Parse --memdisk|-m option, and pass user-provided path as
35579 parameter to generate_image().
35580 (add_segments): Pass `memdisk_path' down to load_modules().
35581 (load_modules): Embed memdisk image in module section when requested.
35582 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
35583 `header.type' instead of `header.offset'.
35584
35585 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
35586 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
35587 (memdisk_mod_LDFLAGS): New variables.
35588 * conf/i386-coreboot.rmk: Likewise.
35589 * conf/i386-ieee1275.rmk: Likewise.
35590
35591 2008-08-02 Robert Millan <rmh@aybabtu.com>
35592
35593 * loader/i386/pc/multiboot.c (playground, forward_relocator)
35594 (backward_relocator): New variables. Used to allocate and relocate
35595 the payload, respectively.
35596 (grub_multiboot_load_elf32): Load into heap instead of requested
35597 address, install the appropriate relocator code in each bound of
35598 the payload, and set the entry point such that
35599 grub_multiboot_real_boot() will jump to one of them.
35600
35601 * kern/i386/loader.S (grub_multiboot_payload_size)
35602 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35603 (grub_multiboot_payload_entry_offset): New variables.
35604 (grub_multiboot_real_boot): Set cpu context to what the relocator
35605 expects, and jump to the relocator instead of the payload.
35606
35607 * include/grub/i386/loader.h (grub_multiboot_payload_size)
35608 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35609 (grub_multiboot_payload_entry_offset): Export.
35610
35611 2008-08-01 Bean <bean123ch@gmail.com>
35612
35613 * normal/menu_entry.c (editor_getline): Don't return the original
35614 string as result, as it will be released by lexer once it has done
35615 using it.
35616
35617 2008-08-01 Robert Millan <rmh@aybabtu.com>
35618
35619 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
35620 within menuentries, not before them.
35621 util/grub.d/10_hurd.in: Likewise.
35622
35623 2008-08-01 Bean <bean123ch@gmail.com>
35624
35625 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
35626 (bufio_mod_SOURCES): New macro.
35627 (bufio_mod_CFLAGS): Likewise.
35628 (bufio_mod_LDFLAGS): Likewise.
35629
35630 * include/grub/bufio.h: New file.
35631
35632 * io/bufio.c: Likewise.
35633
35634 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
35635 (grub_video_reader_png): Use grub_buffile_open to open file.
35636
35637 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
35638 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
35639
35640 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
35641 (grub_video_reader_tga): Use grub_buffile_open to open file.
35642
35643 * font/manager.c: Include <grub/bufio.h>.
35644 (add_font): Use grub_buffile_open to open file.
35645
35646 2008-07-31 Robert Millan <rmh@aybabtu.com>
35647
35648 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
35649 ELF segments, use a macro for arbitrarily accessing any of them instead
35650 of preparing a pointer that allows access to one at a time.
35651 (grub_multiboot_load_elf64): Likewise.
35652
35653 2008-07-31 Bean <bean123ch@gmail.com>
35654
35655 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
35656 GRUB_KERNEL_MACHINE_DATA_END.
35657
35658 2008-07-30 Robert Millan <rmh@aybabtu.com>
35659
35660 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
35661 Increase from 0x50 to 0x60.
35662 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
35663 use UUIDs to identify the root drive for them. If that's not
35664 possible, abort.
35665 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
35666 check, for cross-disk installs.
35667
35668 2008-07-30 Robert Millan <rmh@aybabtu.com>
35669
35670 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
35671 is non-empty, use it to set the `prefix' environment variable instead
35672 of the usual approach.
35673 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
35674 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
35675 environment variable instead of dummy make_install_device().
35676
35677 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
35678 (start): Insert a data section, with `grub_prefix' variable.
35679 * kern/i386/linuxbios/startup.S: Likewise.
35680
35681 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
35682 New variable reference.
35683 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
35684 New macro. Defines offset of `grub_prefix' within startup.S (relative
35685 to `start').
35686 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
35687 section within startup.S (relative to `start').
35688 * include/grub/i386/coreboot/kernel.h: Likewise.
35689
35690 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
35691 Overwrite grub_prefix with its contents, at the beginning of the
35692 first segment.
35693 (main): Understand -p|--prefix.
35694
35695 2008-07-30 Robert Millan <rmh@aybabtu.com>
35696
35697 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
35698
35699 2008-07-30 Robert Millan <rmh@aybabtu.com>
35700
35701 * term/i386/pc/vga_text.c (grub_console_cls): Use
35702 grub_console_gotoxy() to go back to beginning of the screen.
35703 Found by Patrick Georgi <patrick.georgi@coresystems.de>
35704
35705 2008-07-29 Christian Franke <franke@computer.org>
35706
35707 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
35708 Add conversion of emulated mount points on Cygwin.
35709
35710 2008-07-29 Christian Franke <franke@computer.org>
35711
35712 * util/update-grub.in: Add a check for admin
35713 group on Cygwin.
35714 Remove old `grub.cfg.new' before creation.
35715 Add `-f' to `mv' to handle the different filesystem
35716 semantics of Windows.
35717
35718 2008-07-29 Bean <bean123ch@gmail.com>
35719
35720 * normal/main.c (get_line): Fix buffer overflow bug.
35721
35722 2008-07-28 Robert Millan <rmh@aybabtu.com>
35723
35724 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
35725 (struct grub_apple_header): New struct. Describes the layout of
35726 the partmap header.
35727 (apple_partition_map_iterate): Check the header magic as well as the
35728 partition magic (which was already being checked).
35729
35730 2008-07-28 Pavel Roskin <proski@gnu.org>
35731
35732 * genmk.rb: Add a warning to the beginning of the output that
35733 it's a generated file and should not be edited.
35734
35735 2008-07-28 Robert Millan <rmh@aybabtu.com>
35736
35737 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35738 with the same number are found, just use issue a warning with
35739 grub_dprintf(), as this error has been reported to be non-fatal.
35740
35741 2008-07-27 Robert Millan <rmh@aybabtu.com>
35742
35743 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
35744 information.
35745
35746 2008-07-27 Bean <bean123ch@gmail.com>
35747
35748 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
35749 (grub_fat_find_dir): Ignore case when comparing filename.
35750
35751 2008-07-27 Bean <bean123ch@gmail.com>
35752
35753 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
35754 smallino, as it's more descriptive, and i8count can be confused with
35755 the other field count.
35756 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
35757 inode type.
35758
35759 2008-07-27 Bean <bean123ch@gmail.com>
35760
35761 * commands/crc.c: New file.
35762
35763 * lib/crc.c: Likewise.
35764
35765 * include/grub/lib/crc.h: Likewise.
35766
35767 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
35768
35769 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
35770 (hexdump): Move this function to ...
35771
35772 * lib/hexdump.c: ... here.
35773
35774 * include/grub/hexdump.h: Renamed to ...
35775
35776 * include/grub/lib/hexdump.h: ... this.
35777
35778 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
35779
35780 * util/grub-editenv.c: Likewise.
35781
35782 * include/envblk.h: Renamed to ...
35783
35784 * include/lib/envblk.h: ... this.
35785
35786 * util/envblk.c: Renamed to ...
35787
35788 * lib/envblk.c: ... this.
35789
35790 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
35791 lib/hexdump.c.
35792 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
35793 (pkglib_MODULES): Add crc.mod.
35794 (hexdump_mod_SOURCES): Add lib/hexdump.c.
35795 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
35796 (crc_mod_SOURCES): New macro.
35797 (crc_mod_CFLAGS): Likewise.
35798 (crc_mod_LDFLAGS): Likewise.
35799
35800 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
35801
35802 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35803
35804 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35805
35806 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35807
35808 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35809
35810 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
35811
35812 * commands/help.c: Include <grub/term.h>.
35813 (TERM_WIDTH): Removed. Updated all users.
35814
35815 2008-07-27 Pavel Roskin <proski@gnu.org>
35816
35817 * util/getroot.c (find_root_device): Rephrase a comment to avoid
35818 spurious warnings about a comment within a comment.
35819
35820 2008-07-25 Robert Millan <rmh@aybabtu.com>
35821
35822 * util/getroot.c (find_root_device): Skip devices that match
35823 /dev/dm-[0-9]. This lets the real device be found for any type of
35824 abstraction (LVM, EVMS, RAID..).
35825 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
35826 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
35827 device is found first, find_root_device() will now skip it.
35828
35829 2008-07-24 Pavel Roskin <proski@gnu.org>
35830
35831 * include/grub/types.h: Use __builtin_bswap32() and
35832 __builtin_bswap64() with gcc 4.3 and newer.
35833
35834 2008-07-24 Christian Franke <franke@computer.org>
35835
35836 * util/i386/pc/grub-install.in: If `--debug' is specified,
35837 pass `--verbose' to grub-setup.
35838 Abort script if make_system_path_relative_to_its_root() fails.
35839
35840 2008-07-24 Bean <bean123ch@gmail.com>
35841
35842 * configure.ac: Fixed a bug caused by the previous cygwin patch,
35843 variable `target_platform' should be `platform'.
35844
35845 2008-07-24 Bean <bean123ch@gmail.com>
35846
35847 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
35848 (grub_png_init_fixed_block): New function.
35849 (grub_png_decode_image_data): Handle fixed huffman code compression.
35850
35851 2008-07-24 Bean <bean123ch@gmail.com>
35852
35853 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
35854 (grub_pe2elf_SOURCES): New macro.
35855 (CLEANFILES): Add grub-pe2elf.
35856
35857 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
35858 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
35859 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
35860 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
35861 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
35862 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
35863 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
35864 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
35865 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
35866 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
35867 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
35868 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
35869 (GRUB_PE32_DT_FUNCTION): Likewise.
35870 (GRUB_PE32_REL_I386_DIR32): Likewise.
35871 (GRUB_PE32_REL_I386_REL32): Likewise.
35872 (grub_pe32_symbol): New structure.
35873 (grub_pe32_reloc): Likewise.
35874
35875 * util/grub-pe2elf.c: New file.
35876
35877 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
35878 start symbol in non pc platform.
35879
35880 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
35881
35882 The following patches are from Christian Franke.
35883
35884 * include/grub/dl.h: Remove .previous, gas supports this only
35885 for ELF format.
35886
35887 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
35888 Remove .type, gas supports this only for ELF format.
35889
35890 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
35891 nullbytes in symbol table. This fixes an infinite loop if table is
35892 zero filled.
35893
35894 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
35895 TARGET_IMG_LDFLAGS and EXEEXT.
35896
35897 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
35898 TARGET_IMG_LDFLAGS_AC.
35899 (grub_CHECK_STACK_ARG_PROBE): New function.
35900
35901 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
35902
35903 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
35904
35905 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
35906 to set TARGET_IMG_LD* accordingly.
35907 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
35908 Add call to grub_CHECK_STACK_ARG_PROBE.
35909 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
35910
35911 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
35912
35913 * genmk.rb: Add EXEEXT to CLEANFILES.
35914
35915 2008-07-23 Robert Millan <rmh@aybabtu.com>
35916
35917 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
35918 define the codes for arrows and lines used for the menu).
35919 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
35920 as well.
35921
35922 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
35923 fonts, because the latter are too slow.
35924
35925 2008-07-21 Bean <bean123ch@gmail.com>
35926
35927 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
35928 a20. Run keyboard test last, as it will cause macbook to halt.
35929
35930 2008-07-18 Pavel Roskin <proski@gnu.org>
35931
35932 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
35933 load foreign architecture modules correctly anyway. Keep
35934 support for loading host architecture modules, whether we
35935 compile them or not.
35936
35937 2008-07-17 Pavel Roskin <proski@gnu.org>
35938
35939 * configure.ac: Use -m32 or -m64 regardless of whether we had to
35940 change target_cpu. The compiler default can mismatch target_cpu
35941 in any case.
35942
35943 * disk/efi/efidisk.c: Fix format warnings on x86_64.
35944 * kern/efi/efi.c: Likewise.
35945
35946 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
35947 target compiler is functional.
35948 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
35949 are set up.
35950
35951 * configure.ac: Default to efi platform for x86_64-apple. Allow
35952 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
35953 adjustments from the rest, only do them if target is not
35954 explicitly given. Merge other adjustments with the final sanity
35955 check. Remove an extraneous check for supported CPU. Be
35956 specific which CPU and which platform is not supported.
35957
35958 * configure.ac: Default to pc platform for x86_64.
35959
35960 2008-07-17 Robert Millan <rmh@aybabtu.com>
35961
35962 Partial LinuxBIOS -> Coreboot rename.
35963
35964 * conf/i386-linuxbios.rmk: Renamed to ...
35965 * conf/i386-coreboot.rmk: ... this.
35966 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
35967 * configure.ac: Accept "coreboot" as input platform (but maintain
35968 compatibility with "linuxbios").
35969 * include/grub/i386/linuxbios: Renamed to ...
35970 * include/grub/i386/coreboot: ... this.
35971
35972 2008-07-17 Bean <bean123ch@gmail.com>
35973
35974 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
35975 (appleldr_mod_SOURCE): New variable.
35976 (appleldr_mod_CFLAGS): Likewise.
35977 (appleldr_mod_LDFLAGS): Likewise.
35978 (pci_mod_SOURCES): Likewise.
35979 (pci_mod_CFLAGS): Likewise.
35980 (pci_mod_LDFLAGS): Likewise.
35981 (lspci_mod_SOURCES): Likewise.
35982 (lspci_mod_CFLAGS): Likewise.
35983 (lspci_mod_LDFLAGS): Likewise.
35984
35985 * conf/x86_64-efi.rmk: New file.
35986
35987 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
35988 macro.
35989 (grub_efidisk_write): Likewise.
35990
35991 * include/efi/api.h (efi_call_0): New macro.
35992 (efi_call_1): Likewise.
35993 (efi_call_2): Likewise.
35994 (efi_call_3): Likewise.
35995 (efi_call_4): Likewise.
35996 (efi_call_5): Likewise.
35997 (efi_call_6): Likewise.
35998
35999 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
36000 grub_rescue_cmd_chainloader.
36001
36002 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
36003 (grub_pe32_optional_header): Change some fields based on i386 or
36004 x86_64 platform.
36005 (GRUB_PE32_PE32_MAGIC): Likewise.
36006
36007 * include/grub/efi/uga_draw.h: New file.
36008
36009 * include/grub/elf.h (STN_ABS): New constant.
36010 (R_X86_64_NONE): Relocation constant for x86_64.
36011 (R_X86_64_64): Likewise.
36012 (R_X86_64_PC32): Likewise.
36013 (R_X86_64_GOT32): Likewise.
36014 (R_X86_64_PLT32): Likewise.
36015 (R_X86_64_COPY): Likewise.
36016 (R_X86_64_GLOB_DAT): Likewise.
36017 (R_X86_64_JUMP_SLOT): Likewise.
36018 (R_X86_64_RELATIVE): Likewise.
36019 (R_X86_64_GOTPCREL): Likewise.
36020 (R_X86_64_32): Likewise.
36021 (R_X86_64_32S): Likewise.
36022 (R_X86_64_16): Likewise.
36023 (R_X86_64_PC16): Likewise.
36024 (R_X86_64_8): Likewise.
36025 (R_X86_64_PC8): Likewise.
36026
36027 * include/grub/i386/efi/pci.h: New file.
36028
36029 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
36030 Change it value based on platform.
36031 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
36032 (GRUB_E820_RAM): Likewise.
36033 (GRUB_E820_RESERVED): Likewise.
36034 (GRUB_E820_ACPI): Likewise.
36035 (GRUB_E820_NVS): Likewise.
36036 (GRUB_E820_EXEC_CODE): Likewise.
36037 (GRUB_E820_MAX_ENTRY): Likewise.
36038 (grub_e820_mmap): New structure.
36039 (linux_kernel_header): Change the efi field according to different
36040 kernel version, also field from linux_kernel_header.
36041
36042 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
36043
36044 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
36045 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
36046 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
36047 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
36048 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
36049 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
36050 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
36051 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
36052 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
36053 (GRUB_PCI_ADDR_IO_MASK): Likewise.
36054
36055 * include/grub/x86_64/efi/kernel.h: New file.
36056
36057 * include/grub/x86_64/efi/loader.h: Likewise.
36058
36059 * include/grub/x86_64/efi/machine.h: Likewise.
36060
36061 * include/grub/x86_64/efi/pci.h: Likewise.
36062
36063 * include/grub/x86_64/efi/time.h: Likewise.
36064
36065 * include/grub/x86_64/linux.h: Likewise.
36066
36067 * include/grub/x86_64/setjmp.h: Likewise.
36068
36069 * include/grub/x86_64/time.h: Likewise.
36070
36071 * include/grub/x86_64/types.h: Likewise.
36072
36073 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
36074 GRUB_TARGET_SIZEOF_VOID_P.
36075
36076 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
36077 (grub_efi_locate_handle): Likewise.
36078 (grub_efi_open_protocol): Likewise.
36079 (grub_efi_set_text_mode): Likewise.
36080 (grub_efi_stall): Likewise.
36081 (grub_exit): Likewise.
36082 (grub_reboot): Likewise.
36083 (grub_halt): Likewise.
36084 (grub_efi_exit_boot_services): Likewise.
36085 (grub_get_rtc): Likewise.
36086
36087 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
36088 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
36089 (grub_efi_allocate_pages): Wrap efi calls.
36090 (grub_efi_free_pages): Wrap efi calls.
36091 (grub_efi_get_memory_map): Wrap efi calls.
36092
36093 * kern/x86_64/dl.c: New file.
36094
36095 * kern/x86_64/efi/callwrap.S: Likewise.
36096
36097 * kern/x86_64/efi/startup.S: Likewise.
36098
36099 * loader/efi/appleloader.c: Likewise.
36100
36101 * loader/efi/chainloader.c (cmdline): New variable.
36102 (grub_chainloader_unload): Wrap efi calls.
36103 (grub_chainloader_boot): Likewise.
36104 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
36105 command line.
36106
36107 * loader/efi/chainloader_normal.c (chainloader_command):
36108 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
36109 command line.
36110
36111 * loader/i386/efi/linux.c (allocate_pages): Change allocation
36112 method.
36113 (grub_e820_add_region): New function.
36114 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
36115 booting.
36116 (grub_find_video_card): New function.
36117 (grub_linux_setup_video): New function.
36118 (grub_rescue_cmd_linux): Probe for video information.
36119
36120 * normal/x86_64/setjmp.S: New file.
36121
36122 * term/efi/console.c (map_char): New function.
36123 (grub_console_putchar): Map unicode char.
36124 (grub_console_checkkey): Wrap efi calls.
36125 (grub_console_getkey): Likewise.
36126 (grub_console_getwh): Likewise.
36127 (grub_console_gotoxy): Likewise.
36128 (grub_console_cls): Likewise.
36129 (grub_console_setcolorstate): Likewise.
36130 (grub_console_setcursor): Likewise.
36131
36132 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
36133
36134 2008-07-16 Pavel Roskin <proski@gnu.org>
36135
36136 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
36137 format strings.
36138
36139 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
36140 pointer, not an integer. This fixes a warning and prevents
36141 precision loss on 64-bit systems.
36142 (relocate_addresses): Remove unneeded cast.
36143
36144 2008-07-15 Pavel Roskin <proski@gnu.org>
36145
36146 * kern/i386/ieee1275/init.c: Include grub/cache.h.
36147
36148 * term/ieee1275/ofconsole.c: Disable code unused on i386.
36149
36150 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
36151 Fix comparison between signed and unsigned.
36152
36153 * include/grub/i386/ieee1275/console.h: Declare
36154 grub_console_init() and grub_console_fini().
36155
36156 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
36157 It's empty and unused.
36158
36159 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
36160 beginning to avoid warnings with some compilers.
36161
36162 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
36163 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
36164
36165 2008-07-14 Pavel Roskin <proski@gnu.org>
36166
36167 * kern/env.c (grub_register_variable_hook): Don't copy empty
36168 string, it leaks memory. Pass "" to grub_env_set(), it should
36169 handle constant strings.
36170
36171 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
36172 * commands/cmp.c (grub_cmd_cmp): Likewise.
36173 * kern/dl.c (grub_dl_flush_cache): Likewise.
36174 (grub_dl_load_core): Likewise.
36175 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
36176 (grub_elf64_load_phdrs): Likewise.
36177
36178 2008-07-13 Pavel Roskin <proski@gnu.org>
36179
36180 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
36181 between signed and unsigned.
36182 (LzmaEnc_Finish): Fix warning about an unused parameter.
36183
36184 2008-07-13 Bean <bean123ch@gmail.com>
36185
36186 * Makefile.in (enable_lzo): New rule.
36187
36188 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
36189
36190 * configure.ac (ENABLE_LZO): New option --enable-lzo.
36191
36192 * boot/i386/pc/lnxboot.S: #include <config.h>.
36193
36194 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
36195 its value according to the compression algorithm used, lzo or lzma.
36196
36197 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
36198 compression algorithm according to configure macro.
36199
36200 * kern/i386/pc/startup.S (codestart): Likewise.
36201
36202 * kern/i386/pc/lzma_decode.S: New file.
36203
36204 * include/grub/lib/LzFind.h: Likewise.
36205
36206 * include/grub/lib/LzHash.h: Likewise.
36207
36208 * include/grub/lib/LzmaDec.h: Likewise.
36209
36210 * include/grub/lib/LzmaEnc.h: Likewise.
36211
36212 * include/grub/lib/LzmaTypes.h: Likewise.
36213
36214 * lib/LzFind.c: Likewise.
36215
36216 * lib/LzmaDec.c: Likewise.
36217
36218 * lib/LzmaEnc.c: Likewise.
36219
36220 2008-07-13 Bean <bean123ch@gmail.com>
36221
36222 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
36223 (grub_ext4_extent_header): New structure.
36224 (grub_ext4_extent): Likewise.
36225 (grub_ext4_extent_idx): Likewise.
36226 (grub_ext4_find_leaf): New function.
36227 (grub_ext2_read_block): Handle extents.
36228
36229 2008-07-12 Robert Millan <rmh@aybabtu.com>
36230
36231 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
36232
36233 2008-07-11 Robert Millan <rmh@aybabtu.com>
36234
36235 * util/grub.d/40_custom.in: New file. Example on how to add custom
36236 entries to /etc/grub.d.
36237 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
36238 40_custom (implicitly, by merging all the grub.d rules).
36239
36240 2008-07-11 Pavel Roskin <proski@gnu.org>
36241
36242 * commands/read.c (grub_getline): Fix invalid memory access.
36243 Don't add newline to the variable value.
36244
36245 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
36246 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
36247 (serial_hw_get_port): Check validity of the port number.
36248 (grub_cmd_serial): Check return value of serial_hw_get_port().
36249
36250 2008-07-07 Pavel Roskin <proski@gnu.org>
36251
36252 * boot/i386/pc/diskboot.S (notification_string): Replace
36253 "Loading kernel" with just "loading". This is shorter, less
36254 confusing and saves a few bytes for possible future changes.
36255
36256 2008-07-05 Pavel Roskin <proski@gnu.org>
36257
36258 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
36259 size for ATAPI devices, they are undefined. Output sector
36260 number in decimal form.
36261
36262 * disk/ata.c: Use named constants for status bits.
36263
36264 2008-07-04 Pavel Roskin <proski@gnu.org>
36265
36266 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
36267 grub_addr_t before casting it to the void pointer to fix a
36268 warning. Non-addressable regions are discarded earlier.
36269 (grub_arch_modules_addr): Cast _end to grub_addr_t.
36270 * kern/i386/linuxbios/table.c: Include grub/misc.h.
36271 (check_signature): Don't shadow table_header.
36272 (grub_linuxbios_table_iterate): Cast numeric constants to
36273 grub_linuxbios_table_header_t.
36274 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
36275 grub_stop().
36276
36277 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
36278 prevent warnings.
36279
36280 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
36281 pointer, which can cause warnings. Support 64-bit addresses.
36282
36283 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
36284 of sizeof(long). This fixes PowerPC image generation on x86_64.
36285
36286 2008-07-04 Robert Millan <rmh@aybabtu.com>
36287
36288 This fixes a performance issue when pc & gpt partmap iterators
36289 didn't abort iteration even after our hook found what it was
36290 looking for (often causing expensive probes of non-existent drives).
36291
36292 Some callers relied on previous buggy behaviour, since they would
36293 raise an error when their own hooks caused early abortion of its
36294 iteration.
36295
36296 * kern/device.c (grub_device_open): Improve error message.
36297 * disk/lvm.c (grub_lvm_open): Likewise.
36298 * disk/raid.c (grub_raid_open): Likewise.
36299
36300 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
36301 when hook requests it, independently of grub_errno.
36302 (pc_partition_map_probe): Do not fail when find_func() caused
36303 early abortion of pc_partition_map_iterate().
36304
36305 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
36306 when hook requests it, independently of grub_errno.
36307 (gpt_partition_map_probe): Do not fail when find_func() caused
36308 early abortion of gpt_partition_map_iterate().
36309
36310 * kern/partition.c (grub_partition_iterate): Abort parent iteration
36311 when hook requests it, independently of grub_errno. Do not fail when
36312 part_map_iterate_hook() caused early abortion of p->iterate().
36313
36314 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
36315 when grub_partition_iterate() returned with non-zero.
36316
36317 2008-07-03 Pavel Roskin <proski@gnu.org>
36318
36319 * disk/ata.c (grub_ata_pio_write): Check status before writing,
36320 like we do in grub_ata_pio_read().
36321 (grub_ata_readwrite): Always write individual sectors. Fix the
36322 sector count for the remainder.
36323 (grub_ata_write): Enable writing to ATA devices. Correctly
36324 report error for ATAPI devices.
36325
36326 2008-07-02 Pavel Roskin <proski@gnu.org>
36327
36328 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
36329 warning.
36330
36331 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
36332 for every read sector, we already increment it for the whole
36333 batch. This fixes reading more than 256 sectors at once.
36334
36335 * util/grub-editenv.c (cmd_info): Cast argument to long
36336 explicitly. ptrdiff_t reduces to int on i386.
36337
36338 * util/grub-editenv.c (main): Be specific which parameter is
36339 missing.
36340
36341 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
36342 (memdisk): Make memdisk_orig_addr a pointer.
36343
36344 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
36345 for file offsets, use grub_off_t instead. Fix printf format
36346 warnings.
36347
36348 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
36349 there. Real unexpected warnings should not drown in the noise
36350 about known problems.
36351
36352 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
36353 grub_disk_addr_t for memory addresses.
36354
36355 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
36356 explicitly to fix a warning.
36357
36358 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
36359
36360 * Makefile.in (MODULE_LDFLAGS): New variable.
36361 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
36362 the linker accepts --build-id=none.
36363 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
36364 MODULE_LDFLAGS.
36365 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
36366
36367 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
36368 those in Linux XFS code. Provide a way to access 64-bit parent
36369 inode.
36370 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
36371 the end of struct grub_xfs_dir_header.
36372
36373 2008-07-02 Bean <bean123ch@gmail.com>
36374
36375 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
36376 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
36377 and GRUB_IEEE1275_FLAG_NO_ANSI.
36378
36379 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
36380 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
36381 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
36382
36383 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
36384 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
36385
36386 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
36387 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
36388
36389 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
36390 esc sequence on non ANSI terminal.
36391 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
36392
36393 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
36394 beginning of file.
36395
36396 2008-07-02 Bean <bean123ch@gmail.com>
36397
36398 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
36399 (grub_editenv_SOURCES): New variable.
36400 (pkglib_MODULES): Add loadenv.mod.
36401 (loadenv_mod_SOURCES): New variable.
36402 (loadenv_mod_CFLAGS): Likewise.
36403 (loadenv_mod_LDFLAGS): Likewise.
36404
36405 * include/grub/envblk.h: New file.
36406
36407 * util/envblk.c: New file.
36408
36409 * util/grub-editenv.c: New file.
36410
36411 * commands/loadenv.c: New file.
36412
36413 2008-07-01 Pavel Roskin <proski@gnu.org>
36414
36415 * include/multiboot2.h (struct multiboot_tag_module): Use char,
36416 not unsigned char. This fixes warnings and is consistent with
36417 other tags.
36418
36419 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
36420
36421 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
36422
36423 * term/tparm.c (analyze): Always set *popcount.
36424
36425 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
36426 cast to fix a warning.
36427
36428 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
36429 cast to suppress a warning.
36430
36431 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
36432 grub_fshelp_read_file() expects.
36433
36434 * fs/fat.c: Fix UUID calculation on big-endian systems. We
36435 write uuid as a 32-bit value in CPU byte order, so declare and
36436 use it as such.
36437
36438 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
36439 long if the format specifier expects it.
36440 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
36441 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36442 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
36443 long to fix a warning.
36444 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
36445 grub_dprintf() arguments to fix warnings.
36446
36447 2008-06-30 Pavel Roskin <proski@gnu.org>
36448
36449 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
36450 install_bsd_part immediately before core.img is embedded or
36451 modified on disk. This fixes core.img verification if core.img
36452 cannot be embedded.
36453
36454 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
36455 core_path to calculate the blocklist.
36456 Patch from Javier Martín <lordhabbit@gmail.com>
36457
36458 2008-06-29 Robert Millan <rmh@aybabtu.com>
36459
36460 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
36461 block to disk block.
36462 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
36463 Patch from Niels Böhm <bitbucket@arcor.de>
36464
36465 2008-06-29 Robert Millan <rmh@aybabtu.com>
36466
36467 * util/update-grub_lib.in (font_path): Search for fonts in
36468 /boot/grub first, which is more likely to be readable (we aren't
36469 deciding where fonts live, just looking for them).
36470
36471 2008-06-26 Pavel Roskin <proski@gnu.org>
36472
36473 * util/biosdisk.c (read_device_map): Don't leave dead map
36474 entries for devices failing stat() check.
36475
36476 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
36477 core_path_dev for the core.img path on the target device.
36478
36479 2008-06-26 Robert Millan <rmh@aybabtu.com>
36480
36481 * disk/fs_uuid.c: New file.
36482 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
36483 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
36484 (fs_uuid_mod_LDFLAGS): New variables.
36485 * include/grub/disk.h (grub_disk_dev_id): Add
36486 `GRUB_DISK_DEVICE_UUID_ID'.
36487 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
36488 implement iterate().
36489
36490 2008-06-26 Robert Millan <rmh@aybabtu.com>
36491
36492 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
36493 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
36494 Linux image includes no initrd.
36495
36496 2008-06-21 Javier Martín <lordhabbit@gmail.com>
36497
36498 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
36499 call to resolve the core image location that effectively appended the
36500 name twice.
36501
36502 2008-06-21 Robert Millan <rmh@aybabtu.com>
36503
36504 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
36505 call from here ...
36506
36507 * util/grub.d/10_hurd.in: ... to here ...
36508 * util/grub.d/10_linux.in: ... and here.
36509
36510 2008-06-19 Robert Millan <rmh@aybabtu.com>
36511
36512 * kern/main.c (grub_main): Export `prefix' variable immediately
36513 after it has been set by grub_machine_set_prefix().
36514
36515 2008-06-19 Robert Millan <rmh@aybabtu.com>
36516
36517 * commands/search.c (search_label, search_fs_uuid, search_file): Print
36518 search result when not saving to variable, not the other way around.
36519 When saving to variable, abort iteration as soon as a match is found.
36520
36521 2008-06-19 Robert Millan <rmh@aybabtu.com>
36522
36523 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
36524 check for partition that provides /boot/grub. Its logic is flawed,
36525 as it prevents prepare_grub_to_access_device() from being called
36526 multiple times.
36527
36528 2008-06-19 Robert Millan <rmh@aybabtu.com>
36529
36530 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
36531 "insmod" command directly when abstraction modules are needed,
36532 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
36533 since it had already been processed).
36534
36535 2008-06-19 Pavel Roskin <proski@gnu.org>
36536
36537 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
36538 changed. This is needed in case GRUB_LIBDIR changes.
36539 * conf/i386-ieee1275.rmk: Likewise.
36540 * conf/i386-linuxbios.rmk: Likewise.
36541 * conf/i386-pc.rmk: Likewise.
36542 * conf/powerpc-ieee1275.rmk: Likewise.
36543
36544 2008-06-18 Pavel Roskin <proski@gnu.org>
36545
36546 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
36547 kernel_elf_symlist.c to symlist.c for consistency with other
36548 architectures. Update all users.
36549 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36550
36551 2008-06-18 Robert Millan <rmh@aybabtu.com>
36552
36553 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
36554 it in prefix.
36555
36556 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
36557 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
36558 a RAID device, run setup() for all members independently on whether
36559 LVM abstraction is being used.
36560 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
36561 If grub-mkimage has set `*install_dos_part == -2', don't override this
36562 value.
36563 Perform *install_dos_part adjustments independently on whether
36564 we're embedding or not.
36565 Clarify error message when image is too big for embedding.
36566 Remove duplicate *install_dos_part stanza.
36567
36568 2008-06-17 Robert Millan <rmh@aybabtu.com>
36569
36570 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
36571 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
36572 variables.
36573 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
36574 values in grub_ofconsole_normal_color and
36575 grub_ofconsole_highlight_color (they're not directly related to
36576 background and foreground).
36577 (grub_ofconsole_setcolorstate): Extract background and foreground
36578 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
36579
36580 2008-06-17 Robert Millan <rmh@aybabtu.com>
36581
36582 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
36583 /boot/grub for the check in last commit, not /boot (they could be
36584 different partitions).
36585
36586 2008-06-16 Robert Millan <rmh@aybabtu.com>
36587
36588 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
36589 asked to setup access for the same partition that provides /boot,
36590 don't bother using UUIDs since our root already has the value we
36591 want.
36592
36593 2008-06-16 Robert Millan <rmh@aybabtu.com>
36594
36595 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
36596 I2O devices.
36597 Patch from Sven Mueller <sven@debian.org>.
36598
36599 2008-06-16 Robert Millan <rmh@aybabtu.com>
36600
36601 * util/update-grub.in: Check for $EUID instead of $UID.
36602 Reported by Vincent Zweije.
36603
36604 2008-06-16 Bean <bean123ch@gmail.com>
36605
36606 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
36607 (grub_ext2_read_block): Likewise.
36608 (grub_ext2_read_inode): Likewise.
36609 (grub_ext2_mount): Likewise.
36610 (grub_ext2_close): Likewise.
36611 (grub_ext3_get_journal): Removed.
36612
36613 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
36614 (grub_reiserfs_read_symlink): Likewise.
36615 (grub_reiserfs_mount): Likewise.
36616 (grub_reiserfs_open): Likewise.
36617 (grub_reiserfs_read): Likewise.
36618 (grub_reiserfs_close): Likewise.
36619 (grub_reiserfs_get_journal): Removed.
36620
36621 * fs/fshelp.c (grub_fshelp_read): Removed.
36622 (grub_fshelp_map_block): Likewise.
36623
36624 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
36625 (grub_fshelp_journal): Likewise.
36626 (grub_fshelp_read): Likewise.
36627 (grub_fshelp_map_block): Likewise.
36628
36629 2008-06-16 Pavel Roskin <proski@gnu.org>
36630
36631 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
36632 floating point anymore.
36633 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
36634
36635 2008-06-15 Pavel Roskin <proski@gnu.org>
36636
36637 * commands/ls.c (grub_ls_list_files): Use integer calculations
36638 for human readable format, avoid floating point use.
36639 * kern/misc.c (grub_ftoa): Remove.
36640 (grub_vsprintf): Remove floating point support.
36641
36642 2008-06-15 Robert Millan <rmh@aybabtu.com>
36643
36644 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
36645 devices.
36646 Reported by Max Vozeler.
36647
36648 2008-06-15 Robert Millan <rmh@aybabtu.com>
36649
36650 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
36651 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
36652 skipped later.
36653 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
36654 the beginning of the prefix.
36655
36656 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
36657 It is assumed that if we have a memdisk, grub-mkimage has set
36658 grub_prefix to include the "(memdisk)" drive in it.
36659
36660 2008-06-15 Robert Millan <rmh@aybabtu.com>
36661
36662 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
36663 Initialize keyboard controller after registering the terminal, so that
36664 grub_printf() can be called from grub_keyboard_controller_init().
36665
36666 2008-06-15 Robert Millan <rmh@aybabtu.com>
36667
36668 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
36669 extent-btree which is written as big endian on disk.
36670 Reported by Alain Greppin <al@chilibi.org>.
36671
36672 2008-06-14 Robert Millan <rmh@aybabtu.com>
36673
36674 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
36675 * util/i386/pc/grub-install.in (modules): Likewise.
36676
36677 2008-06-13 Pavel Roskin <proski@gnu.org>
36678
36679 * commands/ls.c (grub_ls_list_files): Fix format warnings.
36680
36681 2008-06-13 Bean <bean123ch@gmail.com>
36682
36683 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
36684
36685 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
36686
36687 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
36688 to indicate sparse block.
36689
36690 2008-06-12 Pavel Roskin <proski@gnu.org>
36691
36692 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
36693 number, grub_fshelp_read() does it for us.
36694
36695 * fs/fshelp.c (grub_fshelp_read): New function. Implement
36696 linear disk read with journal translation.
36697 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
36698 * include/grub/fshelp.h: Declare grub_fshelp_read().
36699
36700 2008-06-09 Pavel Roskin <proski@gnu.org>
36701
36702 * fs/minix.c (grub_minix_mount): Handle error reading
36703 superblock.
36704
36705 2008-06-08 Robert Millan <rmh@aybabtu.com>
36706
36707 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
36708 don't append the RAID prefix afterwards.
36709 Reported by Clint Adams.
36710
36711 2008-06-08 Robert Millan <rmh@aybabtu.com>
36712
36713 Based on description from Pavel:
36714 * kern/disk.c (grub_disk_check_range): Rename to ...
36715 (grub_disk_adjust_range): ... this. Add a comment explaining the
36716 tasks performed by this function.
36717
36718 2008-06-08 Robert Millan <rmh@aybabtu.com>
36719
36720 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
36721 `num_serial' (for consistency with other variables).
36722 (struct grub_ntfs_data): Add `uuid' member.
36723 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
36724 (grub_ntfs_uuid): New function.
36725 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
36726
36727 2008-06-07 Pavel Roskin <proski@gnu.org>
36728
36729 * util/biosdisk.c (open_device): Revert last change to the
36730 function, it broke installation. The sector needs to be
36731 different dependent on which device is opened.
36732
36733 2008-06-06 Robert Millan <rmh@aybabtu.com>
36734
36735 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
36736 rest of GRUB, and breakage doesn't happen if its value were modified.
36737
36738 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36739 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
36740 a constant (same value).
36741 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
36742 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
36743
36744 2008-06-06 Robert Millan <rmh@aybabtu.com>
36745
36746 * util/biosdisk.c (open_device): Do not modify sector offset when
36747 accessing a partition. kern/disk.c already handles this for us.
36748
36749 2008-06-06 Robert Millan <rmh@aybabtu.com>
36750
36751 * util/grub-emu.c (grub_machine_init): Move code in this function from
36752 here ...
36753 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
36754 segfault in case grub_printf() is called).
36755
36756 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
36757 grub_probe. Update all users not to explicitly add it again.
36758 (grub_device): New variable; contains corresponding device for grubdir.
36759 (fs_module, partmap_module, devabstraction_module): Pass
36760 `--device ${grub_device}' to grub_probe to avoid traversing /dev
36761 every time.
36762
36763 2008-06-05 Robert Millan <rmh@aybabtu.com>
36764
36765 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
36766 is found, print it (same layout as with labels).
36767
36768 2008-06-04 Robert Millan <rmh@aybabtu.com>
36769
36770 * util/biosdisk.c (get_drive): Rename to ...
36771 (find_grub_drive): ... this. Update all users.
36772
36773 (get_os_disk): Rename to ...
36774 (convert_system_partition_to_system_disk): ... this. Update all users.
36775
36776 (find_drive): Rename to ...
36777 (find_system_device): ... this. Update all users.
36778
36779 2008-06-04 Robert Millan <rmh@aybabtu.com>
36780
36781 * util/biosdisk.c (get_os_disk): Handle IDA devices.
36782 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36783 (make_device_map): Likewise.
36784
36785 2008-06-01 Robert Millan <rmh@aybabtu.com>
36786
36787 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
36788 before dereferencing it.
36789
36790 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
36791 union with fat12/fat16-specific ones. Add some new fields, including
36792 `num_serial' for both versions.
36793 (struct grub_fat_data): Add `uuid' member.
36794 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
36795 names. Initialize `data->uuid' using `num_serial'.
36796 (grub_fat_uuid): New function.
36797 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
36798
36799 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
36800 (grub_reiserfs_uuid): New function.
36801 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
36802 member.
36803
36804 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
36805 (grub_xfs_uuid): New function.
36806 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
36807
36808 2008-06-01 Robert Millan <rmh@aybabtu.com>
36809
36810 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
36811 code that is backward compatible with pre-uuid search command.
36812
36813 2008-05-31 Robert Millan <rmh@aybabtu.com>
36814
36815 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
36816 floppies after everything else, to ensure floppy drive isn't accessed
36817 unnecessarily (patch from Bean).
36818
36819 2008-05-31 Robert Millan <rmh@aybabtu.com>
36820
36821 * commands/search.c (search_label, search_fs_uuid, search_file): Do
36822 not print device names when we were asked to set a variable.
36823
36824 2008-05-31 Robert Millan <rmh@aybabtu.com>
36825
36826 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
36827 using "cursor-on" and "cursor-off" commands (understood at least by
36828 the Open Firmware flavour on OLPC).
36829
36830 2008-05-31 Michael Gorven <michael@gorven.za.net>
36831
36832 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
36833 on and off sequences.
36834
36835 2008-05-31 Robert Millan <rmh@aybabtu.com>
36836
36837 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
36838 * util/update-grub.in: Likewise.
36839
36840 2008-05-30 Pavel Roskin <proski@gnu.org>
36841
36842 * util/biosdisk.c (linux_find_partition): Simplify logic and
36843 make the code more universal. Keep special processing for
36844 devfs, but use a simple rule for all other devices. If the
36845 device ends with a number, append 'p' and the partition number.
36846 Otherwise, append only the partition number.
36847
36848 2008-05-30 Robert Millan <rmh@aybabtu.com>
36849
36850 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
36851 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
36852 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
36853 the `root' parameter to Linux.
36854
36855 2008-05-30 Robert Millan <rmh@aybabtu.com>
36856
36857 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
36858 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
36859 --fs_uuid with --fs-uuid.
36860 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
36861 all filesystems support them).
36862
36863 2008-05-30 Robert Millan <rmh@aybabtu.com>
36864
36865 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
36866 grub_printf() flags, since we're printing in units of 2 bytes.
36867
36868 2008-05-30 Robert Millan <rmh@aybabtu.com>
36869
36870 * util/grub.d/00_header.in: Remove obsolete comment referencing
36871 convert_system_path_to_grub_path().
36872 * util/update-grub.in: Likewise.
36873 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
36874 (convert_system_path_to_grub_path): Add a warning message explaining
36875 that this function is deprecated. Rely on is_path_readable_by_grub()
36876 for the readability checks.
36877 (font_path): Use is_path_readable_by_grub() for the readability
36878 check rather than convert_system_path_to_grub_path().
36879
36880 2008-05-30 Robert Millan <rmh@aybabtu.com>
36881
36882 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
36883 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
36884 converting it first.
36885 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
36886 grub.cfg for access to font file, and afterwards call it again to set
36887 the root device.
36888
36889 2008-05-30 Robert Millan <rmh@aybabtu.com>
36890
36891 * commands/search.c (options): Add --fs_uuid option.
36892 (search_fs_uuid): New function.
36893 (grub_cmd_search): Fix --set argument passing.
36894 Use search_fs_uuid() when requested via --fs_uuid.
36895 (grub_search_init): Update help message.
36896 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
36897 and redeclare it as an array of 16-bit words.
36898 (grub_ext2_uuid): New function.
36899 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
36900 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
36901 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
36902 (GRUB_DEVICE_BOOT_UUID): New variables.
36903 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
36904 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
36905 whenever possible.
36906 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
36907 just assume `root' variable has the right value.
36908 * util/grub.d/10_linux.in: Likewise.
36909 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
36910 via PRINT_FS_UUID.
36911 (main): Recognise `-t fs_uuid' argument.
36912
36913 2008-05-30 Robert Millan <rmh@aybabtu.com>
36914
36915 * util/biosdisk.c (map): Redefine structure to hold information
36916 about GRUB drive name.
36917 (get_drive): Reimplement without assuming (and verifying) BIOS-like
36918 drive names.
36919 (call_hook): Remove.
36920 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
36921 member. Assume drive has partitions.
36922 (grub_util_biosdisk_open): Access device names via `.device' struct
36923 member.
36924 (open_device): Likewise.
36925 (find_drive): Likewise.
36926 (read_device_map): Adjust map[] usage to match the new struct
36927 definition. Don't check for duplicates (still possible, but not cheap
36928 anymore).
36929 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
36930 (make_device_name): Remove assumption of BIOS-like drive names.
36931
36932 2008-05-30 Pavel Roskin <proski@gnu.org>
36933
36934 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
36935 compiling execute.c doesn't need grub_script.tab.h anymore.
36936 (normal/command.c_DEPENDENCIES): Likewise.
36937 (normal/function.c_DEPENDENCIES): Likewise.
36938 * conf/i386-ieee1275.rmk: Likewise.
36939 * conf/i386-linuxbios.rmk: Likewise.
36940 * conf/i386-pc.rmk: Likewise.
36941 * conf/powerpc-ieee1275.rmk: Likewise.
36942 * conf/sparc64-ieee1275.rmk: Likewise.
36943
36944 2008-05-29 Pavel Roskin <proski@gnu.org>
36945
36946 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
36947 when scanning metadata for volume group name.
36948
36949 * include/grub/script.h: Don't include grub_script.tab.h. It's
36950 a generated file, which may only be included from the files with
36951 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
36952 use union YYSTYPE, as the later allows forward declaration.
36953 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
36954
36955 2008-05-29 Robert Millan <rmh@aybabtu.com>
36956
36957 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
36958 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
36959 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
36960 (grub_console_checkkey): Add grub_dprintf() call to report unknown
36961 scan codes.
36962
36963 2008-05-29 Robert Millan <rmh@aybabtu.com>
36964
36965 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
36966 control key combinations.
36967
36968 2008-05-29 Robert Millan <rmh@aybabtu.com>
36969
36970 * util/powerpc/ieee1275/grub-install.in: Move from here ...
36971 * util/ieee1275/grub-install.in: ... to here.
36972 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
36973 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
36974 (grub_install_SOURCES): Likewise.
36975
36976 2008-05-29 Robert Millan <rmh@aybabtu.com>
36977
36978 * fs/affs.c: Update copyright year.
36979 * fs/ext2.c: Likewise.
36980 * fs/fshelp.c: Likewise.
36981 * fs/hfsplus.c: Likewise.
36982 * fs/ntfs.c: Likewise.
36983 * fs/xfs.c: Likewise.
36984 * include/grub/fshelp.h: Likewise.
36985 * util/grub-mkdevicemap.c: Likewise.
36986
36987 2008-05-28 Robert Millan <rmh@aybabtu.com>
36988
36989 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
36990 might need to be fatfs to support some firmware implementations
36991 (e.g. OFW or EFI).
36992
36993 2008-05-28 Robert Millan <rmh@aybabtu.com>
36994
36995 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
36996 devices.
36997 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36998 (make_device_map): Likewise.
36999
37000 2008-05-20 Bean <bean123ch@gmail.com>
37001
37002 * fs/fshelp.c (grub_fshelp_map_block): New function.
37003 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
37004 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
37005
37006 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
37007 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
37008 (grub_fshelp_journal): New structure.
37009 (grub_fshelp_map_block): New function prototype.
37010 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
37011 (grub_fshelp_map_block): Likewise.
37012
37013 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
37014 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
37015 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
37016 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
37017 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
37018 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
37019 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
37020 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
37021 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
37022 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
37023 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
37024 (grub_ext2_sblock): New members for journal support.
37025 (grub_ext3_journal_header): New structure.
37026 (grub_ext3_journal_revoke_header): Likewise.
37027 (grub_ext3_journal_block_tag): Likewise.
37028 (grub_ext3_journal_sblock): Likewise.
37029 (grub_fshelp_node): New members logfile and journal.
37030 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
37031 grub_fshelp_map_block to get real block number.
37032 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
37033 number.
37034 (grub_ext2_read_inode): Likewise.
37035 (grub_ext3_get_journal): New function.
37036 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
37037 (grub_ext2_close): Release memory used by journal.
37038
37039 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
37040 (REISERFS_MAGIC_DESC_BLOCK): New macro.
37041 (grub_reiserfs_transaction_header): Renamed to
37042 grub_reiserfs_description_block, replace field data with real_blocks.
37043 (grub_reiserfs_commit_block): New structure.
37044 (grub_reiserfs_data): New member journal.
37045 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
37046 number.
37047 (grub_reiserfs_read_symlink): Likewise.
37048 (grub_reiserfs_iterate_dir): Likewise.
37049 (grub_reiserfs_open): Likewise.
37050 (grub_reiserfs_read): Likewise.
37051 (grub_reiserfs_get_journal): New function.
37052 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
37053 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
37054 using grub_reiserfs_get_journal.
37055 (grub_reiserfs_close): Release memory used by journal.
37056
37057 * fs/affs.c (grub_affs_read_block): Change block type to
37058 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
37059
37060 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
37061
37062 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
37063
37064 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
37065
37066 * fs/udf.c (grub_udf_read_block): Change block type to
37067 grub_disk_addr_t. Use type cast to avoid warning.
37068
37069 * fs/xfs.c (grub_xfs_read_block): Likewise.
37070
37071 2008-05-16 Christian Franke <franke@computer.org>
37072
37073 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
37074 to ensure that break with ESC will always work.
37075 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
37076 Remove ESC from keyboard queue.
37077
37078 2008-05-16 Christian Franke <franke@computer.org>
37079
37080 * util/biosdisk.c: [__CYGWIN__] Add includes.
37081 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
37082 (get_os_disk): Move variable declarations to OS specific
37083 parts to avoid warning.
37084 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
37085 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
37086 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
37087 Cygwin.
37088 * util/getroot.c: [__CYGWIN__] Add includes.
37089 (strip_extra_slashes): Fix "/" case.
37090 [__CYGWIN__] (get_win32_path): New function.
37091 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
37092 [__CYGWIN__] (find_root_device): Disable.
37093 [__CYGWIN__] (get_bootsec_serial): New function.
37094 [__CYGWIN__] (find_cygwin_root_device): Likewise.
37095 [__linux__] (grub_guess_root_device): Add early returns to simplify
37096 structure.
37097 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
37098 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
37099 check for Linux only.
37100
37101 2008-05-15 Bean <bean123ch@gmail.com>
37102
37103 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
37104 keyboard hang problem in apple's intel mac.
37105
37106 2008-05-09 Robert Millan <rmh@aybabtu.com>
37107
37108 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
37109 devices.
37110 * util/grub-mkdevicemap.c (get_virtio_disk_name)
37111 (make_device_map): Likewise.
37112 Reported by Aurelien Jarno <aurel32@debian.org>
37113
37114 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
37115
37116 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
37117 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
37118 (make_device_map): Output entries for xvd type disks.
37119
37120 2008-05-07 Robert Millan <rmh@aybabtu.com>
37121
37122 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
37123 devices.
37124 * util/grub-mkdevicemap.c (get_cciss_disk_name)
37125 (make_device_map): Likewise.
37126 Reported by Roland Dreier <rdreier@cisco.com>
37127
37128 2008-05-07 Robert Millan <rmh@aybabtu.com>
37129
37130 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
37131 grub_strstr() call. Correct a few mistakes in failure path handling.
37132
37133 2008-05-06 Robert Millan <rmh@aybabtu.com>
37134
37135 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
37136 Do not print a trailing slash (therefore, the root directory is an
37137 empty string).
37138 (convert_system_path_to_grub_path): Do not remove trailing slash
37139 from make_system_path_relative_to_its_root() output.
37140
37141 * util/i386/pc/grub-install.in: Add trailing slash to output from
37142 make_system_path_relative_to_its_root().
37143
37144 2008-05-06 Robert Millan <rmh@aybabtu.com>
37145
37146 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
37147 ensures that output lines aren't intermangled with those sent to
37148 stderr (via grub_util_info()).
37149 * util/grub-probe.c (grub_refresh): Likewise.
37150 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
37151
37152 2008-05-05 Christian Franke <franke@computer.org>
37153
37154 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
37155 Add Cygwin device names.
37156 (get_ide_disk_name) [__CYGWIN__]: Likewise.
37157 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
37158 (check_device): Return error instead of success on empty name.
37159 (make_device_map): Move label inside linux specific code to
37160 prevent compiler warning.
37161
37162 2008-04-30 Robert Millan <rmh@aybabtu.com>
37163
37164 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
37165 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
37166 first boot option.
37167 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
37168
37169 2008-04-29 Robert Millan <rmh@aybabtu.com>
37170
37171 * docs/grub.cfg: New file (example GRUB configuration).
37172
37173 2008-04-26 Robert Millan <rmh@aybabtu.com>
37174
37175 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
37176 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
37177 and `disk/ieee1275/nand.c'.
37178
37179 2008-04-25 Bean <bean123ch@gmail.com>
37180
37181 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
37182 i386-linuxbios.
37183
37184 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
37185 change the buffer size to 4096 for cdrom device.
37186
37187 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
37188 and nand.mod.
37189 (_linux_mod_SOURCES): New variable.
37190 (_linux_mod_CFLAGS): Likewise.
37191 (_linux_mod_LDFLAGS): Likewise.
37192 (linux_mod_SOURCES): Likewise.
37193 (linux_mod_CFLAGS): Likewise.
37194 (linux_mod_LDFLAGS): Likewise.
37195 (nand_mod_SOURCES): Likewise.
37196 (nand_mod_CFLAGS): Likewise.
37197 (nand_mod_LDFLAGS): Likewise.
37198
37199 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
37200 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
37201 type property. (nand device in olpc don't have this property)
37202
37203 * include/grub/disk.h (grub_disk_dev_id): New macro
37204 GRUB_DISK_DEVICE_NAND_ID.
37205
37206 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
37207 function prototype.
37208 (grub_rescue_cmd_initrd): Likewise.
37209
37210 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
37211 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
37212 ofw_cif_handler and ofw_idt, adjust padding number.
37213
37214 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
37215 GRUB_MACHINE_IEEE1275 is defined.
37216
37217 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
37218 Use NESTED_FUNC_ATTR attribute on the hook parameter.
37219
37220 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
37221 on nested function heap_init.
37222 (grub_upper_mem): New variable for i386-ieee1275.
37223 (grub_get_extended_memory): New function for i386-ieee1275.
37224 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
37225
37226 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
37227 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
37228 property.
37229
37230 * loader/i386/ieee1275/linux.c: New file.
37231
37232 * loader/i386/ieee1275/linux_normal.c: New file.
37233
37234 * disk/ieee1275/nand.c: New file.
37235
37236 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
37237
37238 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
37239 value.
37240 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
37241
37242 2008-04-18 Robert Millan <rmh@aybabtu.com>
37243
37244 Restructures early code path on ieee1275 to unify grub_main() as
37245 the first C function that is executed in every platform.
37246
37247 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
37248 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
37249 cmain().
37250 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
37251 * kern/ieee1275/cmain.c (cmain): Rename to ...
37252 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
37253 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
37254 at the beginning.
37255
37256 2008-04-18 Robert Millan <rmh@aybabtu.com>
37257
37258 * util/update-grub.in: Fix syntax error when setting
37259 `GRUB_PRELOAD_MODULES'.
37260 Reported by Stephane Chazelas <stephane@artesyncp.com>
37261
37262 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
37263
37264 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
37265 section into account, newer toolchains generate unique build ids
37266 * configure.ac: remove the test for --build-id=none acceptance,
37267 we want build ids to be preserved
37268 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
37269 far from other sections don't cause the raw binary images grow
37270 size
37271
37272 2008-04-15 Robert Millan <rmh@aybabtu.com>
37273
37274 * disk/lvm.c: Update copyright year.
37275 * kern/misc.c: Likewise.
37276
37277 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
37278
37279 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
37280 there is no memory left for physical volume name.
37281
37282 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
37283
37284 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
37285 volume name mapping to support bigger than 9 character names properly.
37286
37287 2008-04-13 Robert Millan <rmh@aybabtu.com>
37288
37289 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
37290 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
37291
37292 2008-04-13 Christian Franke <franke@computer.org>
37293
37294 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
37295 to create a floppy emulation boot CD when non emulation mode
37296 does not work.
37297 Enable Joliet CD filesystem extension.
37298
37299 2008-04-13 Robert Millan <rmh@aybabtu.com>
37300
37301 * kern/misc.c (grub_strncat): Fix off-by-one error.
37302 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
37303
37304 * kern/env.c (grub_env_context_close): Clear current context, not
37305 previous one.
37306 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
37307
37308 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
37309
37310 2008-04-13 Robert Millan <rmh@aybabtu.com>
37311
37312 Improve robustness when handling LVM.
37313
37314 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
37315 (and leave `*p' unmodified).
37316 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
37317 through it.
37318 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
37319 iterating through it.
37320 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
37321 through it.
37322 (grub_lvm_scan_device): Check the return value (and fail gracefully
37323 when due) on each grub_lvm_getvalue() or grub_strstr() call.
37324 Don't assume `vg->pvs != NULL' when iterating through it.
37325
37326 2008-04-13 Robert Millan <rmh@aybabtu.com>
37327
37328 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
37329 * genmk.rb (partmap): New variable.
37330 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
37331 (#{partmap}): New target rule.
37332 * genpartmaplist.sh: New file.
37333 * Makefile.in (pkglib_DATA): Add partmap.lst.
37334 (partmap.lst): New target rule.
37335 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
37336 modules (including all partition maps), instead of preloading them.
37337
37338 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
37339
37340 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
37341 `linux-boot-prober' (if installed) to detect other operating
37342 systems which are installed on the computer and add them to
37343 the boot menu.
37344 * conf/common.rmk: Build and install 30_os-prober.
37345
37346 2008-04-12 Robert Millan <rmh@aybabtu.com>
37347
37348 * kern/powerpc/ieee1275/init.c: Move from here ...
37349 * kern/ieee1275/init.c: ... to here. Update all users.
37350
37351 * kern/powerpc/ieee1275/cmain.c: Move from here ...
37352 * kern/ieee1275/cmain.c: ... to here. Update all users.
37353
37354 * kern/powerpc/ieee1275/openfw.c: Move from here ...
37355 * kern/ieee1275/openfw.c: ... to here. Update all users.
37356
37357 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
37358 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
37359
37360 2008-04-10 Pavel Roskin <proski@gnu.org>
37361
37362 * configure.ac: Always use "_cv_" in cache variables for
37363 compatibility with Autoconf 2.62.
37364
37365 2008-04-07 Robert Millan <rmh@aybabtu.com>
37366
37367 Revert grub/machine/init.h addition by Pavel (since it breaks on
37368 i386-ieee1275 and others):
37369 * util/i386/pc/misc.c: Remove grub/machine/init.h.
37370 * util/powerpc/ieee1275/misc.c: Likewise.
37371
37372 2008-04-07 Robert Millan <rmh@aybabtu.com>
37373
37374 * util/grub-probe.c (probe): Improve error message.
37375
37376 2008-04-07 Robert Millan <rmh@aybabtu.com>
37377
37378 * util/biosdisk.c (read_device_map): Skip devices that don't exist
37379 (this prevents the presence of a bogus entry from ruining the whole
37380 thing).
37381
37382 2008-04-06 Pavel Roskin <proski@gnu.org>
37383
37384 * util/biosdisk.c: Include grub/util/biosdisk.h.
37385 * util/grub-fstest.c (execute_command): Make static.
37386 * util/grub-mkdevicemap.c (check_device): Likewise.
37387 * util/i386/pc/misc.c: Include grub/machine/init.h.
37388 * util/powerpc/ieee1275/misc.c: Likewise.
37389 * util/lvm.c: Include grub/util/lvm.h.
37390 * util/misc.c: Include grub/kernel.h, grub/misc.h and
37391 grub/cache.h.
37392 * util/raid.c: Include grub/util/raid.h.
37393 (grub_util_getdiskname): Make static.
37394
37395 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
37396 grub_hostfs_fini(), as they are called from grub_init_all() and
37397 grub_fini_all() respectively. This fixes an infinite loop in
37398 grub-fstest due to double registration of hostfs.
37399 Reported by Christian Franke <Christian.Franke@t-online.de>
37400
37401 2008-04-05 Pavel Roskin <proski@gnu.org>
37402
37403 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
37404 all 8 functions. Otherwise, probe function 0 only.
37405
37406 2008-04-04 Pavel Roskin <proski@gnu.org>
37407
37408 * commands/lspci.c (grub_lspci_iter): Print the bus number
37409 correctly.
37410
37411 * commands/lspci.c (grub_pci_classes): Fix typos.
37412 (grub_lspci_iter): Don't print func twice. Print vendor ID
37413 before device ID, as it's normally done.
37414
37415 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
37416 Fix signedness warnings.
37417 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
37418 Likewise.
37419 * util/ieee1275/get_disk_name.c: Include config.h so that
37420 _GNU_SOURCE is defined and getline() is declared. Mark an
37421 unused argument as such. Fix a signedness warning.
37422
37423 2008-04-02 Pavel Roskin <proski@gnu.org>
37424
37425 * genkernsyms.sh.in: Use more robust assignments for CC and
37426 srcdir. Quote srcdir.
37427 * gensymlist.sh.in: Likewise. Assert at the compile time that
37428 the symbol table is not empty.
37429
37430 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
37431 * fs/cpio.c (grub_cpio_read): Likewise.
37432
37433 2008-04-01 Pavel Roskin <proski@gnu.org>
37434
37435 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
37436 * disk/host.c (grub_host_open): Likewise.
37437 * disk/loopback.c (grub_loopback_open): Likewise.
37438 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
37439 disk->id as in disk/host.c, not a multi-character constant.
37440
37441 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
37442 later is obsolete, potentially dangerous and sets a bad example.
37443 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
37444 * util/misc.c (grub_util_get_image_size): Likewise.
37445
37446 * disk/loopback.c (options): Improve help for "--partitions".
37447
37448 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
37449 options to align them with the short options, e.g. "echo -e".
37450
37451 2008-03-31 Bean <bean123ch@gmail.com>
37452
37453 * video/reader/png.c (grub_png_data): New member is_16bit and
37454 image_data.
37455 (grub_png_decode_image_header): Detect 16 bit png image.
37456 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
37457 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
37458 (grub_video_reader_png): Release memory occupied by image_data.
37459
37460 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
37461 4096 bytes.
37462 (grub_nfs_mount): Skip the test for sector per cluster.
37463
37464 * include/grub/ntfs.h (MAX_SPC): Removed.
37465
37466 2008-03-31 Bean <bean123ch@gmail.com>
37467
37468 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
37469 (grub_probe_SOURCES): Add fs/afs.c.
37470 (grub_fstest_SOURCES): Likewise.
37471 (afs_mod_SOURCES): New variable.
37472 (afs_mod_CFLAGS): Likewise.
37473 (afs_mod_LDFLAGS): Likewise.
37474
37475 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
37476 (grub_emu_SOURCES): Likewise.
37477
37478 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37479
37480 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37481
37482 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37483
37484 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37485
37486 * fs/afs.c: New file.
37487
37488 2008-03-30 Pavel Roskin <proski@gnu.org>
37489
37490 * disk/host.c: Include grub/misc.h to fix a warning.
37491 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
37492 warnings about implicit declarations.
37493
37494 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
37495 variable.
37496 * include/grub/i386/loader.h: Change declaration of
37497 grub_linux_boot() to match what grub_loader_set() expects.
37498 * util/getroot.c (grub_guess_root_device): Return const char* to
37499 fix a warning.
37500 * util/grub-probe.c (probe): Fix a warning about uninitialized
37501 abstraction_name variable.
37502 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
37503 second argument as unused to fix a warning.
37504
37505 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
37506 missing grub_error() call.
37507
37508 * util/update-grub_lib.in: Define datarootdir, since Autoconf
37509 2.60 and newer uses it to define datadir.
37510
37511 * commands/sleep.c: Fix warning about implicit declaration.
37512 * disk/memdisk.c: Likewise.
37513 * loader/aout.c: Likewise.
37514 * loader/i386/bsd_normal.c: Likewise.
37515 * util/grub-probe.c: Likewise.
37516
37517 * commands/i386/cpuid.c (has_longmode): Make static.
37518 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
37519 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
37520
37521 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
37522 GDT. This is more robust, as %ds can change.
37523 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
37524 calling real_to_prot().
37525 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
37526
37527 2008-03-28 Pavel Roskin <proski@gnu.org>
37528
37529 * kern/i386/pc/startup.S: Assert that uncompressed functions
37530 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
37531 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
37532 code, as they push parts of the code (error handlers) beyond
37533 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
37534 code as correctness and size.
37535
37536 2008-03-28 Pavel Roskin <proski@gnu.org>
37537
37538 * kern/i386/pc/startup.S
37539 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
37540 data block address to the real mode, keep offset minimal. This
37541 works around a bug in AWARD BIOS on old Athlon systems, which
37542 makes CD detection hang.
37543
37544 2008-03-26 Pavel Roskin <proski@gnu.org>
37545
37546 * normal/color.c (grub_parse_color_name_pair): Make `name' a
37547 const.
37548 * include/grub/normal.h: Add grub_parse_color_name_pair()
37549 declaration.
37550
37551 2008-03-24 Bean <bean123ch@gmail.com>
37552
37553 * disk/i386/pc/biosdisk.c (cd_start): Removed.
37554 (cd_count): Removed.
37555 (cd_drive): New variable.
37556 (grub_biosdisk_get_drive): Don't check for (cdN) device.
37557 (grub_biosdisk_call_hook): Likewise.
37558 (grub_biosdisk_iterate): Change cdrom detection method.
37559 (grub_biosdisk_open): Replace cd_start with cd_drive.
37560 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
37561 detect cdrom device.
37562
37563 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
37564 Removed.
37565 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
37566 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
37567 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
37568 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
37569 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
37570 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
37571 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
37572 (grub_biosdisk_cdrp): New structure.
37573 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
37574
37575 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
37576
37577 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
37578 device.
37579
37580 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
37581 New function.
37582
37583 2008-03-20 Robert Millan <rmh@aybabtu.com>
37584
37585 Remove 2 TiB limit in ata.mod.
37586 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
37587 (grub_ata_dumpinfo): Print sector count with 0x%llx.
37588 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
37589 grub_uint64_t instead of grub_uint32_t.
37590
37591 2008-03-05 Bean <bean123ch@gmail.com>
37592
37593 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
37594 (grub_multiboot): Set boot device.
37595
37596 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
37597
37598 2008-03-02 Bean <bean123ch@gmail.com>
37599
37600 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
37601 symlink_buffer.
37602
37603 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
37604
37605 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
37606 texinfo.tex.
37607
37608 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
37609 modified.
37610
37611 * docs/fdl.texi: New file.
37612
37613 * docs/mdate-sh: New file. Copied from gnulib.
37614 * docs/texinfo.tex: Likewise.
37615
37616 * config.guess: Updated from gnulib.
37617 * install-sh: Likewise.
37618
37619 2008-02-28 Robert Millan <rmh@aybabtu.com>
37620
37621 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
37622 (aout_mod_SOURCES): New variable.
37623 (aout_mod_CFLAGS): Likewise.
37624 (aout_mod_LDFLAGS): Likewise.
37625
37626 * conf/i386-ieee1275.rmk: Likewise.
37627
37628 2008-02-28 Robert Millan <rmh@aybabtu.com>
37629
37630 * util/update-grub.in: Reorganise terminal validity check. Accept
37631 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
37632 Based on suggestion by Franklin PIAT.
37633
37634 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
37635
37636 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
37637 function.
37638 * util/getroot.c (grub_util_check_block_device): New function that
37639 returns the given argument if it is a block device and returns NULL else.
37640 * util/grub-probe.c (argument_is_device): New variable.
37641 (probe): Promote device_name from a variable to an argument. Receive
37642 device_name from grub_util_check_block_device() if path is NULL and from
37643 grub_guess_root_device() else. Do not free() device_name anymore.
37644 (options): Introduce new parameter '-d, --device'.
37645 (main): Add description of the new parameter to the help screen.
37646 Rename path variable to argument. Set argument_is_device if the '-d'
37647 option is given. Pass argument to probe() depending on
37648 argument_is_device.
37649
37650 2008-02-24 Bean <bean123ch@gmail.com>
37651
37652 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
37653 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
37654 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
37655 (GRUB_ISO9660_VOLDESC_PART): Likewise.
37656 (GRUB_ISO9660_VOLDESC_END): Likewise.
37657 (grub_iso9660_primary_voldesc): New member escape.
37658 (grub_iso9660_data): New member joliet.
37659 (grub_iso9660_convert_string): New function.
37660 (grub_iso9660_mount): Detect joliet extension.
37661 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
37662 (grub_iso9660_iso9660_label): Likewise.
37663
37664 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
37665 (grub_setup_SOURCES): Add fs/udf.c.
37666 (grub_fstest_SOURCES): Likewise.
37667 (udf_mod_SOURCES): New variable.
37668 (udf_mod_CFLAGS): Likewise.
37669 (udf_mod_LDFLAGS): Likewise.
37670
37671 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
37672 (grub_emu_SOURCES): Likewise.
37673
37674 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37675
37676 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37677
37678 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37679
37680 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37681
37682 * fs/udf.c: New file.
37683
37684 2008-02-24 Robert Millan <rmh@aybabtu.com>
37685
37686 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
37687 (normal/lexer.c_DEPENDENCIES): New variables.
37688 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37689 (normal/lexer.c_DEPENDENCIES): Likewise.
37690 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
37691 (normal/lexer.c_DEPENDENCIES): Likewise.
37692 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
37693 (normal/lexer.c_DEPENDENCIES): Likewise.
37694 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37695 (normal/lexer.c_DEPENDENCIES): Likewise.
37696 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37697 (normal/lexer.c_DEPENDENCIES): Likewise.
37698
37699 2008-02-23 Robert Millan <rmh@aybabtu.com>
37700
37701 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
37702 since they were intended to be in hex. This didn't break previously
37703 because of a bug in gpt_partition_map_iterate() (see below).
37704
37705 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
37706 when checking the validity of GPT header.
37707 Remove `partno', since it always provides the same information as `i'.
37708
37709 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
37710
37711 * include/grub/efi/time.h: Fix a wrong comment.
37712
37713 2008-02-19 Pavel Roskin <proski@gnu.org>
37714
37715 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
37716 message.
37717
37718 2008-02-19 Bean <bean123ch@gmail.com>
37719
37720 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
37721 (aout_mod_SOURCES): New variable.
37722 (aout_mod_CFLAGS): Likewise.
37723 (aout_mod_LDFLAGS): Likewise.
37724 (_bsd_mod_SOURCES): New variable.
37725 (_bsd_mod_CFLAGS): Likewise.
37726 (_bsd_mod_LDFLAGS): Likewise.
37727 (bsd_mod_SOURCES): New variable.
37728 (bsd_mod_CFLAGS): Likewise.
37729 (bsd_mod_LDFLAGS): Likewise.
37730
37731 * include/grub/aout.h: New file.
37732
37733 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
37734
37735 * include/grub/i386/bsd.h: New file.
37736
37737 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
37738 to make it public.
37739
37740 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
37741 function is called, so that it's possible to change it inside the hook.
37742 (grub_elf64_load): Likewise.
37743 (grub_elf_file): Don't close the file if elf header is not found.
37744 (grub_elf_close): Close the file if grub_elf_file fails (The new
37745 grub_elf_file won't close it).
37746 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
37747 (grub_elf64_size): Likewise.
37748
37749 * kern/i386/loader.S (grub_unix_real_boot): New function.
37750
37751 * loader/aout.c: New file.
37752
37753 * loader/i386/bsd.c: New file.
37754
37755 * loader/i386/bsd_normal.c: New file.
37756
37757 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
37758
37759 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
37760 can test other formats.
37761
37762 2008-02-19 Robert Millan <rmh@aybabtu.com>
37763
37764 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
37765 (grub_gpt_partition_type_empty): Redefine with macro from
37766 `<grub/gpt_partition.h>'.
37767 (gpt_partition_map_iterate): Adjust partition type comparison.
37768
37769 Export `entry' as partmap-specific `part.data' struct.
37770 (grub_gpt_header, grub_gpt_partentry): Move from here ...
37771
37772 * include/grub/gpt_partition.h (grub_gpt_header)
37773 (grub_gpt_partentry): ... to here (new file).
37774
37775 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
37776
37777 (grub_gpt_partition_type_bios_boot): New const variable, defined
37778 with macro from `<grub/gpt_partition.h>'.
37779
37780 (setup): Replace `first_start' with `embed_region', which keeps
37781 track of the embed region (and is partmap-agnostic).
37782
37783 Replace find_first_partition_start() with find_usable_region(),
37784 which finds a usable region for embedding using partmap-specific
37785 knowledge (supports PC/MSDOS and GPT).
37786
37787 Fix all assumptions that the embed region start at sector 1, using
37788 `embed_region.start' from now on. Similarly, use `embed_region.end'
37789 rather than `first_start' to calculate available size.
37790
37791 In grub_util_info() message, replace "into after the MBR" with an
37792 indication of the specific sector our embed region starts at.
37793
37794 2008-02-19 Robert Millan <rmh@aybabtu.com>
37795
37796 * DISTLIST: Replace `commands/ieee1275/halt.c' and
37797 `commands/ieee1275/reboot.c' with `commands/halt.c' and
37798 `commands/reboot.c'.
37799 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37800 (halt_mod_SOURCES): Likewise.
37801 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37802 (halt_mod_SOURCES): Likewise.
37803
37804 2008-02-17 Christian Franke <franke@computer.org>
37805
37806 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
37807
37808 2008-02-17 Robert Millan <rmh@aybabtu.com>
37809
37810 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37811 set `first_start' to 0 for non-PC/MSDOS partition maps.
37812
37813 2008-02-16 Robert Millan <rmh@aybabtu.com>
37814
37815 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37816 do not assume partition map is PC/MSDOS before performing checks that
37817 are specific to that layout.
37818
37819 2008-02-13 Robert Millan <rmh@aybabtu.com>
37820
37821 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
37822 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
37823 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
37824
37825 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
37826
37827 * configure.ac: Only a cosmetic change on the handling of
37828 -fno-stack-protector.
37829
37830 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
37831
37832 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
37833 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
37834 reboot.c.
37835 (grub_install_SOURCES): Add halt.mod and reboot.mod.
37836 (halt_mod_SOURCES): New variable.
37837 (halt_mod_CFLAGS): Likewise.
37838 (halt_mod_LDFLAGS): Likewise.
37839 (reboot_mod_SOURCES): Likewise.
37840 (reboot_mod_CFLAGS): Likewise.
37841 (reboot_mod_LDFLAGS): Likewise.
37842
37843 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
37844 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
37845 reboot.c.
37846 (halt_mod_SOURCES): Likewise.
37847 (reboot_mod_SOURCES): Likewise.
37848
37849 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
37850 commands/i386/pc/reboot.c by commands/reboot.c.
37851 (reboot_mod_SOURCES): Likewise.
37852
37853 * commands/i386/pc/reboot.c: merge this file ...
37854
37855 * commands/ieee1275/reboot.c: ... and this file ...
37856
37857 * commands/reboot.c: ... to this file.
37858 Add some precompiler directive to include the correct header for
37859 each machine.
37860
37861 * commands/ieee1275/halt.c: move this file ...
37862
37863 * commands/halt.c: ... to here.
37864 Add some precompiler directive to include the correct header for
37865 each machine.
37866
37867 * include/grub/efi/efi.h (grub_reboot): New function declaration.
37868 (grub_halt): Likewise.
37869
37870 * kern/efi/efi.c (grub_reboot): New function.
37871 (grub_halt): Likewise.
37872
37873 2008-02-12 Robert Millan <rmh@aybabtu.com>
37874
37875 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
37876 /dev (like it is done for /dev/mapper). This doesn't provide support
37877 for EVMS, but at least it is now easy to identify the problem when it
37878 arises.
37879
37880 2008-02-11 Robert Millan <rmh@aybabtu.com>
37881
37882 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
37883 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
37884 comparing it with -1, not 0.
37885
37886 2008-02-10 Robert Millan <rmh@aybabtu.com>
37887
37888 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
37889 `disk/lvm.c'.
37890 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37891 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
37892
37893 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
37894 `disk/lvm.c' to the end of the list.
37895 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37896 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37897
37898 2008-02-10 Robert Millan <rmh@aybabtu.com>
37899
37900 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
37901 grub_print_error() instead. This will let user know why we're entering
37902 rescue mode.
37903 Based on suggestions from Sam Morris.
37904
37905 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
37906
37907 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
37908 on remaining N args, instead of "--" arg N times.
37909
37910 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
37911
37912 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
37913 (fill_with_default_glyph): Changed to use unknown_glyph for fill
37914 pattern for unknown glyphs.
37915
37916 2008-02-09 Robert Millan <rmh@aybabtu.com>
37917
37918 * configure.ac: Probe for `help2man'.
37919 * Makefile.in (builddir): New variable.
37920 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
37921 or otherwise add a few flags/options to it.
37922 (install-local): For every executable utility or script that is
37923 installed, invoke $(HELP2MAN) to install a manpage based on --help
37924 output.
37925
37926 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
37927 that it doesn't prevent --help from working in build tree.
37928
37929 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
37930 with `bug-grub@gnu.org'.
37931 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
37932 * util/update-grub.in (usage): New function.
37933 Implement proper argument check, with support for --help and --version
37934 (as well as existing -y).
37935
37936 2008-02-09 Christian Franke <franke@computer.org>
37937
37938 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
37939 avoid overwriting previous output.
37940 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
37941
37942 2008-02-09 Robert Millan <rmh@aybabtu.com>
37943
37944 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
37945 drawing the menu.
37946
37947 2008-02-09 Robert Millan <rmh@aybabtu.com>
37948
37949 * commands/sleep.c: New file.
37950 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
37951 (sleep_mod_SOURCES): New variable.
37952 (sleep_mod_CFLAGS): Likewise.
37953 (sleep_mod_LDFLAGS): Likewise.
37954
37955 2008-02-09 Robert Millan <rmh@aybabtu.com>
37956
37957 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
37958 situations in which we can deduce the RAID size and the superblock
37959 doesn't match it.
37960
37961 2008-02-09 Robert Millan <rmh@aybabtu.com>
37962
37963 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
37964 and return a grub_diskmemberlist_t composed of LVM physical volumes.
37965 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
37966
37967 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
37968 and return a grub_diskmemberlist_t composed of physical array members.
37969 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
37970
37971 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
37972 prototype.
37973 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
37974 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
37975 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
37976
37977 * util/grub-probe.c (probe): Move partmap probing code from here ...
37978 (probe_partmap): ... to here.
37979 (probe): Use probe_partmap() once for the disk we're probing, and
37980 additionally, when such disk contains a memberlist() struct member,
37981 once for each disk that is contained in the structure returned by
37982 memberlist().
37983
37984 2008-02-09 Robert Millan <rmh@aybabtu.com>
37985
37986 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
37987 environment variable to 'all' in order to obtain debug output from
37988 non-util/ code.
37989 * util/i386/pc/grub-setup.c (main): Likewise.
37990
37991 2008-02-08 Robert Millan <rmh@aybabtu.com>
37992
37993 * disk/raid.c (grub_raid_scan_device): Check for
37994 `array->device[sb.this_disk.number]' rather than for
37995 `array->device[sb.this_disk.number]->name', since the latter is not
37996 guaranteed to be accessible.
37997
37998 2008-02-08 Robert Millan <rmh@aybabtu.com>
37999
38000 * disk/raid.c: Update copyright.
38001 * fs/cpio.c: Likewise.
38002 * include/grub/raid.h: Likewise.
38003 * loader/i386/pc/multiboot.c: Likewise.
38004 * util/hostfs.c: Likewise.
38005
38006 2008-02-08 Robert Millan <rmh@aybabtu.com>
38007
38008 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
38009 to a grub_disk_t array.
38010 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
38011 `device[x]'.
38012 (grub_raid_scan_device): Replace `device[x].name' accesses with
38013 `device[x]->name'. Simplify initialization of `array->device[x]'.
38014
38015 2008-02-08 Robert Millan <rmh@aybabtu.com>
38016
38017 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
38018 grub_dprintf() calls.
38019 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
38020 error message.
38021
38022 2008-02-07 Christian Franke <franke@computer.org>
38023
38024 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
38025 instead of fseek and ftell to support large files.
38026 (grub_hostfs_read): Likewise.
38027
38028 2008-02-07 Robert Millan <rmh@aybabtu.com>
38029
38030 Patch from Jeroen Dekkers.
38031 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
38032 failure, since successfully reading all array members might not be
38033 required.
38034
38035 2008-02-06 Robert Millan <rmh@aybabtu.com>
38036
38037 * util/grub-probe.c (probe): Simplify partmap probing (with the
38038 assumption that the first word up to the underscore equals to
38039 the module name).
38040
38041 2008-02-06 Christian Franke <franke@computer.org>
38042
38043 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
38044 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
38045 last block of a cpio or tar stream.
38046 Check for "TRAILER!!!" instead of any empty data
38047 block to detect last block of a cpio stream.
38048 (grub_cpio_dir): Fix constness of variable np.
38049 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
38050 cpio or tar trailer is detected. This fixes a crash
38051 on open of a non existing file.
38052
38053 2008-02-05 Bean <bean123ch@gmail.com>
38054
38055 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
38056 address of entry.
38057 (grub_multiboot_load_elf64): Likewise.
38058 (grub_multiboot): Initialize mbi structure.
38059
38060 * util/grub-fstest.c: Don't include unused header file script.h.
38061
38062 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
38063 of file.
38064 (grub_fstest_SOURCES): Likewise.
38065
38066 2008-02-05 Robert Millan <rmh@aybabtu.com>
38067
38068 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
38069 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
38070 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
38071 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
38072
38073 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
38074 (translation_table): Replace hardcoded values with macros
38075 provided by `<grub/term.h>'.
38076
38077 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
38078 (keyboard_map): Correct/add a few values, with macros provided
38079 by `<grub/term.h>'.
38080 (keyboard_map_shift): Zero values that don't differ from their
38081 `keyboard_map' equivalents.
38082 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
38083 Discard the second scan code that is always sent by Caps lock.
38084 Only use `keyboard_map_shift' when it provides a non-zero value,
38085 otherwise fallback to `keyboard_map'.
38086
38087 2008-02-04 Bean <bean123ch@gmail.com>
38088
38089 * Makefile.in (enable_grub_fstest): New variable.
38090
38091 * conf/common.rmk (grub_fstest_init.lst): New rule.
38092 (grub_fstest_init.h): Likewise.
38093 (grub_fstest_init.c): Likewise.
38094 (util/grub-fstest.c_DEPENDENCIES): New variable.
38095 (grub_fstest_SOURCES): Likewise.
38096
38097 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
38098
38099 * util/grub-fstest.c: New file.
38100
38101 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38102
38103 Make grub-setup handle a separate root device.
38104
38105 * util/i386/pc/grub-setup.c (setup): Always open the root device,
38106 so that the root device can be compared with the destination
38107 device.
38108 When embedding the core image, if the root and destination devices
38109 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
38110 0xFF.
38111 When not embedding, set ROOT_DRIVE to 0xFF.
38112
38113 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38114
38115 Add support for having a grub directory in a different drive. This
38116 is still only the data handling part.
38117
38118 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
38119 (codestart): Save %dh in GRUB_ROOT_DRIVE.
38120 (grub_root_drive): New variable.
38121
38122 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
38123 instead of GRUB_BOOT_DRIVE to construct a device name. Set
38124 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
38125 as it was.
38126
38127 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
38128
38129 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
38130 macro.
38131 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
38132
38133 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
38134 is bogus, because PXE booting does not specify any drive
38135 correctly.
38136
38137 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
38138 am not sure if this is really correct.
38139
38140 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
38141 is always identical to the boot drive when booting from a CD.
38142
38143 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
38144 longer.
38145 (root_drive): New variable.
38146 (real_start): Unconditionally set %dh to ROOT_DRIVE.
38147 (setup_sectors): Push %dx right after popping it, because %dh will
38148 be modified later.
38149 (copy_buffer): Restore %dx.
38150
38151 2008-02-03 Robert Millan <rmh@aybabtu.com>
38152
38153 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
38154 use `cdboot.img' for cdrom images.
38155
38156 2008-02-03 Robert Millan <rmh@aybabtu.com>
38157
38158 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
38159 only setup gfxterm when `font' command has succeeded.
38160
38161 2008-02-03 Robert Millan <rmh@aybabtu.com>
38162
38163 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
38164 (grub_rescue_cmd_multiboot_loader)
38165 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
38166
38167 2008-02-03 Pavel Roskin <proski@gnu.org>
38168
38169 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
38170 %edx and %esi from stack only after grub_gate_a20() is called.
38171 grub_gate_a20() clobbers %edx.
38172
38173 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38174
38175 * configure.ac (AC_INIT): Bumped to 1.96.
38176
38177 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
38178 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
38179 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
38180 video/readers/png.c.
38181
38182 2008-02-03 Bean <bean123ch@gmail.com>
38183
38184 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
38185 (cdboot_img_SOURCES): New variable.
38186 (cdboot_img_ASFLAGS): New variable.
38187 (cdboot_img_LDFLAGS): New variable.
38188
38189 * boot/i386/pc/cdboot.S: New file.
38190
38191 * disk/i386/pc/biosdisk.c (cd_start): New variable.
38192 (cd_count): Likewise.
38193 (grub_biosdisk_get_drive): Add support for cd device.
38194 (grub_biosdisk_call_hook): Likewise.
38195 (grub_biosdisk_iterate): Likewise.
38196 (grub_biosdisk_open): Likewise.
38197 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
38198 (grub_biosdisk_rw): Support reading from cd device.
38199 (GRUB_MOD_INIT): Iterate cd devices.
38200
38201 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
38202 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
38203 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
38204
38205 * kern/i386/pc/init.c (make_install_device): Check for cd device.
38206
38207 2008-02-02 Robert Millan <rmh@aybabtu.com>
38208
38209 * commands/read.c: New file.
38210 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
38211 (read_mod_SOURCES): New variable.
38212 (read_mod_CFLAGS): Likewise.
38213 (read_mod_LDFLAGS): Likewise.
38214
38215 2008-02-02 Robert Millan <rmh@aybabtu.com>
38216
38217 * normal/main.c (grub_normal_execute): Check for `menu->size' when
38218 determining whether menu has to be displayed.
38219
38220 2008-02-02 Marco Gerards <marco@gnu.org>
38221
38222 * bus/pci.c: New file.
38223
38224 * include/grub/pci.h: Likewise.
38225
38226 * include/grub/i386/pc/pci.h: Likewise.
38227
38228 * commands/lspci.c: Likewise.
38229
38230 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
38231 `lspci.mod'.
38232 (pci_mod_SOURCES): New variable.
38233 (pci_mod_CFLAGS): Likewise.
38234 (pci_mod_LDFLAGS): Likewise.
38235 (lspci_mod_SOURCES): Likewise.
38236 (lspci_mod_CFLAGS): Likewise.
38237 (lspci_mod_LDFLAGS): Likewise.
38238
38239 2008-02-02 Bean <bean123ch@gmail.com>
38240
38241 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
38242 (grub_ufs_get_file_block): Fix indirect block calculation problem.
38243
38244 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
38245 (grub_xfs_btree_node): New structure.
38246 (grub_xfs_btree_root): New structure.
38247 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
38248 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
38249 (GRUB_XFS_EXTENT_BLOCK): Likewise.
38250 (GRUB_XFS_EXTENT_SIZE): Likewise.
38251 (grub_xfs_read_block): Support btree format type.
38252 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
38253 Use directory block as basic unit.
38254
38255 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
38256
38257 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
38258 __attribute__ ((__regparm__ (1))).
38259
38260 2008-02-01 Robert Millan <rmh@aybabtu.com>
38261
38262 Correct a mistake in previous commit.
38263
38264 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
38265 top.
38266 (normal/command.c_DEPENDENCIES): New variable.
38267
38268 2008-02-01 Robert Millan <rmh@aybabtu.com>
38269
38270 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
38271 top.
38272 (normal/command.c_DEPENDENCIES): New variable.
38273 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
38274 * conf/i386-ieee1275.rmk: Likewise.
38275 * conf/i386-linuxbios.rmk: Likewise.
38276 * conf/i386-pc.rmk: Likewise.
38277 * conf/sparc64-ieee1275.rmk: Likewise.
38278 * conf/powerpc-ieee1275.rmk: Likewise.
38279 (grub_emu_SOURCES): Add `fs/fshelp.c'.
38280
38281 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
38282
38283 2008-02-01 Robert Millan <rmh@aybabtu.com>
38284
38285 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
38286 call at beginning of function.
38287
38288 2008-01-31 Pavel Roskin <proski@gnu.org>
38289
38290 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
38291 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
38292 (grub_mkrescue_SOURCES): Likewise.
38293 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
38294
38295 2008-01-30 Robert Millan <rmh@aybabtu.com>
38296
38297 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
38298 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
38299 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
38300 (grub_probe_SOURCES): ... to here.
38301
38302 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
38303 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
38304 * conf/i386-ieee1275.rmk: Likewise.
38305 * conf/i386-linuxbios.rmk: Likewise.
38306 * conf/powerpc-ieee1275.rmk: Likewise.
38307
38308 2008-01-30 Tristan Gingold <gingold@free.fr>
38309
38310 * kern/rescue.c: Silently accept empty lines.
38311
38312 2008-01-29 Bean <bean123ch@gmail.com>
38313
38314 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
38315 (real_code_2): Code cleanup and change comment style.
38316 (move_memory): Avoid using 32-bit address mode.
38317
38318 2008-01-29 Bean <bean123ch@gmail.com>
38319
38320 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
38321 (png_mod_SOURCES): New variable.
38322 (png_mod_CFLAGS): Likewise.
38323 (png_mod_LDFLAGS): Likewise.
38324
38325 * video/readers/png.c: New file.
38326
38327 2008-01-28 Robert Millan <rmh@aybabtu.com>
38328
38329 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
38330 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
38331 `ifndef GRUB_MOD_GAP' hack.
38332 * util/elf/grub-mkimage.c (add_segments): Likewise.
38333
38334 2008-01-27 Robert Millan <rmh@aybabtu.com>
38335
38336 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
38337 `GRUB_MOD_GAP' for platforms in which it's not defined.
38338 * util/elf/grub-mkimage.c (add_segments): Likewise.
38339
38340 2008-01-27 Robert Millan <rmh@aybabtu.com>
38341
38342 Get grub-emu to build again (including parallel builds).
38343
38344 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
38345 Split into ...
38346 (util/grub-emu.c_DEPENDENCIES): ... this, ...
38347 (normal/execute.c_DEPENDENCIES): ... this, ...
38348 (grub-emu_DEPENDENCIES): ... and this.
38349
38350 * conf/i386-efi.rmk: Likewise.
38351 * conf/i386-linuxbios.rmk: Likewise.
38352 * conf/i386-ieee1275.rmk: Likewise.
38353 * conf/powerpc-ieee1275.rmk: Likewise.
38354 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
38355
38356 2008-01-27 Robert Millan <rmh@aybabtu.com>
38357
38358 * NEWS: Add a few items.
38359
38360 2008-01-27 Robert Millan <rmh@aybabtu.com>
38361
38362 Fix parallel builds with grub-emu. Based on earlier commit for
38363 grub-probe and grub-setup.
38364
38365 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38366 (util/grub-emu.c_DEPENDENCIES): ... this.
38367 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38368 (util/grub-emu.c_DEPENDENCIES): ... this.
38369 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38370 (util/grub-emu.c_DEPENDENCIES): ... this.
38371 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38372 (util/grub-emu.c_DEPENDENCIES): ... this.
38373 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38374 (util/grub-emu.c_DEPENDENCIES): ... this.
38375
38376 2008-01-27 Pavel Roskin <proski@gnu.org>
38377
38378 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
38379 to create a gap between _end and the modules added to the image
38380 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
38381 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
38382 * util/elf/grub-mkimage.c (add_segments): Likewise.
38383
38384 2008-01-26 Pavel Roskin <proski@gnu.org>
38385
38386 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
38387 just return an error.
38388
38389 2008-01-26 Bean <bean123ch@gmail.com>
38390
38391 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
38392 (grub_reiserfs_get_item): Save offset of the next item.
38393 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
38394
38395 2008-01-25 Robert Millan <rmh@aybabtu.com>
38396
38397 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
38398 make all filesystem sources appear together (possibly fixing omissions
38399 while at it).
38400 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38401 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38402 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38403 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38404
38405 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
38406 add `kern/file.c'.
38407 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
38408 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
38409 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
38410 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
38411
38412 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
38413 (probe): Add a sanity check to make sure of our ability to read
38414 requested files when probing for filesystem type.
38415
38416 * genmk.rb: Update copyright year (2007).
38417
38418 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
38419 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
38420 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
38421 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
38422 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
38423 : Remove function prototypes.
38424
38425 2008-01-25 Robert Millan <rmh@aybabtu.com>
38426
38427 Revert my previous commits (based on wrong assumption of how grub_errno
38428 works).
38429
38430 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
38431 * kern/file.c (grub_file_open): Likewise.
38432
38433 2008-01-24 Pavel Roskin <proski@gnu.org>
38434
38435 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
38436 that hang if GRUB tries to setup colors.
38437 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
38438 colors for firmwares that don't support it.
38439 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
38440 Recognize Open Hack'Ware, set flags to work around its
38441 limitations.
38442
38443 2008-01-24 Robert Millan <rmh@aybabtu.com>
38444
38445 * kern/file.c (grub_file_open): Do not account previous failures of
38446 unrelated functions when grub_errno is checked for.
38447 Reported by Oleg Strikov.
38448
38449 2008-01-24 Bean <bean123ch@gmail.com>
38450
38451 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
38452 (grub_ufs_sblock): New member volume name.
38453 (grub_ufs_find_file): Fix string copy bug.
38454 (grub_ufs_label): Implement this function properly.
38455
38456 * fs/hfs.c (grub_hfs_cnid_type): New enum.
38457 (grub_hfs_iterate_records): Use the correct file number for extents
38458 and catalog file. Fix problem in next index calculation.
38459 (grub_hfs_find_node): Replace recursive function call with loop.
38460 (grub_hfs_iterate_dir): Replace recursive function call with loop.
38461
38462 2008-01-23 Robert Millan <rmh@aybabtu.com>
38463
38464 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
38465 `<grub/symbol.h>' and `<grub/multiboot.h>'.
38466 (grub_multiboot2_real_boot): New function prototype.
38467
38468 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
38469 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
38470
38471 * kern/i386/ieee1275/init.c (grub_os_area_addr)
38472 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
38473
38474 2008-01-23 Robert Millan <rmh@aybabtu.com>
38475
38476 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
38477 #ifdef'ed out grub_printf().
38478
38479 2008-01-23 Robert Millan <rmh@aybabtu.com>
38480
38481 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
38482 grub_dprintf calls, since they make "debug=all" mode unusable.
38483 (grub_console_checkkey): Likewise.
38484
38485 2008-01-23 Robert Millan <rmh@aybabtu.com>
38486
38487 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
38488 `term/i386/pc/at_keyboard.c'.
38489 (pkglib_MODULES): Add `serial.mod'.
38490 (serial_mod_SOURCES): New variable.
38491 (serial_mod_CFLAGS): Likewise.
38492 (serial_mod_LDFLAGS): Likewise.
38493
38494 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
38495 `<grub/powerpc/ieee1275/console.h>'.
38496 (grub_keyboard_controller_init): New function prototype.
38497 (grub_console_checkkey): Likewise.
38498 (grub_console_getkey): Likewise.
38499
38500 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
38501 keyboard on i386.
38502
38503 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
38504 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
38505
38506 2008-01-23 Robert Millan <rmh@aybabtu.com>
38507
38508 * kern/i386/pc/init.c (make_install_device): When memdisk image is
38509 present, "(memdisk)/boot/grub" becomes the default prefix.
38510
38511 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
38512 a memdisk tarball with all the modules. Add --overlay=DIR option that
38513 allows users to overlay additional files into the image.
38514
38515 2008-01-23 Robert Millan <rmh@aybabtu.com>
38516
38517 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
38518 and `machine/memory.h'.
38519 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
38520 (_multiboot_mod_SOURCES): New variable.
38521 (_multiboot_mod_CFLAGS): Likewise.
38522 (_multiboot_mod_LDFLAGS): Likewise.
38523 (multiboot_mod_SOURCES): Likewise.
38524 (multiboot_mod_CFLAGS): Likewise.
38525 (multiboot_mod_LDFLAGS): Likewise.
38526
38527 * include/grub/i386/ieee1275/loader.h: New file.
38528
38529 * include/grub/i386/ieee1275/machine.h: Likewise.
38530
38531 * include/grub/i386/ieee1275/memory.h: Likewise.
38532
38533 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
38534 variable declaration.
38535 (grub_os_area_size): Likewise.
38536
38537 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
38538 (grub_lower_mem, grub_upper_mem): New variables.
38539 (grub_stop_floppy): New function (just to make
38540 grub_multiboot2_real_boot() happy).
38541
38542 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
38543 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
38544 (grub_stop): New function.
38545 Include `"../realmode.S"' and `"../loader.S"'.
38546
38547 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
38548 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
38549
38550 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
38551 rely on grub_multiboot2_real_boot() for final boot.
38552
38553 2008-01-22 Robert Millan <rmh@aybabtu.com>
38554
38555 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
38556 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
38557 device that doesn't look like an SD card.
38558 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
38559 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
38560 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
38561 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
38562 found.
38563
38564 2008-01-22 Robert Millan <rmh@aybabtu.com>
38565
38566 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
38567 avoid claiming over our own code.
38568
38569 2008-01-22 Bean <bean123ch@gmail.com>
38570
38571 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
38572 (jpeg_mod_SOURCES): New variable.
38573 (jpeg_mod_CFLAGS): Likewise.
38574 (jpeg_mod_LDFLAGS): Likewise.
38575
38576 * video/readers/jpeg.c : New file.
38577
38578 2008-01-22 Bean <bean123ch@gmail.com>
38579
38580 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
38581 there are no more items.
38582
38583 2008-01-21 Robert Millan <rmh@aybabtu.com>
38584
38585 * kern/mm.c (grub_mm_init_region): Improve debug message.
38586
38587 2008-01-21 Robert Millan <rmh@aybabtu.com>
38588
38589 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
38590 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
38591 address.
38592 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
38593 a C macro.
38594 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
38595 Indicates start of upper memory.
38596 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
38597 (generate_image): Abort when image size is big enough to corrupt
38598 upper memory.
38599
38600 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
38601 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
38602 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38603 instead of hardcoding 0xA0000.
38604 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
38605 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38606 instead of hardcoding 0xA0000.
38607
38608 2008-01-21 Robert Millan <rmh@aybabtu.com>
38609
38610 * disk/memdisk.c (memdisk_size): New variable.
38611 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
38612 `memdisk_size'.
38613 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
38614 image to dynamic memory.
38615 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
38616 `memdisk_size'. Free memdisk block.
38617
38618 2008-01-21 Robert Millan <rmh@aybabtu.com>
38619
38620 Fix detection of very small filesystems (like tar).
38621
38622 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
38623 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
38624 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
38625 a problem with this disk).
38626
38627 2008-01-21 Robert Millan <rmh@aybabtu.com>
38628
38629 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
38630 on grub_biosdisk_rw_standard() error.
38631
38632 2008-01-21 Robert Millan <rmh@aybabtu.com>
38633
38634 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
38635 recent changes.
38636 * kern/elf.c: Likewise.
38637 * kern/ieee1275/ieee1275.c: Likewise.
38638 * kern/powerpc/ieee1275/openfw.c: Likewise.
38639 * term/ieee1275/ofconsole.c: Likewise.
38640
38641 2008-01-21 Robert Millan <rmh@aybabtu.com>
38642
38643 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
38644
38645 * include/grub/kernel.h (grub_arch_memdisk_addr)
38646 (grub_arch_memdisk_size): Moved from here ...
38647
38648 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
38649 (grub_arch_memdisk_size): ... to here.
38650
38651 2008-01-21 Robert Millan <rmh@aybabtu.com>
38652
38653 Mostly based on bugfix from Bean.
38654
38655 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
38656 attribute with hook() parameter.
38657 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
38658 declaration.
38659 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
38660 attribute with hook() parameter.
38661 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
38662 declaration.
38663
38664 2008-01-21 Robert Millan <rmh@aybabtu.com>
38665
38666 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
38667 (pkglib_MODULES): Add `memdisk.mod'.
38668 (memdisk_mod_SOURCES): New variable.
38669 (memdisk_mod_CFLAGS): Likewise.
38670 (memdisk_mod_LDFLAGS): Likewise.
38671
38672 * disk/memdisk.c: New file.
38673
38674 * include/grub/disk.h (grub_disk_dev_id): Add
38675 `GRUB_DISK_DEVICE_MEMDISK_ID'.
38676
38677 * include/grub/i386/pc/kernel.h
38678 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
38679 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
38680 (grub_kernel_image_size): New variable declaration.
38681 (grub_total_module_size): Likewise.
38682 (grub_memdisk_image_size): Likewise.
38683
38684 * include/grub/i386/pc/memory.h
38685 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
38686
38687 * include/grub/kernel.h: Include `<grub/symbol.h>'.
38688 (grub_arch_memdisk_addr): New variable declaration.
38689 (grub_arch_memdisk_size): Likewise.
38690
38691 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
38692 (grub_arch_memdisk_size): Likewise.
38693
38694 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
38695 (codestart): Replace hardcoded `0x100000' with
38696 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
38697
38698 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
38699 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
38700 not NULL, append the contents of the file it refers to, at the end of
38701 the compressed kernel image. Initialize `grub_memdisk_image_size'
38702 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
38703 (options): Add "memdisk"|'m' option.
38704 (main): Parse --memdisk|-m option, and pass user-provided path as
38705 parameter to generate_image().
38706
38707 2008-01-20 Robert Millan <rmh@aybabtu.com>
38708
38709 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
38710 grub_dprintf() calls from here ...
38711 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
38712
38713 2008-01-20 Robert Millan <rmh@aybabtu.com>
38714
38715 Fix detection of "real mode" when /options/real-mode? doesn't exist.
38716
38717 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
38718 declaration.
38719 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
38720 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
38721 `GRUB_IEEE1275_FLAG_REAL_MODE'.
38722 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
38723 property).
38724 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
38725 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
38726
38727 2008-01-19 Robert Millan <rmh@aybabtu.com>
38728
38729 Get rid of confusing function (superseded by
38730 `grub_ieee1275_get_integer_property')
38731 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
38732 prototype.
38733 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
38734 function.
38735 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
38736 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
38737 in native endianness from grub_ieee1275_get_integer_property().
38738
38739 2008-01-19 Robert Millan <rmh@aybabtu.com>
38740
38741 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
38742 command after "shut-down", since implementations differ on which
38743 the command for halt is.
38744
38745 2008-01-19 Robert Millan <rmh@aybabtu.com>
38746
38747 * include/grub/i386/linuxbios/console.h: Add header protection.
38748 (grub_keyboard_controller_init): New function prototype.
38749 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
38750 (KEYBOARD_COMMAND_READ): Likewise.
38751 (KEYBOARD_COMMAND_WRITE): Likewise.
38752 (KEYBOARD_SCANCODE_SET1): Likewise.
38753 (grub_keyboard_controller_write): New function.
38754 (grub_keyboard_controller_read): Likewise.
38755 (grub_keyboard_controller_init): Likewise.
38756
38757 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
38758 (grub_console_init): On coreboot/LinuxBIOS, call
38759 grub_keyboard_controller_init().
38760
38761 2008-01-19 Robert Millan <rmh@aybabtu.com>
38762
38763 PowerPC changes provided by Pavel Roskin.
38764
38765 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
38766 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
38767 don't rely on cmain() doing it.
38768 * kern/i386/ieee1275/startup.S (_start): Store %eax in
38769 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
38770
38771 2008-01-16 Robert Millan <rmh@aybabtu.com>
38772
38773 * include/grub/i386/linuxbios/memory.h
38774 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
38775 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
38776 receive `table_header' as argument. Instead, probe for it in the
38777 known memory ranges where it can be present.
38778 (grub_available_iterate): Do not pass a fixed `table_header' address
38779 to grub_linuxbios_table_iterate().
38780
38781 2008-01-15 Robert Millan <rmh@aybabtu.com>
38782
38783 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
38784 * conf/i386-ieee1275.rmk: New file.
38785 * include/grub/i386/ieee1275/console.h: Likewise.
38786 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
38787 * include/grub/i386/ieee1275/kernel.h: Likewise.
38788 * include/grub/i386/ieee1275/time.h: Likewise.
38789 * kern/i386/ieee1275/init.c: Likewise.
38790 * kern/i386/ieee1275/startup.S: Likewise.
38791
38792 2008-01-15 Robert Millan <rmh@aybabtu.com>
38793
38794 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
38795 when pointers are 32-bit (but still do set it to one when they are
38796 64-bit).
38797
38798 2008-01-15 Robert Millan <rmh@aybabtu.com>
38799
38800 * include/grub/ieee1275/ieee1275.h
38801 (grub_ieee1275_get_integer_property): New function prototype.
38802
38803 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
38804 (grub_ieee1275_get_integer_property): New function. Wraps around
38805 grub_ieee1275_get_property() to handle endianness.
38806
38807 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
38808 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
38809 where appropriate.
38810 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
38811 (grub_map): Likewise.
38812 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
38813
38814 2008-01-15 Bean <bean123ch@gmail.com>
38815
38816 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
38817 (grub_script_execute_cmdline): Reset grub_errno.
38818
38819 * normal/main.c (read_config_file): Reset grub_errno.
38820
38821 * normal/parse.y (script_init): New.
38822 (script): Move function and menuentry here.
38823 (delimiter): New.
38824 (command): Add delimiter at the end of command.
38825 (commands): Adjust to match the new command.
38826 (commandblock): Remove grub_script_lexer_record_start.
38827 (menuentry): Add grub_script_lexer_record_start, use the new commands.
38828 (if): Use the new commands.
38829
38830 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
38831
38832 2008-01-15 Robert Millan <rmh@aybabtu.com>
38833
38834 * normal/menu.c (run_menu): Move timeout message from here ...
38835 (print_timeout): ... to here.
38836 (run_menu): Use print_timeout() once during initial draw to print
38837 the whole message, and again in every clock tick to update only
38838 the number of seconds.
38839
38840 2008-01-15 Robert Millan <rmh@aybabtu.com>
38841
38842 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
38843 actual size of `available' from grub_ieee1275_get_property(), and
38844 restrict parsing to that bound.
38845
38846 2008-01-15 Christian Franke <franke@computer.org>
38847
38848 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
38849 (argp_program_version): Remove variable.
38850 (argp_program_bug_address): Likewise.
38851 (options): Convert from struct argp_option to struct option.
38852 (struct arguments): Remove.
38853 (parse_opt): Remove.
38854 (usage): New function.
38855 (main): Replace struct args members by simple variables.
38856 Replace argp_parse() by getopt_long().
38857 Add switch to evaluate options.
38858 Add missing "(...)" around root_dev in prefix string.
38859
38860 2008-01-14 Robert Millan <rmh@aybabtu.com>
38861
38862 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
38863 for grub_ieee1275_exit(), in order to improve portability.
38864
38865 2008-01-14 Robert Millan <rmh@aybabtu.com>
38866
38867 * util/grub.d/10_linux.in (prefix): Define.
38868 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
38869
38870 2008-01-13 Pavel Roskin <proski@gnu.org>
38871
38872 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
38873 grub_errno if no errors have been detected.
38874
38875 2008-01-12 Robert Millan <rmh@aybabtu.com>
38876
38877 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
38878 (grub_util_get_dev_abstraction): New function prototype.
38879
38880 * util/getroot.c: Include `<grub/util/getroot.h>'
38881 (grub_util_get_grub_dev): Move detection of abstraction type to ...
38882 (grub_util_get_dev_abstraction): ... here (new function).
38883
38884 * util/grub-probe.c: Convert PRINT_* to an enum. Add
38885 `PRINT_ABSTRACTION'.
38886 (probe): Probe for abstraction type when requested.
38887 (main): Understand `--target=abstraction'.
38888
38889 * util/i386/efi/grub-install.in: Add abstraction module to core
38890 image when it is found to be necessary.
38891 * util/i386/pc/grub-install.in: Likewise.
38892 * util/powerpc/ieee1275/grub-install.in: Likewise.
38893
38894 * util/update-grub_lib.in (font_path): Return system path without
38895 converting to GRUB path.
38896 * util/update-grub.in: Convert system path returned by font_path()
38897 to a GRUB path. Use `grub-probe -t abstraction' to determine what
38898 abstraction module is needed for loading fonts (if any). Export
38899 that as `GRUB_PRELOAD_MODULES'.
38900 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
38901 insmod commands).
38902
38903 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
38904
38905 Remove some unused code from reiserfs.
38906
38907 * fs/reiserfs.c (struct grub_reiserfs_key)
38908 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
38909 (struct grub_reiserfs_node_body): Removed.
38910 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38911 Likewise.
38912 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38913 Likewise.
38914 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38915 Likewise.
38916 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38917 Likewise.
38918 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38919 Likewise.
38920 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
38921 Likewise.
38922 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38923 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38924 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38925
38926 2008-01-10 Robert Millan <rmh@aybabtu.com>
38927
38928 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
38929 Determines if a file is garbage left by packaging systems, etc.
38930 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
38931 for processing /etc/grub.d scripts.
38932 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
38933 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
38934 as a condition for processing Linux images.
38935
38936 2008-01-10 Pavel Roskin <proski@gnu.org>
38937
38938 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
38939 to compile reiserfs.c on PowerPC.
38940
38941 2008-01-10 Robert Millan <rmh@aybabtu.com>
38942
38943 * kern/device.c (grub_device_iterate): Do not abort device iteration
38944 when one of the devices cannot be opened.
38945 * kern/disk.c (grub_disk_open): Do not account previous failures of
38946 unrelated functions when grub_errno is checked for.
38947
38948 2008-01-08 Robert Millan <rmh@aybabtu.com>
38949
38950 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
38951 `! grub_linux_is_bzimage', change order of address comparison to make
38952 it more intuitive, and improve "too big zImage" error message.
38953
38954 2008-01-08 Robert Millan <rmh@aybabtu.com>
38955
38956 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
38957 `$(update-grub_DATA)'.
38958 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
38959 targets.
38960
38961 2008-01-07 Robert Millan <rmh@aybabtu.com>
38962
38963 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
38964 which instruction is modified by grub-setup during installation
38965 (since it wasn't obvious by only looking at this file).
38966
38967 2008-01-07 Robert Millan <rmh@aybabtu.com>
38968
38969 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
38970 listing actual TODO items.
38971
38972 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38973
38974 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
38975 correctly.
38976 (grub_reiserfs_get_key_offset): Likewise.
38977 (grub_reiserfs_set_key_offset): Likewise.
38978 (grub_reiserfs_set_key_type): Likewise.
38979 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
38980
38981 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
38982 better to remove the bitfield version completely.
38983
38984 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38985
38986 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
38987 allocated from the heap, due to the fshelp implementation.
38988 (grub_reiserfs_dir): Free NODE, due to the same reason.
38989
38990 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38991
38992 Mostly from Vincent Pelletier:
38993
38994 * fs/reiserfs.c: New file.
38995
38996 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
38997 (reiserfs_mod_SOURCES): New variable.
38998 (reiserfs_mod_CFLAGS): Likewise.
38999 (reiserfs_mod_LDFLAGS): Likewise.
39000
39001 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
39002 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
39003 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
39004 normal/color.c.
39005
39006 2008-01-06 Robert Millan <rmh@aybabtu.com>
39007
39008 * normal/color.c: Remove `<grub/env.h>'.
39009
39010 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
39011
39012 * include/grub/normal.h: Include <grub/env.h>.
39013
39014 2008-01-05 Robert Millan <rmh@aybabtu.com>
39015
39016 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
39017 usage example with `(hd0,1)'.
39018 Reported by Samuel Thibault.
39019
39020 2008-01-05 Robert Millan <rmh@aybabtu.com>
39021
39022 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
39023 (grub_linux_boot_zimage): Rename to ...
39024 (grub_linux_boot): ... this.
39025 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
39026 (grub_linux_boot_zimage): Conditionalize zImage copy.
39027
39028 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
39029 (grub_linux_boot_bzimage): Remove prototype.
39030 (grub_linux_boot_zimage): Rename to ...
39031 (grub_linux_boot): ... this.
39032
39033 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
39034 (grub_linux_boot): Remove function.
39035
39036 2008-01-05 Robert Millan <rmh@aybabtu.com>
39037
39038 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
39039 (grub_env_write_color_highlight): Likewise.
39040 (grub_wait_after_message): Likewise.
39041
39042 * normal/color.c: New file.
39043
39044 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39045 (normal_mod_DEPENDENCIES): Likewise.
39046
39047 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39048 (normal_mod_DEPENDENCIES): Likewise.
39049
39050 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39051 (normal_mod_DEPENDENCIES): Likewise.
39052
39053 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39054 (normal_mod_DEPENDENCIES): Likewise.
39055
39056 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
39057 for waiting after a message is printed.
39058 * normal/main.c (read_config_file): Likewise.
39059 (grub_normal_init): Register grub_env_write_color_normal() and
39060 grub_env_write_color_highlight() hooks. Mark `color_normal' and
39061 `color_highlight' variables as global.
39062
39063 * normal/menu.c (grub_wait_after_message): New function.
39064 (grub_color_menu_normal): New variable. Replaces ...
39065 (GRUB_COLOR_MENU_NORMAL): ... this macro.
39066 (grub_color_menu_highlight): New variable. Replaces ...
39067 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
39068 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
39069 `GRUB_TERM_COLOR_STANDARD'.
39070 (print_message): Use `grub_setcolorstate' to reload colors. Rename
39071 `normal_code' and `highlight_code' to `old_color_normal' and
39072 `old_color_highlight', respectively.
39073 (grub_menu_init_page): Update colors when drawing the menu, based on
39074 `menu_color_normal' and `menu_color_highlight' variables.
39075 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
39076 a message is printed.
39077
39078 2008-01-05 Robert Millan <rmh@aybabtu.com>
39079
39080 * kern/env.c (grub_env_context_open): Propagate hooks for global
39081 variables to new context.
39082
39083 * kern/main.c (grub_set_root_dev): Export `root' variable.
39084
39085 2008-01-05 Robert Millan <rmh@aybabtu.com>
39086
39087 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
39088 discs unconditionally, since udev and others have options to provide
39089 them.
39090
39091 2008-01-05 Robert Millan <rmh@aybabtu.com>
39092
39093 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
39094
39095 2008-01-04 Christian Franke <franke@computer.org>
39096
39097 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
39098 of eisa_mmap.
39099
39100 2008-01-03 Pavel Roskin <proski@gnu.org>
39101
39102 * kern/i386/linuxbios/init.c: Put "void" to all function
39103 declarations with no arguments.
39104 * kern/powerpc/ieee1275/init.c: Likewise.
39105 * term/i386/pc/at_keyboard.c: Likewise.
39106 * term/i386/pc/vga_text.c: Likewise.
39107 * util/grub-mkdevicemap.c: Likewise.
39108
39109 2008-01-02 Robert Millan <rmh@aybabtu.com>
39110
39111 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
39112 message when loaded image is out of bounds.
39113 (grub_multiboot_load_elf64): Likewise.
39114
39115 2008-01-02 Pavel Roskin <proski@gnu.org>
39116
39117 * util/grub.d/10_linux.in: Try version without ".old" when
39118 looking for initrd. It's better to use initrd from the newer
39119 kernel of the same version than no initrd at all.
39120
39121 2008-01-01 Robert Millan <rmh@aybabtu.com>
39122
39123 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
39124
39125 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
39126
39127 * include/grub/video.h: Added grub_video_unmap_color and
39128 grub_video_get_active_render_target.
39129 (grub_video_adapter): Added unmap_color and get_active_render_target.
39130
39131 * video/video.c: Added grub_video_unmap_color and
39132 grub_video_get_active_render_target.
39133 (grub_video_get_info): Changed method to accept NULL pointer as an
39134 argument to allow detection of active video adapter.
39135
39136 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
39137 grub_video_vbe_unmap_color_int.
39138 Added grub_video_vbe_unmap_color and
39139 grub_video_vbe_get_active_render_target.
39140 (grub_video_vbe_adapter): Added unmap_color and
39141 get_active_render_target.
39142
39143 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
39144 with grub_video_vbe_unmap_color_int.
39145
39146 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
39147 (DEFAULT_NORMAL_COLOR): Likewise.
39148 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
39149 (DEFAULT_FG_COLOR): Removed.
39150 (DEFAULT_BG_COLOR): Likewise.
39151 (DEFAULT_CURSOR_COLOR): Changed value.
39152 (grub_virtual_screen): Added standard_color_setting,
39153 normal_color_setting, highlight_color_setting and term_color.
39154 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
39155 (bitmap_width): Added.
39156 (bitmap_height): Likewise.
39157 (bitmap): Likewise.
39158 (set_term_color): Likewise.
39159 (grub_virtual_screen_setup): Changed to use new terminal coloring
39160 settings.
39161 (grub_gfxterm_init): Added init for bitmap.
39162 (grub_gfxterm_fini): Added destroy for bitmap.
39163 (redraw_screen_rect): Updated to use background bitmap and new
39164 terminal coloring.
39165 (scroll_up): Added optimization for case when there is no bitmap.
39166 (grub_gfxterm_cls): Fixed to use correct background color.
39167 (grub_virtual_screen_setcolorstate): Changed to use new terminal
39168 coloring.
39169 (grub_virtual_screen_setcolor): Likewise.
39170 (grub_virtual_screen_getcolor): Added.
39171 (grub_gfxterm_background_image_cmd): Likewise.
39172 (grub_video_term): Added setcolor and getcolor.
39173 (MOD_INIT): Added registration of background_image command.
39174 (MOD_TERM): Added unregistration for background_image command.
39175
39176 2007-12-30 Pavel Roskin <proski@gnu.org>
39177
39178 * loader/multiboot_loader.c: Fix multiboot command
39179 unregistration. Fix all typos in the word "multiboot".
39180
39181 2007-12-29 Pavel Roskin <proski@gnu.org>
39182
39183 * util/grub.d/10_linux.in: Refactor search for initrd. Add
39184 support for initrd names used in Fedora.
39185
39186 2007-12-26 Bean <bean123ch@gmail.com>
39187
39188 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
39189 (cpio_mod_SOURCES): New variable.
39190 (cpio_mod_CFLAGS): Likewise.
39191 (cpio_mod_LDFLAGS): Likewise.
39192
39193 * fs/cpio.c: New file.
39194
39195 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
39196
39197 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39198
39199 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39200
39201 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39202
39203 2007-12-25 Robert Millan <rmh@aybabtu.com>
39204
39205 * include/grub/term.h (struct grub_term): Add `getcolor' function.
39206 (grub_getcolor): New function.
39207
39208 * kern/term.c (grub_getcolor): New function.
39209 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
39210 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
39211 (print_entry): Set normal and highlight colors to
39212 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
39213 respectively, before printing and restore them to old
39214 values afterwards.
39215 (grub_menu_init_page): Likewise. Fill an additional colored space
39216 that would otherwise be left blank.
39217
39218 * term/efi/console.c (grub_console_getcolor): New function.
39219 (struct grub_console_term.getcolor): New variable.
39220 * term/i386/pc/console.c (grub_console_getcolor): New function.
39221 (struct grub_console_term.getcolor): New variable.
39222 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
39223 (struct grub_console_term.getcolor): New variable.
39224
39225 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
39226 (struct grub_console_term.setcolor): Remove variable.
39227 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
39228 (struct grub_console_term.setcolor): Remove variable.
39229 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
39230 (struct grub_console_term.setcolor): Remove variable.
39231 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
39232 (struct grub_console_term.setcolor): Remove variable.
39233
39234 2007-12-25 Robert Millan <rmh@aybabtu.com>
39235
39236 * configure.ac: Search for possible unifont.hex locations, and
39237 define UNIFONT_HEX if found.
39238
39239 * Makefile.in (UNIFONT_HEX): Define variable.
39240 (DATA): Rename to ...
39241 (PKGLIB): ... this. Update all users.
39242 (PKGDATA): New variable.
39243 (pkgdata_IMAGES): Rename to ...
39244 (pkglib_IMAGES): ... this. Update all users.
39245 (pkgdata_MODULES): Rename to ...
39246 (pkglib_MODULES): ... this. Update all users.
39247 (pkgdata_PROGRAMS): Rename to ...
39248 (pkglib_PROGRAMS): ... this. Update all users.
39249 (pkgdata_DATA): Rename to ...
39250 (pkglib_DATA): ... this. Update all users.
39251 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
39252 (unicode.pff, ascii.pff): New rules.
39253 (all-local): Add `$(PKGDATA)' dependency.
39254 (install-local): Process `$(PKGDATA)'.
39255
39256 * util/update-grub_lib.in (font_path): Search for *.pff files in
39257 a few more locations, including `${pkgdata}'.
39258
39259 2007-12-23 Robert Millan <rmh@aybabtu.com>
39260
39261 Patch from Bean <bean123ch@gmail.com>:
39262 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
39263 `size'.
39264
39265 2007-12-21 Bean <bean123ch@gmail.com>
39266
39267 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
39268 (ntfscomp_mod_SOURCES): New variable.
39269 (ntfscomp_mod_CFLAGS): Likewise.
39270 (ntfscomp_mod_LDFLAGS): Likewise.
39271
39272 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
39273 (grub_probe_SOURCES): Likewise.
39274 (grub_emu_SOURCES): Likewise.
39275
39276 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39277 (grub_emu_SOURCES): Likewise.
39278
39279 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39280 (grub_emu_SOURCES): Likewise.
39281
39282 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39283 (grub_emu_SOURCES): Likewise.
39284
39285 * fs/ntfs.c (grub_ntfscomp_func): New variable.
39286 (read_run_list): Renamed to grub_ntfs_read_run_list.
39287 (decomp_nextvcn): Moved to ntfscomp.c.
39288 (decomp_getch): Likewise.
39289 (decomp_get16): Likewise.
39290 (decomp_block): Likewise.
39291 (read_block): Likewise.
39292 (read_data): Partially moved to ntfscomp.c.
39293 (fixup): Change unsigned to grub_uint16_t.
39294 (read_mft): Change unsigned long to grub_uint32_t.
39295 (read_attr): Likewise.
39296 (read_data): Likewise.
39297 (read_run_data): Likewise.
39298 (read_run_list): Likewise.
39299 (read_mft): Likewise.
39300
39301 * fs/ntfscomp.c: New file.
39302
39303 * include/grub/ntfs.h: New file.
39304
39305 2007-12-16 Robert Millan <rmh@aybabtu.com>
39306
39307 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
39308 IDE disk check, since Linux is known to support 20 IDE disks.
39309 Reported by Colin Watson.
39310
39311 2007-12-15 Bean <bean123ch@gmail.com>
39312
39313 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
39314 (lnxboot_img_SOURCES): New variable.
39315 (lnxboot_img_ASFLAGS): Likewise.
39316 (lnxboot_img_LDFLAGS): Likewise.
39317
39318 * boot/i386/pc/lnxboot.S: New file.
39319
39320 2007-11-24 Pavel Roskin <proski@gnu.org>
39321
39322 * configure.ac: Test if '--build-id=none' is supported by the
39323 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
39324 objcopy to generate incorrect binary files (binutils
39325 2.17.50.0.18-1 as shipped by Fedora 8).
39326 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
39327 linking, so that build ID doesn't break the test.
39328
39329 2007-11-24 Pavel Roskin <proski@gnu.org>
39330
39331 * include/grub/i386/time.h: use "void" in the argument list
39332 of grub_cpu_idle().
39333 * include/grub/powerpc/time.h: Likewise.
39334 * include/grub/sparc64/time.h: Likewise.
39335
39336 2007-11-18 Christian Franke <franke@computer.org>
39337
39338 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
39339 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
39340 This fixes the problem that function keys did not work in grub-emu.
39341
39342 2007-11-18 Christian Franke <franke@computer.org>
39343
39344 * disk/host.c (grub_host_open): Remove attribute unused from
39345 name parameter. Add check for "host". This fixes the problem
39346 that grub-emu does not find partitions.
39347
39348 2007-11-18 Christian Franke <franke@computer.org>
39349
39350 * util/hostfs.c (is_dir): New function.
39351 (grub_hostfs_dir): Handle missing dirent.d_type case.
39352 (grub_hostfs_read): Add missing fseek().
39353 (grub_hostfs_label): Clear label pointer. This fixes a crash
39354 of grub-emu on "ls (host)".
39355
39356 2007-11-18 Christian Franke <franke@computer.org>
39357
39358 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
39359 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
39360 to 64 bit boundary by default.
39361
39362 2007-11-18 Bean <bean123ch@gmail.com>
39363
39364 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
39365 (hexdump_mod_SOURCES): New variable.
39366 (hexdump_mod_CFLAGS): Likewise.
39367 (hexdump_mod_LDFLAGS): Likewise.
39368
39369 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39370
39371 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39372
39373 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39374
39375 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39376
39377 * include/grub/hexdump.h: New file.
39378
39379 * commands/hexdump.c: New file.
39380
39381 2007-11-10 Robert Millan <rmh@aybabtu.com>
39382
39383 * commands/i386/pc/play.c (beep_off): Switch order of arguments
39384 in grub_outb() calls.
39385 (beep_on): Likewise.
39386
39387 2007-11-10 Christian Franke <franke@computer.org>
39388
39389 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
39390 (grub_menu_run): Likewise.
39391
39392 2007-11-10 Robert Millan <rmh@aybabtu.com>
39393
39394 * include/grub/i386/efi/machine.h: New file.
39395 * include/grub/i386/linuxbios/machine.h: Likewise.
39396 * include/grub/i386/pc/machine.h: Likewise.
39397 * include/grub/powerpc/ieee1275/machine.h: Likewise.
39398 * include/grub/sparc64/ieee1275/machine.h: Likewise.
39399
39400 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
39401 (serial_hw_io_addr): New variable.
39402 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
39403 instead of `(unsigned short *) 0x400'.
39404
39405 2007-11-10 Bean <bean123ch@gmail.com>
39406
39407 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
39408
39409 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
39410
39411 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
39412 (vga_mod_SOURCES): Added.
39413 (vga_mod_CFLAGS): Likewise.
39414 (vga_mod_LDFLAGS): Likewise.
39415
39416 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
39417 grub_outb() calls.
39418 (set_map_mask): Likewise.
39419 (set_read_map): Likewise.
39420 (set_read_address): Likewise.
39421 (vga_font): Removed variable.
39422 (get_vga_glyph): Removed function.
39423 (invalidate_char): Likewise.
39424 (write_char): Changed to use grub_font_get_glyph() for font
39425 information.
39426 (grub_vga_putchar): Likewise.
39427 (grub_vga_getcharwidth): Likewise.
39428
39429 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
39430
39431 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
39432 flags.
39433 (pxeboot_img_LDFLAGS): Likewise.
39434 (diskboot_img_LDFLAGS): Likewise.
39435 (kernel_img_LDFLAGS): Likewise.
39436
39437 2007-11-06 Robert Millan <rmh@aybabtu.com>
39438
39439 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
39440 in grub_outb() calls.
39441 (serial_hw_init): Likewise.
39442
39443 2007-11-05 Robert Millan <rmh@aybabtu.com>
39444
39445 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
39446 spaces. Skip non-regular files.
39447
39448 2007-11-05 Robert Millan <rmh@aybabtu.com>
39449
39450 * kern/disk.c (grub_disk_firmware_fini)
39451 (grub_disk_firmware_is_tainted): New variables.
39452
39453 * include/grub/disk.h (grub_disk_firmware_fini)
39454 (grub_disk_firmware_is_tainted): Likewise.
39455
39456 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
39457 (grub_disk_biosdisk_fini): ... to here.
39458 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
39459 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
39460 is set. Register grub_disk_biosdisk_fini() in
39461 `grub_disk_firmware_fini'.
39462
39463 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
39464 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
39465 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
39466 to finish existing firmware disk interface.
39467
39468 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
39469 (ata_mod_SOURCES): New variable.
39470 (ata_mod_CFLAGS): Likewise.
39471 (ata_mod_LDFLAGS): Likewise.
39472
39473 2007-11-05 Robert Millan <rmh@aybabtu.com>
39474
39475 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
39476 (grub_ata_wait): Reimplement using grub_millisleep().
39477
39478 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
39479 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
39480
39481 2007-11-03 Marco Gerards <marco@gnu.org>
39482
39483 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
39484 (CRTC_ADDR_PORT): New macro.
39485 (CRTC_DATA_PORT): Likewise.
39486 (CRTC_CURSOR): Likewise.
39487 (CRTC_CURSOR_ADDR_HIGH): Likewise.
39488 (CRTC_CURSOR_ADDR_LOW): Likewise.
39489 (update_cursor): New function.
39490 (grub_console_real_putchar): Call `update_cursor'.
39491 (grub_console_gotoxy): Likewise.
39492 (grub_console_cls): Set the default color when clearing the
39493 screen.
39494 (grub_console_setcursor): Implemented.
39495
39496 2007-11-03 Marco Gerards <marco@gnu.org>
39497
39498 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
39499 become activate.
39500 (grub_ata_pio_write): Likewise.
39501
39502 (grub_atapi_identify): Wait after issuing an ATA command.
39503 (grub_atapi_packet): Likewise.
39504 (grub_ata_identify): Likewise.
39505 (grub_ata_readwrite): Likewise.
39506
39507 2007-11-03 Marco Gerards <marco@gnu.org>
39508
39509 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
39510 (grub_ata_pio_write): Likewise.
39511 (grub_ata_readwrite): Use `grub_error', instead of
39512 returning `grub_errno'.
39513
39514 2007-11-03 Marco Gerards <marco@gnu.org>
39515
39516 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
39517 grub_ata_pio_write once for every single sector, instead of for
39518 multiple sectors.
39519
39520 2007-10-31 Robert Millan <rmh@aybabtu.com>
39521
39522 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
39523
39524 * conf/i386-linuxbios.rmk: New file.
39525
39526 * kern/i386/pc/hardware.c: Likewise.
39527 * term/i386/pc/at_keyboard.c: Likewise.
39528 * term/i386/pc/vga_text.c: Likewise.
39529
39530 * include/grub/i386/linuxbios/boot.h: Likewise.
39531 * include/grub/i386/linuxbios/console.h: Likewise.
39532 * include/grub/i386/linuxbios/init.h: Likewise.
39533 * include/grub/i386/linuxbios/kernel.h: Likewise.
39534 * include/grub/i386/linuxbios/loader.h: Likewise.
39535 * include/grub/i386/linuxbios/memory.h: Likewise.
39536 * include/grub/i386/linuxbios/serial.h: Likewise.
39537 * include/grub/i386/linuxbios/time.h: Likewise.
39538
39539 * kern/i386/linuxbios/init.c: Likewise.
39540 * kern/i386/linuxbios/startup.S: Likewise.
39541 * kern/i386/linuxbios/table.c: Likewise.
39542
39543 2007-10-31 Marco Gerards <marco@gnu.org>
39544
39545 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
39546 (ata_mod_SOURCES): New variable.
39547 (ata_mod_CFLAGS): Likewise.
39548 (ata_mod_LDFLAGS): Likewise.
39549
39550 * disk/ata.c: New file.
39551
39552 * include/grub/disk.h (grub_disk_dev_id): Add
39553 `GRUB_DISK_DEV_ATA_ID'.
39554
39555 2007-10-31 Robert Millan <rmh@aybabtu.com>
39556
39557 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
39558 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
39559
39560 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
39561 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
39562
39563 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
39564 `<grub/types.h>'.
39565
39566 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
39567
39568 2007-10-27 Robert Millan <rmh@aybabtu.com>
39569
39570 * include/grub/types.h (ULONG_MAX): Define macro.
39571
39572 2007-10-22 Robert Millan <rmh@aybabtu.com>
39573
39574 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
39575 `"../realmode.S"'.
39576 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
39577
39578 2007-10-22 Robert Millan <rmh@aybabtu.com>
39579
39580 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
39581 (pkgdata_MODULES): Add `biosdisk.mod'.
39582 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
39583 variables.
39584
39585 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
39586 (grub_biosdisk_init): Replace with ...
39587 (GRUB_MOD_INIT(biosdisk)): ... this.
39588 (grub_biosdisk_fini): Replace with ...
39589 (GRUB_MOD_FINI(biosdisk)): ... this.
39590
39591 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
39592 (grub_machine_init): Remove call to grub_biosdisk_init().
39593 (grub_machine_fini): Remove call to grub_machine_fini().
39594
39595 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
39596
39597 2007-10-22 Robert Millan <rmh@aybabtu.com>
39598
39599 * include/grub/time.h: New file.
39600 * include/grub/i386/time.h: Likewise.
39601 * include/grub/powerpc/time.h: Likewise.
39602 * include/grub/sparc64/time.h: Likewise.
39603
39604 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
39605 instances to ...
39606 (KERNEL_MACHINE_TIME_HEADER): ... this.
39607 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39608 instances to ...
39609 (KERNEL_MACHINE_TIME_HEADER): ... this.
39610 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39611 instances to ...
39612 (KERNEL_MACHINE_TIME_HEADER): ... this.
39613
39614 * kern/i386/efi/init.c: Include `<grub/time.h>'.
39615 (grub_millisleep): New function.
39616 * kern/i386/pc/init.c: Include `<grub/time.h>'.
39617 (grub_millisleep): New function.
39618 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
39619 Remove `grub/machine/time.h' include.
39620 (grub_millisleep): New function.
39621 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
39622 Remove `grub/machine/time.h' include.
39623 (grub_millisleep): New function.
39624
39625 * include/grub/misc.h (grub_div_roundup): New function.
39626
39627 * kern/misc.c: Include `<grub/time.h>'.
39628 (grub_millisleep_generic): New function.
39629
39630 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
39631 Add `time.h'.
39632 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
39633 Add `time.h'.
39634 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
39635 `machine/time.h'. Add `time.h'.
39636 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39637
39638 2007-10-21 Robert Millan <rmh@aybabtu.com>
39639
39640 * include/grub/misc.h (grub_max): New function.
39641
39642 2007-10-21 Robert Millan <rmh@aybabtu.com>
39643
39644 * util/misc.c (grub_util_info): Call fflush() before returning.
39645
39646 2007-10-20 Robert Millan <rmh@aybabtu.com>
39647
39648 * genmk.rb (Image): Copy `extra_flags' from here ...
39649 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
39650
39651 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
39652 to `argc' and `args' arguments.
39653
39654 2007-10-17 Robert Millan <rmh@aybabtu.com>
39655
39656 * kern/i386/loader.S: New file.
39657
39658 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
39659 * kern/i386/loader.S (grub_linux_prot_size)... to here.
39660 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
39661 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
39662 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
39663 * kern/i386/loader.S (grub_linux_real_addr)... to here.
39664 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
39665 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
39666 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
39667 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
39668 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
39669 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
39670 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
39671 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
39672
39673 * kern/i386/realmode.S: New file.
39674
39675 * kern/i386/pc/startup.S (protstack): Moved from here ...
39676 * kern/i386/realmode.S (protstack)... to here.
39677 * kern/i386/pc/startup.S (gdt): Moved from here ...
39678 * kern/i386/realmode.S (gdt)... to here.
39679 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
39680 * kern/i386/realmode.S (prot_to_real)... to here.
39681
39682 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
39683 `kern/i386/realmode.S'.
39684
39685 2007-10-17 Robert Millan <rmh@aybabtu.com>
39686
39687 * include/grub/i386/loader.h: New file.
39688
39689 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
39690 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39691 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39692 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39693 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
39694 * include/grub/i386/loader.h (grub_linux_prot_size)
39695 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39696 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39697 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39698 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
39699
39700 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
39701
39702 2007-10-15 Robert Millan <rmh@aybabtu.com>
39703
39704 * normal/misc.c (grub_normal_print_device_info): Do not probe for
39705 filesystem when dev->disk is unset.
39706 Do probe for filesystem even when dev->disk->has_partitions is set.
39707 In case a filesystem is found, always report it.
39708 In case it isn't, if dev->disk->has_partitions is set, report that
39709 a partition table was found instead of reporting that no filesystem
39710 could be identified.
39711
39712 2007-10-12 Robert Millan <rmh@aybabtu.com>
39713
39714 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
39715 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
39716
39717 * include/grub/types.h (grub_host_to_target16): New macro.
39718 (grub_host_to_target32): Likewise.
39719 (grub_host_to_target64): Likewise.
39720 (grub_target_to_host16): Likewise.
39721 (grub_target_to_host32): Likewise.
39722 (grub_target_to_host64): Likewise.
39723
39724 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39725 Renamed from to ...
39726 (GRUB_MOD_ALIGN): ...this. Update all users.
39727
39728 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
39729 grub_host_to_target32.
39730 Replace grub_be_to_cpu32 with grub_target_to_host32.
39731 (load_modules): Likewise.
39732 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
39733 Replace grub_be_to_cpu32 with grub_target_to_host32.
39734 Replace grub_cpu_to_be16 with grub_host_to_target16.
39735 Replace grub_cpu_to_be32 grub_host_to_target32.
39736
39737 2007-10-12 Robert Millan <rmh@aybabtu.com>
39738
39739 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
39740 * util/elf/grub-mkimage.c: ... here.
39741
39742 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
39743 `util/powerpc/ieee1275/grub-mkimage.c'.
39744
39745 2007-10-07 Robert Millan <rmh@aybabtu.com>
39746
39747 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
39748 and make it easier to figure out.
39749 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
39750 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
39751 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
39752 leave us with less than HEAP_MIN_SIZE total heap.
39753 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
39754
39755 2007-10-03 Robert Millan <rmh@aybabtu.com>
39756
39757 * include/grub/i386/io.h: New file.
39758 * commands/i386/pc/play.c (inb): Removed.
39759 (outb): Removed.
39760 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39761 with grub_outb().
39762 * term/i386/pc/serial.c (inb): Removed.
39763 (outb): Removed.
39764 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39765 with grub_outb().
39766 * term/i386/pc/vga.c (inb): Removed.
39767 (outb): Removed.
39768 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39769 with grub_outb().
39770
39771 2007-10-02 Robert Millan <rmh@aybabtu.com>
39772
39773 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
39774 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39775 Reported by Marcin Kurek.
39776
39777 2007-09-07 Robert Millan <rmh@aybabtu.com>
39778
39779 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
39780 SmartFirmware version updates (as released by Sven Luther), and avoid
39781 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
39782 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
39783 known broken.
39784
39785 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39786
39787 From Hitoshi Ozeki:
39788 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
39789 when merging two regions.
39790
39791 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39792
39793 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
39794 * normal/completion.c (grub_normal_do_completion): Likewise.
39795 Reported by Hitoshi Ozeki.
39796
39797 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39798
39799 Do not use devices at boot in chainloading.
39800
39801 * loader/i386/pc/chainloader.c (boot_drive): New variable.
39802 (boot_part_addr): Likewise.
39803 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
39804 with BOOT_DRIVE and BOOT_PART_ADDR.
39805 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
39806 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
39807
39808 2007-08-29 Robert Millan <rmh@aybabtu.com>
39809
39810 Patch from Simon Peter <dn.tlp@gmx.net>:
39811 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
39812 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
39813 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
39814 util/i386/pc/grub-setup.c_DEPENDENCIES.
39815 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
39816 util/grub-probe.c_DEPENDENCIES.
39817 * conf/powerpc-ieee1275.rmk: Likewise.
39818
39819 2007-08-28 Robert Millan <rmh@aybabtu.com>
39820
39821 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
39822 to tell grub-mkdevicemap how to name devices.
39823 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
39824 feature).
39825
39826 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
39827 util/i386/get_disk_name.c.
39828 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
39829 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
39830 util/ieee1275/get_disk_name.c.
39831
39832 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
39833
39834 * DISTLIST: Add util/i386/get_disk_name.c and
39835 util/ieee1275/get_disk_name.c.
39836
39837 * util/grub-mkdevicemap.c: Replace device naming logic with
39838 grub_util_get_disk_name() calls.
39839
39840 2007-08-20 Robert Millan <rmh@aybabtu.com>
39841
39842 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
39843 (so that it works for both plural and singular quantities).
39844
39845 2007-08-05 Robert Millan <rmh@aybabtu.com>
39846
39847 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
39848 so that [xz] isn't taken into account when determining order.
39849
39850 2007-08-02 Marco Gerards <marco@gnu.org>
39851
39852 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
39853 `include/multiboot2.h', `include/grub/elfload.h',
39854 `include/multiboot.h', `include/grub/multiboot.h',
39855 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
39856 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
39857 `kern/elf.c', `loader/multiboot_loader.c',
39858 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
39859 `loader/i386/pc/multiboot2.c',
39860 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
39861 `util/i386/pc/grub-mkrescue.in'. Remove
39862 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
39863 `include/grub/i386/pc/util/biosdisk.h' and
39864 `include/grub/powerpc/ieee1275/multiboot.h'.
39865
39866 2007-08-02 Bean <bean123ch@gmail.com>
39867
39868 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
39869 (ntfs_mod_SOURCES): New variable.
39870 (ntfs_mod_CFLAGS): Likewise.
39871 (ntfs_mod_LDFLAGS): Likewise.
39872
39873 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
39874 (grub_probe_SOURCES): Likewise.
39875 (grub_emu_SOURCES): Likewise.
39876
39877 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39878 (grub_emu_SOURCES): Likewise.
39879
39880 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39881 (grub_emu_SOURCES): Likewise.
39882
39883 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
39884
39885 * fs/ntfs.c: New file.
39886
39887 2007-08-02 Bean <bean123ch@gmail.com>
39888
39889 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
39890
39891 * file.h (grub_file): Likewise.
39892
39893 * fshelp.h (grub_fshelp_read_file): Likewise.
39894
39895 * util/i386/pc/grub-setup.c (setup): Likewise.
39896 (save_first_sector): Likewise.
39897 (save_blocklists): Likewise.
39898
39899 * fs/affs.c (grub_affs_read_file): Likewise.
39900
39901 * fs/ext2.c (grub_ext2_read_file): Likewise.
39902
39903 * fs/fat.c (grub_fat_read_data): Likewise.
39904
39905 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
39906
39907 * fs/hfs.c (grub_hfs_read_file): Likewise.
39908
39909 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39910
39911 * fs/jfs.c (grub_jfs_read_file): Likewise.
39912
39913 * fs/minix.c (grub_minix_read_file): Likewise.
39914
39915 * fs/sfs.c (grub_sfs_read_file): Likewise.
39916
39917 * fs/ufs.c (grub_ufs_read_file): Likewise.
39918
39919 * fs/xfs.c (grub_xfs_read_file): Likewise.
39920
39921 * command/blocklist.c (read_blocklist): Likewise.
39922 (print_blocklist): Likewise.
39923
39924 2007-08-02 Marco Gerards <marco@gnu.org>
39925
39926 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
39927 `util/hostfs.c'.
39928
39929 * disk/host.c: New file.
39930
39931 * util/hostfs.c: Likewise.
39932
39933 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
39934 return `GRUB_ERR_BAD_FS'.
39935 * fs/sfs.c (grub_sfs_mount): Likewise.
39936 * fs/xfs.c (grub_xfs_mount): Likewise.
39937
39938 * include/grub/disk.h (enum grub_disk_dev_id): Add
39939 `GRUB_DISK_DEVICE_HOST_ID'.
39940
39941 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
39942
39943 2007-07-24 Jerone Young <jerone@gmail.com>
39944
39945 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
39946 modules for compilation.
39947 * conf/powerpc-ieee1275.rmk: Likewise.
39948
39949 * include/multiboot.h: Move multiboot definitions to one file. Rename
39950 many definitions to not get grub specific.
39951 * include/multiboot2.h: Create header with multiboot 2 definitions.
39952 * include/grub/multiboot.h: Header for grub specific function
39953 prototypes and definitions.
39954 * include/grub/multiboot2.h: Likewise.
39955 * include/grub/multiboot_loader.h: Likewise.
39956 * include/grub/i386/pc/multiboot.h: Removed.
39957 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
39958
39959 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
39960 and 2 to allow for one multiboot and module commands.
39961 * loader/multiboot2.c: Add multiboot2 functionality.
39962 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
39963 and definition names.
39964 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
39965 2 functions.
39966 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
39967 ieee1275 specific multiboot2 code.
39968
39969 * kern/i386/pc/startup.S: Change headers and definition names for
39970 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
39971
39972 2007-07-22 Robert Millan <rmh@aybabtu.com>
39973
39974 * geninitheader.sh: Process file specified in first parameter rather
39975 than hardcoding grub_modules_init.lst.
39976 * geninit.sh: Likewise. Also, construct header name dynamically rather
39977 than hardcoding grub_modules_init.h.
39978
39979 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
39980 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
39981 grub_probe_init.[ch] and grub_setup_init.[ch].
39982
39983 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
39984 grub_modules_init.h with grub_emu_init.h.
39985 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
39986 grub_probe_init.[ch] files.
39987 * conf/i386-efi.rmk: Likewise.
39988 * conf/i386-pc.rmk: Likewise.
39989 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
39990 grub_setup_init.[ch] files.
39991
39992 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
39993 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
39994 to initialize modules rather than a list of hardcoded functions.
39995 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
39996 grub_init_all() to initialize modules rather than a list of hardcoded
39997 functions.
39998
39999 2007-07-22 Robert Millan <rmh@aybabtu.com>
40000
40001 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
40002 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
40003
40004 2007-07-22 Robert Millan <rmh@aybabtu.com>
40005
40006 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
40007 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
40008 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
40009 flag when running on SmartFirmware.
40010 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
40011 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
40012 was set.
40013
40014 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
40015 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
40016 rather than decreasing it.
40017
40018 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
40019 there's not enough space to do it, fail in the same way as when it
40020 can't be done because there are no partitions.
40021
40022 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
40023 when nvsetenv failed.
40024
40025 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
40026
40027 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
40028 because this rule is automatically generated.
40029 (grub-mkrescue): Removed for the same reason as above.
40030
40031 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
40032
40033 Migrate to GNU General Public License Version 3.
40034
40035 * COPYING: Replaced with the plain text version of GPLv3.
40036
40037 * config.guess: Updated from gnulib.
40038 * config.sub: Likewise.
40039
40040 * geninit.sh: Output a GPLv3 copyright notice.
40041 * geninitheader.sh: Likewise.
40042 * genmodsrc.sh: Likewise.
40043 * gensymlist.sh.in: Likewise.
40044
40045 * boot/i386/pc/boot.S: Upgraded to GPLv3.
40046 * boot/i386/pc/diskboot.S: Likewise.
40047 * boot/i386/pc/pxeboot.S: Likewise.
40048 * commands/blocklist.c: Likewise.
40049 * commands/boot.c: Likewise.
40050 * commands/cat.c: Likewise.
40051 * commands/cmp.c: Likewise.
40052 * commands/configfile.c: Likewise.
40053 * commands/echo.c: Likewise.
40054 * commands/help.c: Likewise.
40055 * commands/ls.c: Likewise.
40056 * commands/search.c: Likewise.
40057 * commands/terminal.c: Likewise.
40058 * commands/test.c: Likewise.
40059 * commands/videotest.c: Likewise.
40060 * commands/i386/cpuid.c: Likewise.
40061 * commands/i386/pc/halt.c: Likewise.
40062 * commands/i386/pc/play.c: Likewise.
40063 * commands/i386/pc/reboot.c: Likewise.
40064 * commands/i386/pc/vbeinfo.c: Likewise.
40065 * commands/i386/pc/vbetest.c: Likewise.
40066 * commands/ieee1275/halt.c: Likewise.
40067 * commands/ieee1275/reboot.c: Likewise.
40068 * commands/ieee1275/suspend.c: Likewise.
40069 * disk/loopback.c: Likewise.
40070 * disk/lvm.c: Likewise.
40071 * disk/raid.c: Likewise.
40072 * disk/efi/efidisk.c: Likewise.
40073 * disk/i386/pc/biosdisk.c: Likewise.
40074 * disk/ieee1275/ofdisk.c: Likewise.
40075 * font/manager.c: Likewise.
40076 * fs/affs.c: Likewise.
40077 * fs/ext2.c: Likewise.
40078 * fs/fat.c: Likewise.
40079 * fs/fshelp.c: Likewise.
40080 * fs/hfs.c: Likewise.
40081 * fs/hfsplus.c: Likewise.
40082 * fs/iso9660.c: Likewise.
40083 * fs/jfs.c: Likewise.
40084 * fs/minix.c: Likewise.
40085 * fs/sfs.c: Likewise.
40086 * fs/ufs.c: Likewise.
40087 * fs/xfs.c: Likewise.
40088 * hello/hello.c: Likewise.
40089 * include/grub/acorn_filecore.h: Likewise.
40090 * include/grub/arg.h: Likewise.
40091 * include/grub/bitmap.h: Likewise.
40092 * include/grub/boot.h: Likewise.
40093 * include/grub/cache.h: Likewise.
40094 * include/grub/device.h: Likewise.
40095 * include/grub/disk.h: Likewise.
40096 * include/grub/dl.h: Likewise.
40097 * include/grub/elfload.h: Likewise.
40098 * include/grub/env.h: Likewise.
40099 * include/grub/err.h: Likewise.
40100 * include/grub/file.h: Likewise.
40101 * include/grub/font.h: Likewise.
40102 * include/grub/fs.h: Likewise.
40103 * include/grub/fshelp.h: Likewise.
40104 * include/grub/gzio.h: Likewise.
40105 * include/grub/hfs.h: Likewise.
40106 * include/grub/kernel.h: Likewise.
40107 * include/grub/loader.h: Likewise.
40108 * include/grub/lvm.h: Likewise.
40109 * include/grub/misc.h: Likewise.
40110 * include/grub/mm.h: Likewise.
40111 * include/grub/net.h: Likewise.
40112 * include/grub/normal.h: Likewise.
40113 * include/grub/parser.h: Likewise.
40114 * include/grub/partition.h: Likewise.
40115 * include/grub/pc_partition.h: Likewise.
40116 * include/grub/raid.h: Likewise.
40117 * include/grub/rescue.h: Likewise.
40118 * include/grub/script.h: Likewise.
40119 * include/grub/setjmp.h: Likewise.
40120 * include/grub/symbol.h: Likewise.
40121 * include/grub/term.h: Likewise.
40122 * include/grub/terminfo.h: Likewise.
40123 * include/grub/tparm.h: Likewise.
40124 * include/grub/types.h: Likewise.
40125 * include/grub/video.h: Likewise.
40126 * include/grub/efi/api.h: Likewise.
40127 * include/grub/efi/chainloader.h: Likewise.
40128 * include/grub/efi/console.h: Likewise.
40129 * include/grub/efi/console_control.h: Likewise.
40130 * include/grub/efi/disk.h: Likewise.
40131 * include/grub/efi/efi.h: Likewise.
40132 * include/grub/efi/pe32.h: Likewise.
40133 * include/grub/efi/time.h: Likewise.
40134 * include/grub/i386/linux.h: Likewise.
40135 * include/grub/i386/setjmp.h: Likewise.
40136 * include/grub/i386/types.h: Likewise.
40137 * include/grub/i386/efi/kernel.h: Likewise.
40138 * include/grub/i386/efi/loader.h: Likewise.
40139 * include/grub/i386/efi/time.h: Likewise.
40140 * include/grub/i386/pc/biosdisk.h: Likewise.
40141 * include/grub/i386/pc/boot.h: Likewise.
40142 * include/grub/i386/pc/chainloader.h: Likewise.
40143 * include/grub/i386/pc/console.h: Likewise.
40144 * include/grub/i386/pc/init.h: Likewise.
40145 * include/grub/i386/pc/kernel.h: Likewise.
40146 * include/grub/i386/pc/loader.h: Likewise.
40147 * include/grub/i386/pc/memory.h: Likewise.
40148 * include/grub/i386/pc/multiboot.h: Likewise.
40149 * include/grub/i386/pc/serial.h: Likewise.
40150 * include/grub/i386/pc/time.h: Likewise.
40151 * include/grub/i386/pc/vbe.h: Likewise.
40152 * include/grub/i386/pc/vbeblit.h: Likewise.
40153 * include/grub/i386/pc/vbefill.h: Likewise.
40154 * include/grub/i386/pc/vbeutil.h: Likewise.
40155 * include/grub/i386/pc/vga.h: Likewise.
40156 * include/grub/ieee1275/ieee1275.h: Likewise.
40157 * include/grub/ieee1275/ofdisk.h: Likewise.
40158 * include/grub/powerpc/libgcc.h: Likewise.
40159 * include/grub/powerpc/setjmp.h: Likewise.
40160 * include/grub/powerpc/types.h: Likewise.
40161 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
40162 * include/grub/powerpc/ieee1275/console.h: Likewise.
40163 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
40164 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
40165 * include/grub/powerpc/ieee1275/loader.h: Likewise.
40166 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
40167 * include/grub/powerpc/ieee1275/time.h: Likewise.
40168 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
40169 * include/grub/sparc64/libgcc.h: Likewise.
40170 * include/grub/sparc64/setjmp.h: Likewise.
40171 * include/grub/sparc64/types.h: Likewise.
40172 * include/grub/sparc64/ieee1275/console.h: Likewise.
40173 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
40174 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
40175 * include/grub/sparc64/ieee1275/time.h: Likewise.
40176 * include/grub/util/biosdisk.h: Likewise.
40177 * include/grub/util/getroot.h: Likewise.
40178 * include/grub/util/lvm.h: Likewise.
40179 * include/grub/util/misc.h: Likewise.
40180 * include/grub/util/raid.h: Likewise.
40181 * include/grub/util/resolve.h: Likewise.
40182 * io/gzio.c: Likewise.
40183 * kern/device.c: Likewise.
40184 * kern/disk.c: Likewise.
40185 * kern/dl.c: Likewise.
40186 * kern/elf.c: Likewise.
40187 * kern/env.c: Likewise.
40188 * kern/err.c: Likewise.
40189 * kern/file.c: Likewise.
40190 * kern/fs.c: Likewise.
40191 * kern/loader.c: Likewise.
40192 * kern/main.c: Likewise.
40193 * kern/misc.c: Likewise.
40194 * kern/mm.c: Likewise.
40195 * kern/parser.c: Likewise.
40196 * kern/partition.c: Likewise.
40197 * kern/rescue.c: Likewise.
40198 * kern/term.c: Likewise.
40199 * kern/efi/efi.c: Likewise.
40200 * kern/efi/init.c: Likewise.
40201 * kern/efi/mm.c: Likewise.
40202 * kern/i386/dl.c: Likewise.
40203 * kern/i386/efi/init.c: Likewise.
40204 * kern/i386/efi/startup.S: Likewise.
40205 * kern/i386/pc/init.c: Likewise.
40206 * kern/i386/pc/lzo1x.S: Likewise.
40207 * kern/i386/pc/startup.S: Likewise.
40208 * kern/ieee1275/ieee1275.c: Likewise.
40209 * kern/powerpc/cache.S: Likewise.
40210 * kern/powerpc/dl.c: Likewise.
40211 * kern/powerpc/ieee1275/cmain.c: Likewise.
40212 * kern/powerpc/ieee1275/crt0.S: Likewise.
40213 * kern/powerpc/ieee1275/init.c: Likewise.
40214 * kern/powerpc/ieee1275/openfw.c: Likewise.
40215 * kern/sparc64/cache.S: Likewise.
40216 * kern/sparc64/dl.c: Likewise.
40217 * kern/sparc64/ieee1275/init.c: Likewise.
40218 * kern/sparc64/ieee1275/openfw.c: Likewise.
40219 * loader/efi/chainloader.c: Likewise.
40220 * loader/efi/chainloader_normal.c: Likewise.
40221 * loader/i386/efi/linux.c: Likewise.
40222 * loader/i386/efi/linux_normal.c: Likewise.
40223 * loader/i386/pc/chainloader.c: Likewise.
40224 * loader/i386/pc/chainloader_normal.c: Likewise.
40225 * loader/i386/pc/linux.c: Likewise.
40226 * loader/i386/pc/linux_normal.c: Likewise.
40227 * loader/i386/pc/multiboot.c: Likewise.
40228 * loader/i386/pc/multiboot_normal.c: Likewise.
40229 * loader/powerpc/ieee1275/linux.c: Likewise.
40230 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
40231 * normal/arg.c: Likewise.
40232 * normal/cmdline.c: Likewise.
40233 * normal/command.c: Likewise.
40234 * normal/completion.c: Likewise.
40235 * normal/execute.c: Likewise.
40236 * normal/function.c: Likewise.
40237 * normal/lexer.c: Likewise.
40238 * normal/main.c: Likewise.
40239 * normal/menu.c: Likewise.
40240 * normal/menu_entry.c: Likewise.
40241 * normal/misc.c: Likewise.
40242 * normal/parser.y: Likewise.
40243 * normal/script.c: Likewise.
40244 * normal/i386/setjmp.S: Likewise.
40245 * normal/powerpc/setjmp.S: Likewise.
40246 * normal/sparc64/setjmp.S: Likewise.
40247 * partmap/acorn.c: Likewise.
40248 * partmap/amiga.c: Likewise.
40249 * partmap/apple.c: Likewise.
40250 * partmap/gpt.c: Likewise.
40251 * partmap/pc.c: Likewise.
40252 * partmap/sun.c: Likewise.
40253 * term/gfxterm.c: Likewise.
40254 * term/terminfo.c: Likewise.
40255 * term/efi/console.c: Likewise.
40256 * term/i386/pc/console.c: Likewise.
40257 * term/i386/pc/serial.c: Likewise.
40258 * term/i386/pc/vesafb.c: Likewise.
40259 * term/i386/pc/vga.c: Likewise.
40260 * term/ieee1275/ofconsole.c: Likewise.
40261 * util/biosdisk.c: Likewise.
40262 * util/console.c: Likewise.
40263 * util/genmoddep.c: Likewise.
40264 * util/getroot.c: Likewise.
40265 * util/grub-emu.c: Likewise.
40266 * util/grub-mkdevicemap.c: Likewise.
40267 * util/grub-probe.c: Likewise.
40268 * util/lvm.c: Likewise.
40269 * util/misc.c: Likewise.
40270 * util/raid.c: Likewise.
40271 * util/resolve.c: Likewise.
40272 * util/update-grub.in: Likewise.
40273 * util/update-grub_lib.in: Likewise.
40274 * util/grub.d/00_header.in: Likewise.
40275 * util/grub.d/10_hurd.in: Likewise.
40276 * util/grub.d/10_linux.in: Likewise.
40277 * util/i386/efi/grub-install.in: Likewise.
40278 * util/i386/efi/grub-mkimage.c: Likewise.
40279 * util/i386/pc/grub-install.in: Likewise.
40280 * util/i386/pc/grub-mkimage.c: Likewise.
40281 * util/i386/pc/grub-mkrescue.in: Likewise.
40282 * util/i386/pc/grub-setup.c: Likewise.
40283 * util/i386/pc/misc.c: Likewise.
40284 * util/powerpc/ieee1275/grub-install.in: Likewise.
40285 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
40286 * util/powerpc/ieee1275/misc.c: Likewise.
40287 * video/bitmap.c: Likewise.
40288 * video/video.c: Likewise.
40289 * video/i386/pc/vbe.c: Likewise.
40290 * video/i386/pc/vbeblit.c: Likewise.
40291 * video/i386/pc/vbefill.c: Likewise.
40292 * video/i386/pc/vbeutil.c: Likewise.
40293 * video/readers/tga.c: Likewise.
40294
40295 2007-07-02 Robert Millan <rmh@aybabtu.com>
40296
40297 * conf/i386-efi.rmk: Replace obsolete reference to
40298 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
40299 with util/getroot.c.
40300 * conf/powerpc-ieee1275.rmk: Likewise.
40301 * conf/sparc64-ieee1275.rmk: Likewise.
40302
40303 * util/grub-emu.c (main): Fix unchecked pointer handling.
40304
40305 2007-07-02 Robert Millan <rmh@aybabtu.com>
40306
40307 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
40308 invocation to fail, in order to support partition-less media.
40309
40310 * util/i386/pc/grub-install.in: Likewise.
40311
40312 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
40313 which fs or partmap modules are needed (akin to its sister scripts).
40314
40315 Also use grub-probe to get rid of unportable /proc/mounts check.
40316
40317 Print the same informational message that the other scripts do, before
40318 exiting.
40319
40320 2007-06-23 Robert Millan <rmh@aybabtu.com>
40321
40322 * util/update-grub_lib.in (font_path): New function. Determine whether
40323 a font file can be found and, if so, echo the GRUB path to it.
40324
40325 * util/update-grub.in: Handle multiple terminals depending on user
40326 input, platform availability and font file presence. Propagate
40327 variables of our findings to /etc/grub.d/ children.
40328
40329 * util/grub.d/00_header.in: Handle multiple terminals, based on
40330 environment setup by update-grub.
40331
40332 2007-06-23 Robert Millan <rmh@aybabtu.com>
40333
40334 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
40335
40336 2007-06-21 Robert Millan <rmh@aybabtu.com>
40337
40338 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
40339 indicate end of data section in kernel image.
40340 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
40341 GRUB_KERNEL_MACHINE_DATA_END.
40342
40343 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
40344 space for it.
40345 * kern/i386/efi/startup.S: Likewise.
40346
40347 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
40348 during image generation. Implement --prefix option to override this
40349 patch.
40350 * util/i386/efi/grub-mkimage.c: Likewise.
40351
40352 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
40353 code to make path relative to its root into a separate function.
40354
40355 * util/i386/pc/grub-install.in: Use newly provided
40356 make_system_path_relative_to_its_root() to convert ${grubdir}, then
40357 pass the result to grub-install --prefix.
40358
40359 2007-06-13 Robert Millan <rmh@aybabtu.com>
40360
40361 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
40362 DEFAULT_DEVICE_MAP.
40363 * util/grub-emu.c: Use above definitions from misc.h instead of
40364 defining them.
40365 * util/grub-mkdevicemap.c: Likewise.
40366 * util/i386/pc/grub-setup.c: Likewise.
40367 * util/grub-probe.c: Likewise.
40368 (probe): Abort with grub_util_error() when either
40369 grub_guess_root_device or grub_util_get_grub_dev fails.
40370
40371 2007-06-12 Robert Millan <rmh@aybabtu.com>
40372
40373 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
40374 "pager" assignment.
40375 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
40376 "pcdata".
40377 * util/grub-probe.c (probe): Likewise for "drive_name".
40378
40379 2007-06-11 Robert Millan <rmh@aybabtu.com>
40380
40381 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
40382 not just the cdrom one.
40383
40384 2007-06-11 Robert Millan <rmh@aybabtu.com>
40385
40386 * util/i386/pc/grub-mkrescue.in: Add "set -e".
40387 Add --pkglibdir=DIR option to override pkglibdir.
40388 Mention --image-type=TYPE in help output.
40389 Fix --grub-mkimage (it was a no-op).
40390 Abort gracefully when no parameter is given.
40391
40392 2007-06-11 Robert Millan <rmh@aybabtu.com>
40393
40394 * util/i386/pc/grub-mkrescue.in: New file.
40395 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
40396 * Makefile.in: Handle bin_SCRIPTS.
40397
40398 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
40399
40400 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
40401 list of video modes.
40402
40403 2007-06-06 Robert Millan <rmh@aybabtu.com>
40404
40405 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
40406 file doesn't exist, or if it is in a filesystem grub can't read.
40407
40408 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
40409 not abort if GRUB_DRIVE could not be defined. Rearrange generated
40410 header comment to fit in 80 columns when the variables are resolved.
40411
40412 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
40413 could be identified by update-grub. Remove redundant check for
40414 unifont.pff existence (since convert_system_path_to_grub_path now
40415 handles that).
40416
40417 2007-06-04 Robert Millan <rmh@aybabtu.com>
40418
40419 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
40420
40421 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
40422
40423 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
40424
40425 2007-06-04 Robert Millan <rmh@aybabtu.com>
40426
40427 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
40428
40429 * include/grub/partition.h: Declare grub_apple_partition_map_init and
40430 grub_apple_partition_map_fini.
40431
40432 * util/biosdisk.c
40433 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
40434 to access >2 TiB disks).
40435
40436 Print disk->total_sectors with %llu instead of %lu, since this
40437 variable is always 64-bit (prevents wrong disk size from being displayed
40438 on either >2 TiB disk or big-endian CPU).
40439
40440 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
40441 into a generic case that supports all (sane) partition maps.
40442
40443 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
40444 breaks big-endian.
40445
40446 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
40447 and grub_apple_partition_map_fini() after that.
40448
40449 2007-06-01 Robert Millan <rmh@aybabtu.com>
40450
40451 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
40452
40453 * util/grub.d/00_header.in: Only enable gfxterm when
40454 convert_system_path_to_grub_path() succeeds.
40455
40456 2007-05-20 Robert Millan <rmh@aybabtu.com>
40457
40458 * util/update-grub_lib.in: New file.
40459 * DISTLIST: Add update-grub_lib.in.
40460 * conf/common.rmk: Generate update-grub_lib and install it in
40461 $(lib_DATA).
40462 * Makefile.in: Add install routine for $(lib_DATA).
40463
40464 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
40465 function provided by update-grub_lib to support arbitrary paths of
40466 unifont.pff.
40467 * util/update-grub.in: Use convert_system_path_to_grub_path() to
40468 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
40469
40470 2007-05-19 Robert Millan <rmh@aybabtu.com>
40471
40472 * commands/i386/cpuid.c: New module.
40473 * DISTLIST: Add it.
40474 * conf/i386-efi.rmk: Enable cpuid.mod.
40475 * conf/i386-pc.rmk: Likewise.
40476
40477 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
40478
40479 * kern/disk.c (grub_disk_read): Check return value of
40480 grub_realloc().
40481
40482 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
40483
40484 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
40485 arrays.
40486 * disk/raid.c (grub_raid_open): Likewise.
40487
40488 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
40489
40490 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
40491 stack instead of on the heap.
40492
40493 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
40494 before doing a read on it.
40495
40496 * configure.ac: Only use -fno-stack-protector for the target
40497 environment.
40498
40499 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
40500
40501 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
40502 __attribute_ ((unused)) to mode_type argument.
40503
40504 * util/getroot.c (grub_guess_root_device): Fix #endif.
40505
40506 * kern/misc.c (memcmp): Fix prototype.
40507
40508 * include/grub/partition.h [GRUB_UTIL]
40509 (grub_gpt_partition_map_init): Add prototype.
40510 (grub_gpt_partition_map_fini): Likewise.
40511
40512 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
40513 at the right place.
40514
40515 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
40516 (grub_fat_read_data): Likewise.
40517 (grub_fat_find_dir): Likewise.
40518
40519 * font/manager.c (find_glyph): Make table a const.
40520 (grub_font_get_glyph): Remove bitmap from if statement.
40521
40522 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
40523
40524 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
40525 code, first search for device in /dev/mapper, then in /dev.
40526 (grub_util_get_grub_dev): New function.
40527 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
40528 prototype.
40529 * util/grub-probe.c (probe): Remove check for RAID, call
40530 grub_util_get_grub_dev() instead of
40531 grub_util_biosdisk_get_grub_dev().
40532 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
40533 grub_util_biosdisk_get_grub_dev().
40534 * util/i386/pc/grub-setup.c (main): Likewise.
40535
40536 2007-05-16 Robert Millan <rmh@aybabtu.com>
40537
40538 * DISTLIST: Update for the latest changes.
40539 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
40540 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
40541 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
40542 grub/util/biosdisk.h.
40543 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
40544 grub/util/biosdisk.h.
40545
40546 2007-05-16 Robert Millan <rmh@aybabtu.com>
40547
40548 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
40549
40550 2007-05-16 Robert Millan <rmh@aybabtu.com>
40551
40552 * util/i386/efi/grub-install.in: New.
40553 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
40554 newly added grub-install.
40555 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
40556 include.
40557 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
40558 grub/util/biosdisk.h.
40559 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
40560 grub/util/biosdisk.h.
40561
40562 2007-05-16 Robert Millan <rmh@aybabtu.com>
40563
40564 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
40565 * include/grub/util/biosdisk.h: ... here.
40566 * util/i386/pc/biosdisk.c: Moved to ...
40567 * util/biosdisk.c: ... here.
40568 * util/i386/pc/getroot.c: Moved to ...
40569 * util/getroot.c: ... here.
40570 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
40571 * util/grub-mkdevicemap.c: ... here.
40572 * util/i386/pc/grub-probe.c: Moved to ...
40573 * util/grub-probe.c: ... here.
40574
40575 2007-05-15 Robert Millan <rmh@aybabtu.com>
40576
40577 * util/update-grub.in: Remove duplicated line in grub.cfg header
40578 message.
40579
40580 2007-05-13 Robert Millan <rmh@aybabtu.com>
40581
40582 * util/update-grub.in: Fix a few assumptions about the devices holding
40583 /, /boot and /boot/grub being the same.
40584 * util/grub.d/00_header.in: Likewise.
40585 * util/grub.d/10_hurd.in: Likewise.
40586 * util/grub.d/10_linux.in: Likewise.
40587
40588 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
40589 patterns. Use that to define the `.old' suffix as older than `'.
40590
40591 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
40592
40593 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
40594 the grub.cfg header message.
40595
40596 2007-05-11 Robert Millan <rmh@aybabtu.com>
40597
40598 * util/update-grub.in: Create device.map if it doesn't already exist,
40599 before attempting to run grub-probe.
40600 Check for grub-probe and grub-mkdevicemap with the same code
40601 grub-install is using.
40602 Remove test mode.
40603
40604 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
40605
40606 * Makefile.in: Add the datarootdir autoconf variable.
40607
40608 2007-05-09 Robert Millan <rmh@aybabtu.com>
40609
40610 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
40611 fail gracefully if dev->disk->partition == NULL.
40612
40613 2007-05-07 Robert Millan <rmh@aybabtu.com>
40614
40615 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
40616 determine partition map module.
40617 * util/i386/pc/grub-install.in: Use this feature to decide which
40618 partition module to load, instead of hardcoding pc and gpt.
40619
40620 2007-05-07 Robert Millan <rmh@aybabtu.com>
40621
40622 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
40623 source directory differs from build directory.
40624
40625 2007-05-05 Robert Millan <rmh@aybabtu.com>
40626
40627 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
40628 initialisation.
40629
40630 2007-05-05 Robert Millan <rmh@aybabtu.com>
40631
40632 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
40633
40634 2007-05-05 Robert Millan <rmh@aybabtu.com>
40635
40636 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
40637 command-line arguments via ${GRUB_CMDLINE_LINUX}.
40638
40639 2007-05-05 Robert Millan <rmh@aybabtu.com>
40640
40641 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
40642 (grub_probe_SOURCES): Likewise.
40643 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
40644 GPT and initialize dos_part and bsd_part accordingly.
40645 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
40646 install_bsd_part.
40647 (main): Activate gpt module for use during partition identification,
40648 and deactivate it afterwards.
40649 * util/i386/pc/grub-install.in: Add gpt module to core.img.
40650 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
40651 partition identification, and deactivate it afterwards.
40652
40653 2007-05-05 Robert Millan <rmh@aybabtu.com>
40654
40655 * term/i386/pc/console.c (grub_console_fini): Call
40656 grub_term_set_current() before grub_term_unregister().
40657
40658 2007-05-04 Robert Millan <rmh@aybabtu.com>
40659
40660 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
40661 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
40662 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
40663 and update-grub_DATA.
40664 * conf/common.rmk: Build and install update-grub components.
40665 * conf/common.mk: Regenerate.
40666 * util/update-grub.in: New. Core of update-grub.
40667 * util/grub.d/00_header.in: New. Generates grub.cfg header.
40668 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
40669 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
40670 * util/grub.d/README: New. Document grub.d directory layout.
40671
40672 2007-05-01 Robert Millan <rmh@aybabtu.com>
40673
40674 * util/grub-emu.c: Move initialization functions
40675 grub_util_biosdisk_init() and grub_init_all() before
40676 grub_util_biosdisk_get_grub_dev(), which relies on them.
40677
40678 2007-04-19 Robert Millan <rmh@aybabtu.com>
40679
40680 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
40681 it is used later.
40682
40683 2007-04-18 Jerone Young <jerone@gmail.com>
40684
40685 * kernel/elf.c: Add missing parenthesis for conditional statement
40686 stanza.
40687
40688 2007-04-10 Jerone Young <jerone@gmail.com>
40689
40690 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
40691 continue on and look for device node with real device name.
40692
40693 2007-04-10 Jerone Young <jerone@gmail.com>
40694
40695 * configure.ac: Add argument for autoconf to use transformation
40696 ability.
40697 * Makefile.in: Add autoconf package transformation code.
40698 * util/i386/pc/grub-install.in: Likewise.
40699 * util/powerpc/ieee1275/grub-install.in: Likewise.
40700
40701 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40702
40703 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
40704 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
40705 (EXT2_REVISION): Likewise.
40706 (EXT2_INODE_SIZE): Likewise.
40707 (struct grub_ext2_block_group): Added a missing member
40708 "used_dirs".
40709 (grub_ext2_read_inode): Divide by the inode size in a superblock
40710 instead of 128 to obtain INODES_PER_BLOCK.
40711 Use the macro EXT2_INODE_SIZE instead of directly using
40712 SBLOCK->INODE_SIZE.
40713
40714 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40715
40716 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
40717 superblock instead of the structure size to compute an
40718 offset. This fixes the problem that GRUB could not read a
40719 filesystem when inode size is different from 128-byte.
40720
40721 2007-03-05 Marco Gerards <marco@gnu.org>
40722
40723 * normal/main.c (read_config_file): When "menu" is not set, create
40724 an initial context.
40725
40726 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40727
40728 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
40729 (HEAP_LIMIT): New macro.
40730 (grub_claim_heap): Claim memory up to `heaplimit'.
40731
40732 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40733
40734 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
40735 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
40736 (_start): Likewise.
40737 (grub_arch_modules_addr): Return address after `_end'.
40738 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
40739 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
40740 (add_segments): Calculate `_end' from phdr size and location.
40741 (ALIGN_UP): Moved to ...
40742 * include/grub/misc.h: here.
40743 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
40744 New macro.
40745 (GRUB_IEEE1275_MODULE_BASE): Removed.
40746
40747 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40748
40749 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
40750 loop boundary.
40751
40752 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40753
40754 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
40755 All users updated.
40756 (grub_elf64_load_hook_t): Likewise.
40757 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
40758 debug output.
40759
40760 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40761
40762 * kern/mm.c: Update copyright.
40763 (grub_mm_debug): Correct syntax error.
40764 (grub_mm_dump_free): New function.
40765 (grub_debug_free): Call `grub_free'.
40766 * include/grub/mm.h: Update copyright.
40767 (grub_mm_dump_free): Add declaration.
40768
40769 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40770
40771 * include/grub/ieee1275/ieee1275.h: Update copyright.
40772 * kern/powerpc/ieee1275/init.c: Likewise.
40773 * kern/powerpc/ieee1275/openfw.c: Likewise.
40774
40775 * loader/powerpc/ieee1275/linux.c: Likewise.
40776 * include/grub/elfload.h: Likewise.
40777 * kern/elf.c: Likewise.
40778 (grub_elf32_load): Pass `base' and `size' parameters. Update all
40779 callers.
40780 (grub_elf64_load): Likewise.
40781 (grub_elf32_load_segment): Move to a nested function.
40782 (grub_elf64_load_segment): Likewise.
40783
40784 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40785
40786 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
40787 prototype.
40788 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
40789 (grub_heap_len): Likewise.
40790 (HEAP_SIZE): New macro.
40791 (grub_claim_heap): New function.
40792 (grub_machine_init): Don't claim heap directly. Call
40793 `grub_claim_heap'.
40794 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
40795 (grub_available_iterate): New function.
40796
40797 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
40798
40799 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
40800 * configure.ac: Use it for testing the HOST and TARGET compilers.
40801
40802 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
40803
40804 * Makefile.in (enable_grub_emu): New variable.
40805 * configure.ac (--enable-grub-emu): New option.
40806 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
40807 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
40808 * conf/i386-pc.rmk: Likewise.
40809 * conf/powerpc-ieee1275.rmk: Likewise.
40810 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
40811
40812 2006-12-12 Marco Gerards <marco@gnu.org>
40813
40814 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
40815
40816 * kern/env.c (grub_env_unset): Don't free the member `value' when
40817 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
40818 pointer.
40819
40820 * normal/main.c (current_menu): Removed.
40821 (free_menu): Unset the `menu' environment variable.
40822 (grub_normal_menu_addentry): Make use of the environment variable
40823 `menu', instead of using the global `current_menu'. Allocate
40824 memory for the sourcecode of this entry.
40825 (read_config_file): New argument `nested', changed all callers.
40826 Only in the case of a new context, initialize a new menu. Set the
40827 `menu' environment variable.
40828 (grub_normal_execute): Don't set and unset the environment
40829 variable `menu' here anymore. Only free the menu when leaving the
40830 context.
40831
40832 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
40833 leak.
40834
40835 2006-12-11 Marco Gerards <marco@gnu.org>
40836
40837 * normal/menu_entry.c (run): Fix off by one bug so the last line
40838 is executed. Move the loader check to outside the loop.
40839
40840 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
40841
40842 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
40843
40844 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
40845
40846 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
40847 the number of sectors. Reported by Andrey Shuvikov
40848 <mr_hyro@yahoo.com>.
40849
40850 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
40851
40852 * kern/disk.c (grub_disk_read): When there is a read error, always
40853 try to read only the necessary data.
40854
40855 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
40856 disk/raid.c.
40857 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
40858 prototype.
40859 [GRUB_UTIL] (grub_raid_fini): Likewise.
40860 [GRUB_UTIL] (grub_lvm_init): Likewise.
40861 [GRUB_UTIL] (grub_lvm_fini): Likewise.
40862 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
40863 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
40864 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
40865 and grub_raid_fini().
40866
40867 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40868
40869 * include/grub/types.h (__unused): Rename to UNUSED.
40870 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
40871 (grub_elf64_size): Likewise.
40872
40873 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40874
40875 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
40876 grub_error_push and grub_error_pop in the error-handling path.
40877 (grub_elf32_load_segment): Only call grub_file_read with non-zero
40878 length.
40879
40880 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40881
40882 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
40883 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40884 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40885 (kernel_elf_SOURCES): Likewise.
40886 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
40887 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
40888 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40889 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40890 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
40891 (elf_mod_SOURCES): New variable.
40892 (elf_mod_CFLAGS): Likewise.
40893 (elf_mod_LDFLAGS): Likewise.
40894 * include/grub/types.h (__unused): New macro.
40895 * include/grub/elfload.h: New file.
40896 * kern/elf.c: Likewise.
40897 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
40898 (ELF32_LOADMASK): New macro.
40899 (ELF64_LOADMASK): Likewise.
40900 (vmlinux): Removed.
40901 (grub_linux_load32): New function.
40902 (grub_linux_load64): Likewise.
40903 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
40904 Use grub_elf_t instead of grub_file_t.
40905
40906 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
40907
40908 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
40909 `catch_result' to struct set_color_args.
40910
40911 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40912
40913 * normal/menu.c: Include grub/script.h.
40914 * normal/menu_entry.c: Likewise.
40915 * include/grub/normal.h: Do not include grub/script.h.
40916
40917 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40918
40919 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
40920
40921 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40922
40923 * kern/disk.c (grub_disk_open): Print debug messages when opening a
40924 disk.
40925 (grub_disk_close): Print debug messages when closing a disk.
40926 (grub_disk_read): Print debug messages when disk read fails.
40927 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
40928 filesystem type.
40929 * kern/partition.c: Include misc.h.
40930 (grub_partition_iterate): Print debug messages when detecting
40931 partition type.
40932
40933 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40934
40935 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
40936 is negative.
40937 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
40938
40939 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
40940
40941 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
40942 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
40943
40944 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
40945
40946 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
40947 instead of sizeof(lv). Patch by Michael Guntsche.
40948
40949 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
40950
40951 * disk/lvm.c: Rename VGS to VG_LIST.
40952 (grub_lvm_iterate): Change VGS->LV to VG-LV.
40953 (grub_lvm_open): Likewise.
40954 Thanks to Michael Guntsche for finding this bug.
40955
40956 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40957
40958 * configure.ac (AC_INIT): Bumped to 1.95.
40959
40960 2006-10-14 Robert Millan <rmh@aybabtu.com>
40961
40962 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
40963 with "/dev/.static/dev/md".
40964
40965 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40966
40967 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
40968 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
40969 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
40970 DRIVE_NAME are always freed.
40971
40972 * util/i386/pc/biosdisk.c (make_device_name): Add one into
40973 DOS_PART, as a DOS partition is counted from one instead of zero
40974 now. Reported by Robert Millan.
40975
40976 2006-10-14 Robert Millan <rmh@aybabtu.com>
40977
40978 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
40979 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
40980 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
40981 string returned by grub_guess_root_device.
40982 * util/i386/pc/grub-setup.c: Likewise.
40983 * util/i386/pc/grub-probefs.c: Likewise.
40984
40985 * util/i386/pc/grub-probefs.c: Rename to ...
40986 * util/i386/pc/grub-probe.c: ... this.
40987 * DISTLIST: Remove grub-probefs, add grub-probe.
40988 * conf/i386-efi.rmk: Likewise.
40989 * conf/i386-pc.rmk: Likewise.
40990 * util/i386/pc/grub-install.in: Likewise.
40991
40992 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
40993 choose which information we want to print.
40994
40995 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40996
40997 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
40998 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
40999 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
41000 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
41001 video/readers/tga.c and video/i386/pc/vbeutil.c.
41002
41003 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
41004
41005 Added support for RAID and LVM.
41006
41007 * disk/lvm.c: New file.
41008 * disk/raid.c: Likewise.
41009 * include/grub/lvm.h: Likewise.
41010 * include/grub/raid.h: Likewise.
41011 * include/grub/util/lvm.h: Likewise.
41012 * include/grub/util/raid.h: Likewise.
41013 * util/lvm.c: Likewise.
41014 * util/raid.c: Likewise.
41015
41016 * include/grub/disk.h (grub_disk_dev_id): Add
41017 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
41018 (grub_disk_get_size): New prototype.
41019 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
41020 returns a partition.
41021 (grub_disk_get_size): New function.
41022
41023 * kern/i386/pc/init.c (make_install_device): Copy the prefix
41024 verbatim if grub_install_dos_part is -2.
41025
41026 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
41027 and LVM devices.
41028
41029 * util/i386/pc/grub-setup.c (setup): New argument
41030 MUST_EMBED. Force embedding of GRUB when the argument is
41031 true. Close FILE before returning.
41032 (main): Add support for RAID and LVM.
41033
41034 * conf/common.rmk: Add RAID and LVM modules.
41035 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
41036 util/lvm.c.
41037 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
41038
41039 * kern/misc.c (grub_strstr): New function.
41040 * include/grub/misc.h (grub_strstr): New prototype.
41041
41042 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
41043
41044 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
41045
41046 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
41047
41048 * kern/misc.c (grub_strtoull): Guess the base only if not
41049 specified.
41050
41051 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
41052
41053 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
41054 PowerMac support.
41055
41056 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
41057
41058 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
41059
41060 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
41061 Remove `flags' argument. All callers changed.
41062 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
41063 (IEEE1275_IHANDLE_INVALID): New variable.
41064 (IEEE1275_CELL_INVALID): New variable.
41065 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
41066 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
41067 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
41068 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
41069 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
41070 codes from Open Firmware. All callers updated.
41071 (grub_ieee1275_next_property): Directly return Open Firmware return
41072 code.
41073 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
41074 Standardize error checking from `grub_ieee1275_get_property'.
41075 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
41076 `devalias' to `aliases'. Correct comments. Consolidate error paths.
41077
41078 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
41079
41080 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
41081 `instance_to_package_args' to `instance_to_path_args'.
41082
41083 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
41084 `grub_ieee1275_chosen'.
41085
41086 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
41087 `grub_ieee1275_interpret'.
41088
41089 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
41090
41091 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
41092
41093 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
41094
41095 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
41096 (__cmpdi): Likewise.
41097
41098 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
41099 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
41100 `grub_ssize_t'.
41101
41102 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
41103
41104 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
41105 to type `grub_ssize_t'.
41106 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
41107
41108 2006-09-22 Marco Gerards <marco@gnu.org>
41109
41110 * normal/script.c (grub_script_create_cmdmenu): Skip leading
41111 newlines.
41112
41113 2006-09-22 Marco Gerards <marco@gnu.org>
41114
41115 * commands/echo.c: New file.
41116
41117 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
41118
41119 * conf/common.rmk (echo_mod_SOURCES): New variable.
41120 (echo_mod_CFLAGS): Likewise.
41121 (echo_mod_LDFLAGS): Likewise.
41122
41123 2006-09-22 Marco Gerards <marco@gnu.org>
41124
41125 * normal/main.c (get_line): Malloc memory instead of using
41126 preallocated memory. Removed the arguments `cmdline' and
41127 `max_len'. Updated all callers.
41128
41129 2006-09-22 Marco Gerards <marco@gnu.org>
41130
41131 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
41132 (normal_mod_DEPENDENCIES): Likewise.
41133
41134 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
41135 (normal_mod_DEPENDENCIES): Likewise.
41136
41137 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
41138
41139 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
41140
41141 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
41142 programs.
41143 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
41144 (normal_mod_DEPENDENCIES): Likewise.
41145 * conf/i386-pc.mk: Regenerate.
41146 * conf/i386-efi.mk: Likewise
41147 * conf/common.mk: Likewise.
41148 * conf/powerpc-ieee1275.mk: Likewise.
41149 * conf/sparc64-ieee1275.mk: Likewise.
41150
41151 2006-09-22 Robert Millan <rmh@aybabtu.com>
41152
41153 Sync with i386 version.
41154 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
41155 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
41156
41157 2006-09-21 Robert Millan <rmh@aybabtu.com>
41158
41159 Import from GRUB Legacy (lib/device.c):
41160 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
41161 (init_device_map) [__linux__]: Add support for I2O devices.
41162
41163 2006-09-14 Marco Gerards <marco@gnu.org>
41164
41165 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
41166 `-melf_i386'.
41167
41168 2006-09-14 Robert Millan <rmh@aybabtu.com>
41169
41170 * util/i386/pc/grub-install.in: Skip menu.lst when removing
41171 /boot/grub/*.lst.
41172
41173 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
41174
41175 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
41176 before adding it to device.map.
41177
41178 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
41179
41180 * genmk.rb: Let GCC generate dependencies the first time it
41181 compiles a file; using the -MD option.
41182 * conf/common.mk: Regenerate.
41183 * conf/i386-pc.mk: Likewise.
41184 * conf/i386-efi.mk: Likewise.
41185 * conf/powerpc-ieee1275.mk: Likewise.
41186 * conf/sparc64-ieee1275.mk: Likewise.
41187
41188 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
41189
41190 Move the prototypes of grub_setjmp and grub_longjmp to
41191 cpu/setjmp.h, so that each architecture may specify different
41192 attributes.
41193
41194 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
41195 (grub_longjmp): Likewise.
41196 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
41197 (grub_longjmp): Likewise.
41198 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
41199 (grub_longjmp): Likewise.
41200
41201 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
41202 [!GRUB_UTIL] (grub_longjmp): Removed.
41203
41204 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
41205
41206 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
41207 "color!" method does not return any value.
41208
41209 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41210
41211 * include/grub/bitmap.h: New file.
41212
41213 * include/grub/i386/pc/vbeutil.h: Likewise.
41214
41215 * video/bitmap.c: Likewise.
41216
41217 * video/readers/tga.c: Likewise.
41218
41219 * video/i386/pc/vbeutil.c: Likewise.
41220
41221 * commands/videotest.c: Code cleanup and updated to reflect to new
41222 video API.
41223
41224 * term/gfxterm.c: Likewise.
41225
41226 * video/video.c: Likewise.
41227
41228 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
41229 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
41230 (bitmap_mod_SOURCES): New entry.
41231 (bitmap_mod_CFLAGS): Likewise.
41232 (bitmap_mod_LDFLAGS): Likewise.
41233 (tga_mod_SOURCES): Likewise.
41234 (tga_mod_CFLAGS): Likewise.
41235 (tga_mod_LDFLAGS): Likewise.
41236
41237 * include/grub/video.h (grub_video_blit_operators): New enum type.
41238 (grub_video_render_target): Changed as forward declaration and moved
41239 actual definition to be video driver specific.
41240 (grub_video_adapter.blit_bitmap): Added blitting operator.
41241 (grub_video_adapter.blit_render_target): Likewise.
41242 (grub_video_blit_bitmap): Likewise.
41243 (grub_video_blit_render_target): Likewise.
41244
41245 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
41246 driver specific render target definition.
41247 (grub_video_vbe_map_rgba): Added driver internal helper.
41248 (grub_video_vbe_unmap_color): Updated to use
41249 grub_video_i386_vbeblit_info.
41250 (grub_video_vbe_get_video_ptr): Likewise.
41251
41252 * include/grub/i386/pc/vbeblit.h
41253 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
41254 grub_video_i386_vbeblit_info.
41255 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41256 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41257 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41258 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41259 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41260 (grub_video_i386_vbeblit_index_index): Likewise.
41261 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
41262 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41263 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41264 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
41265 operator.
41266 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
41267 operator.
41268
41269 * video/i386/pc/vbeblit.c: Updated to reflect changes on
41270 include/grub/i386/pc/vbeblit.h.
41271
41272 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
41273 Updated to use grub_video_i386_vbeblit_info.
41274 (grub_video_i386_vbefill_R8G8B8): Likewise.
41275 (grub_video_i386_vbefill_index): Likewise.
41276 (grub_video_i386_vbefill): Added generic filler.
41277
41278 * video/i386/pc/vbefill.c: Updated to reflect changes on
41279 include/grub/i386/pc/vbefill.h.
41280
41281 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
41282 grub_video_i386_vbeblit_info.
41283 (grub_video_vbe_unmap_color): Likewise.
41284 (grub_video_vbe_blit_glyph): Likewise.
41285 (grub_video_vbe_scroll): Likewise.
41286 (grub_video_vbe_draw_pixel): Removed function.
41287 (grub_video_vbe_get_pixel): Likewise.
41288 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
41289 updated code to use it.
41290 (common_blitter): Added common blitter for render target and bitmap.
41291 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
41292 (grub_video_vbe_blit_render_target): Likewise.
41293
41294 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
41295
41296 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
41297 is in text mode if there is no console control protocol instance
41298 available.
41299
41300 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41301
41302 * include/grub/video.h: Code cleanup.
41303
41304 * include/grub/i386/pc/vbe.h: Likewise.
41305
41306 * video/i386/pc/vbe.c: Likewise.
41307
41308 * video/i386/pc/vbeblit.c: Likewise.
41309
41310 * video/i386/pc/vbefill.c: Likewise.
41311
41312 * video/video.c: Likewise. Also added more comments.
41313
41314 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41315
41316 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
41317 (struct grub_biosdisk_dap): Likewise.
41318
41319 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
41320 linkage settings for all functions.
41321
41322 2006-07-12 Marco Gerards <marco@gnu.org>
41323
41324 * configure.ac (--enable-mm-debug): Fix typo.
41325
41326 * genkernsyms.sh.in: Use proper quoting for `CC'.
41327
41328 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
41329
41330 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
41331 (normal_mod_ASFLAGS): Remove "-m32".
41332
41333 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
41334
41335 * util/misc.c: Include config.h.
41336 [!HAVE_MEMALIGN]: Do not include malloc.h.
41337 (grub_memalign): Use posix_memalign, if present. Then, use
41338 memalign, if present. Otherwise, emit an error.
41339
41340 * util/grub-emu.c: Do not include malloc.h.
41341
41342 * include/grub/util/misc.h: Include unistd.h. This is required for
41343 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
41344 D. Eades III <hde@foobar-qux.org>.
41345
41346 * configure.ac (AC_GNU_SOURCE): Added.
41347 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
41348 type.
41349
41350 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
41351
41352 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
41353 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
41354
41355 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
41356
41357 * include/grub/types.h (grub_host_addr_t): Rename to
41358 grub_target_addr_t.
41359 (grub_host_off_t): Rename to grub_target_off_t.
41360 (grub_host_size_t): Rename to grub_target_size_t.
41361 (grub_host_ssize_t): Rename to grub_target_ssize_t.
41362 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
41363
41364 * include/grub/kernel.h (struct grub_module_header): Change type
41365 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
41366 (grub_module_info): Likewise.
41367
41368 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
41369
41370 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
41371 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
41372 Velazquez <jesus.velazquez@gmail.com>.
41373
41374 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
41375
41376 Count partitions from 1 instead of 0 in the string representation
41377 of partitions. Still use 0-based internally.
41378
41379 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
41380 (sun_partition_map_iterate): Use grub_partition_t instead of
41381 struct grub_partition *. Cast DESC->START_CYLINDER to
41382 grub_uint64_t after converting the endian.
41383 (sun_partition_map_probe): Subtract 1 for PARTNUM.
41384 (sun_partition_map_get_name): Add 1 to P->INDEX.
41385
41386 * partmap/pc.c (grub_partition_parse): Subtract 1 for
41387 PCDATA->DOS_PART.
41388 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
41389
41390 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
41391 zero instead of one.
41392 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
41393 (gpt_partition_map_get_name): Add 1 into P->INDEX.
41394
41395 * partmap/apple.c (apple_partition_map_iterate): Change the type
41396 of POS to unsigned.
41397 (apple_partition_map_probe): Subtract 1 for PARTNUM.
41398 (apple_partition_map_get_name): Add 1 into P->INDEX.
41399
41400 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
41401 of POS to unsigned.
41402 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
41403 calculate the offset of a partition.
41404 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
41405 (amiga_partition_map_get_name): Add 1 into P->INDEX.
41406
41407 * partmap/acorn.c (acorn_partition_map_find): Change the type of
41408 SECTOR to grub_disk_addr_t.
41409 (acorn_partition_map_iterate): Likewise.
41410 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
41411 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
41412 top.
41413 (acorn_partition_map_get_name): Add 1 into P->INDEX.
41414
41415 * kern/i386/pc/init.c (make_install_device): Add 1 into
41416 GRUB_INSTALL_DOS_PART.
41417
41418 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
41419 conditional.
41420
41421 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41422
41423 Clean up the code to support 64-bit addressing in disks and
41424 files. This change is not enough for filesystems yet.
41425
41426 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
41427 type of "start" to grub_uint64_t.
41428 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
41429 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
41430 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
41431 convert addresses.
41432
41433 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
41434 to grub_disk_addr_t.
41435
41436 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
41437 string.
41438
41439 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41440
41441 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
41442 to char *.
41443
41444 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
41445
41446 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
41447
41448 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
41449
41450 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
41451 to grub_off_t, to detect an error from grub_file_seek.
41452 (grub_multiboot_load_elf32): Likewise.
41453
41454 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
41455 maximum unsigned long value when an overflow is detected.
41456 (grub_strtoull): New function.
41457 (grub_divmod64): Likewise.
41458 (grub_lltoa): use grub_divmod64.
41459
41460 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
41461 grub_disk_addr_t.
41462 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
41463 the pointer to next character. Use grub_strtoull instead of
41464 grub_strtoul.
41465 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
41466 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
41467 respectively.
41468
41469 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
41470 return value is signed.
41471 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
41472 test if OFFSET is less than zero, as OFFSET is unsigned now.
41473
41474 * kern/disk.c (struct grub_disk_cache): Change the type of
41475 "sector" to grub_disk_addr_t.
41476 (grub_disk_cache_get_index): Change the type of SECTOR to
41477 grub_disk_addr_t. Calculate the hash with SECTOR casted to
41478 unsigned after shifting.
41479 (grub_disk_cache_invalidate): Change the type of SECTOR to
41480 grub_disk_addr_t.
41481 (grub_disk_cache_unlock): Likewise.
41482 (grub_disk_cache_store): Likewise.
41483 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
41484 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
41485 grub_disk_addr_t and grub_uint64_t, respectively.
41486 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
41487 body, as the value of OFFSET is tweaked by
41488 grub_disk_check_range. Change the types of START_SECTOR, LEN and
41489 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
41490 respectively.
41491 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
41492 body, as the value of OFFSET is tweaked by
41493 grub_disk_check_range. Change the types of LEN and N to
41494 grub_size_t.
41495
41496 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
41497 and "saved_offset" to grub_off_t.
41498 (test_header): Cast BUF to char *.
41499 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
41500 to char *.
41501 (grub_gzio_read): Change the types of OFFSET and SIZE to
41502 grub_off_t and grub_size_t, respectively.
41503
41504 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
41505 Removed.
41506 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
41507 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
41508 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
41509 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
41510 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
41511
41512 * include/grub/types.h (grub_off_t): Unconditionally set to
41513 grub_uint64_t.
41514 (grub_disk_addr_t): Changed to grub_uint64_t.
41515
41516 * include/grub/partition.h (struct grub_partition): Change the
41517 types of "start", "len" and "offset" to grub_disk_addr_t,
41518 grub_uint64_t and grub_disk_addr_t, respectively.
41519 (grub_partition_get_start): Return grub_disk_addr_t.
41520 (grub_partition_get_len): Return grub_uint64_t.
41521
41522 * include/grub/misc.h (grub_strtoull): New prototype.
41523 (grub_divmod64): Likewise.
41524
41525 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
41526 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
41527 grub_off_t, respectively.
41528 All callers and references changed.
41529
41530 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
41531 grub_size_t in "read".
41532 All callers and references changed.
41533
41534 * include/grub/file.h (struct grub_file): Change the types of
41535 "offset" and "size" to grub_off_t and grub_off_t,
41536 respectively. Change the type of SECTOR to grub_disk_addr_t in
41537 "read_hook".
41538 (grub_file_read): Change the type of LEN to grub_size_t.
41539 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
41540 grub_off_t.
41541 (grub_file_size): Return grub_off_t.
41542 (grub_file_tell): Likewise.
41543 All callers and references changed.
41544
41545 * include/grub/disk.h (struct grub_disk_dev): Change the types of
41546 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
41547 "write".
41548 (struct grub_disk): Change the type of "total_sectors" to
41549 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
41550 "read_hook".
41551 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
41552 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
41553 (grub_disk_write): Likewise.
41554 All callers and references changed.
41555
41556 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
41557 char * for grub_strncmp to silence gcc.
41558 (grub_iso9660_mount): Likewise.
41559 (grub_iso9660_mount): Likewise.
41560 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
41561 return statement.
41562 (grub_iso9660_iterate_dir): Likewise.
41563 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
41564
41565 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
41566 LEN to grub_disk_addr_t and grub_size_t, respectively.
41567
41568 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
41569
41570 * fs/jfs.c (grub_jfs_read_file): Likewise.
41571
41572 * fs/minix.c (grub_jfs_read_file): Likewise.
41573
41574 * fs/sfs.c (grub_jfs_read_file): Likewise.
41575
41576 * fs/ufs.c (grub_jfs_read_file): Likewise.
41577
41578 * fs/xfs.c (grub_jfs_read_file): Likewise.
41579
41580 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
41581 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
41582 respectively.
41583
41584 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
41585 BLKNR to -1 instead of returning GRUB_ERRNO.
41586 (grub_ext2_read_file): Change the types of SECTOR and
41587 LEN to grub_disk_addr_t and grub_size_t, respectively.
41588
41589 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
41590 LEN to grub_disk_addr_t and grub_size_t, respectively.
41591
41592 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
41593 grub_file_read.
41594
41595 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
41596 string. Do not cast SECTOR explicitly.
41597
41598 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
41599 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
41600 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
41601 grub_disk_addr_t and grub_size_t, respectively. If the sector is
41602 over 2TB and LBA mode is not supported, raise an error.
41603 (get_safe_sectors): New function.
41604 (grub_biosdisk_read): Use get_safe_sectors.
41605 (grub_biosdisk_write): Likewise.
41606
41607 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
41608 (grub_efidisk_write): Likewise.
41609
41610 * disk/loopback.c (delete_loopback): Cosmetic changes.
41611 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
41612 correctly.
41613 (grub_loopback_open): Likewise.
41614 (grub_loopback_read): Likewise. Also, change the type of POS to
41615 grub_off_t, and fix the usage of grub_memset.
41616
41617 * commands/i386/pc/play.c: Include grub/machine/time.h.
41618
41619 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
41620 print FILE->SIZE.
41621
41622 * commands/configfile.c: Include grub/env.h.
41623
41624 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
41625 GRUB_ERRNO directly instead. Change the type of POS to
41626 grub_off_t. Follow the coding standard.
41627
41628 * commands/blocklist.c: Include grub/partition.h.
41629 (grub_cmd_blocklist): Return an error if the underlying device is
41630 not a disk. Take the starting sector of a partition into account,
41631 if a partition is used.
41632
41633 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
41634 a length field.
41635 (lba_mode): Support 64-bit addresses.
41636 (chs_mode): Likewise.
41637 (copy_buffer): Adapted to the new offsets of a length field and a
41638 segment field.
41639 (blocklist_default_start): Allocate 64-bit space.
41640
41641 * boot/i386/pc/boot.S (force_lba): Removed.
41642 (boot_drive): Moved to under KERNEL_SECTOR.
41643 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
41644 space.
41645 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
41646 is useless.
41647 (lba_mode): Refactored to support a 64-bit address. More size
41648 optimization.
41649 (setup_sectors): Likewise.
41650
41651 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41652
41653 * DISTLIST: Added include/grub/i386/linux.h. Removed
41654 include/grub/i386/pc/linux.h
41655
41656 * configure.ac (AC_INIT): Bumped to 1.94.
41657
41658 * config.guess: Updated from gnulib.
41659 * config.sub: Likewise.
41660 * install-sh: Likewise.
41661 * mkinstalldirs: Likewise.
41662
41663 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41664
41665 * conf/common.rmk (grub_modules_init.lst): Depended on
41666 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
41667 MODSRCFILES.
41668
41669 * genmk.rb (PModule::rule): Reverted the previous change.
41670
41671 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41672
41673 * conf/common.rmk (grub_modules_init.lst): Depends on
41674 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
41675 that the target does not exist before producing.
41676 (grub_modules_init.h): Remove the target before generating.
41677 (grub_emu_init.c): Likewise.
41678
41679 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
41680
41681 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
41682
41683 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
41684 for the target-specific tests. Make sure that we also have the
41685 up-to-date target variables for those tests.
41686
41687 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41688
41689 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
41690 (PModule::rule): Likewise.
41691
41692 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41693
41694 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
41695 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
41696 target-specific flags should be prefixed.
41697 (PModule::rule): Likewise.
41698
41699 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
41700
41701 * configure.ac (CMP): Check if cmp is available explicitly.
41702
41703 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
41704
41705 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
41706 (target_cpu): New variable.
41707 (pkglibdir): Use target_cpu instead of host_cpu.
41708
41709 * util/i386/pc/grub-install.in (host_cpu): Removed.
41710 (target_cpu): New variable.
41711 (pkglibdir): Use target_cpu instead of host_cpu.
41712
41713 * util/genmoddep.c: Removed.
41714
41715 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
41716 instead of GRUB_HOST_SIZEOF_VOID_P.
41717 * kern/dl.c: Likewise.
41718
41719 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
41720 ...
41721 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41722 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41723 (GRUB_TARGET_SIZEOF_LONG): ... this.
41724 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41725 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41726 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41727 to ...
41728 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41729 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41730 (GRUB_TARGET_SIZEOF_LONG): ... this.
41731 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41732 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41733 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41734 to ...
41735 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41736 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41737 (GRUB_TARGET_SIZEOF_LONG): ... this.
41738 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41739 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41740
41741 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
41742 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
41743 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
41744 instead of GRUB_HOST_SIZEOF_LONG.
41745 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
41746 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
41747 GRUB_CPU_WORDS_BIGENDIAN.
41748 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
41749 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
41750 grub_host_ssize_t.
41751
41752 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
41753 (genmoddep_SOURCES): Likewise.
41754 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
41755 (genmoddep_SOURCES): Likewise.
41756 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
41757 (genmoddep_SOURCES): Likewise.
41758 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
41759 Likewise.
41760 (genmoddep_SOURCES): Likewise.
41761
41762 * genmoddep.awk: New file.
41763
41764 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
41765 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
41766 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
41767 (PModule::rule): Likewise.
41768 (Program::rule): Likewise.
41769 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
41770 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
41771 respectively.
41772
41773 * configure.ac: Rewritten intensively to use host and target
41774 instead of build and host, respectively.
41775
41776 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
41777 (host_cpu): Removed.
41778 (target_cpu): New variable.
41779 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
41780 (BUILD_CC): Removed.
41781 (BUILD_CFLAGS): Likewise.
41782 (BUILD_CPPFLAGS): Likewise.
41783 (TARGET_CC): New variable.
41784 (TARGET_CFLAGS): Likewise.
41785 (TARGET_CPPFLAGS): Likewise.
41786 (TARGET_LDFLAGS): Likewise.
41787 (AWK): Likewise.
41788 (include): Use target_cpu instead of host_cpu.
41789 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
41790
41791 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
41792
41793 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
41794
41795 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
41796 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
41797 field 'false' to 'exec_on_false'.
41798 (grub_script_create_cmdif): Renamed argument names to reflect above
41799 changes.
41800
41801 * normal/execute.c (grub_script_execute_cmdif): Likewise.
41802
41803 * normal/script.c (grub_script_create_cmdif): Likewise.
41804
41805 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
41806
41807 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
41808 top.
41809 (grub_hfsplus_btree_recptr): Likewise.
41810 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
41811 FILEBLOCK both to pass a block number and store next block
41812 number.
41813 (grub_hfsplus_read_block): Rewritten heavily to support an extent
41814 overflow file correctly. Specify errors appropriately, because
41815 fshelp expects that GRUB_ERRNO is set when fails. Reuse
41816 grub_hfsplus_btree_recptr to get the pointer to a found key.
41817 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
41818 is found.
41819
41820 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
41821 linux.mod.
41822 (_linux_mod_SOURCES): New variable.
41823 (_linux_mod_CFLAGS): Likewise.
41824 (_linux_mod_LDFLAGS): Likewise.
41825 (linux_mod_SOURCES): Likewise.
41826 (linux_mod_CFLAGS): Likewise.
41827 (linux_mod_LDFLAGS): Likewise.
41828
41829 * DISTLIST: Added loader/i386/efi/linux.c,
41830 loader/i386/efi/linux_normal.c and
41831 include/grub/i386/efi/loader.h.
41832
41833 * loader/i386/efi/linux.c: New file.
41834 * loader/i386/efi/linux_normal.c: Likewise.
41835 * include/grub/i386/efi/loader.h: Likewise.
41836
41837 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
41838
41839 * commands/blocklist.c: New file.
41840
41841 * DISTLIST: Added commands/blocklist.c.
41842
41843 * term/efi/console.c (grub_console_highlight_color): Use a lighter
41844 color for the background, and a darker color for the foreground.
41845 (grub_console_checkkey): Return READ_KEY.
41846 (grub_console_cls): Set the background to
41847 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
41848
41849 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
41850
41851 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
41852 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
41853
41854 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
41855 prototype.
41856
41857 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
41858 BG. The spec is wrong again.
41859
41860 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
41861 prototype.
41862 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
41863
41864 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41865 commands/blocklist.c.
41866 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41867
41868 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
41869 (blocklist_mod_SOURCES): New variable.
41870 (blocklist_mod_CFLAGS): Likewise.
41871 (blocklist_mod_LDFLAGS): Likewise.
41872
41873 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
41874
41875 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
41876 duplication.
41877 (lba_mode): Use %eax more intensively to reduce the code size.
41878
41879 2006-05-20 Marco Gerards <marco@gnu.org>
41880
41881 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
41882
41883 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
41884 for `menuentry'.
41885 (script): Accept leading newlines.
41886 (newlines): New rule to describe 0 or more newlines.
41887 (commands): Accept `command' with trailing newline. Fixed the
41888 order in which arguments were passed to `grub_script_add_cmd'.
41889 Accept commands separated by newlines.
41890 (function): Changed to accept newlines.
41891 (menuentry) Rewritten.
41892
41893 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
41894 front of the list, instead of to the end.
41895
41896 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
41897
41898 * util/i386/pc/grub-install.in (bindir): New variable.
41899 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
41900 Shaver <lbgwjl@gmail.com>.
41901
41902 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
41903
41904 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
41905 grub/machine/linux.h
41906 * loader/i386/pc/linux.c: Likewise.
41907
41908 * include/grub/i386/pc/linux.h: Moved to ...
41909 * include/grub/i386/linux.h: ... here.
41910
41911 * include/grub/i386/linux.h (struct linux_kernel_params): New
41912 struct.
41913
41914 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
41915
41916 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
41917 checking.
41918 (grub_video_vbe_blit_glyph): Likewise.
41919 (grub_video_vbe_blit_bitmap): Likewise.
41920 (grub_video_vbe_blit_render_target): Likewise.
41921
41922 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
41923
41924 * configure.ac (--with-platform): Properly quote the square
41925 brackets.
41926
41927 2006-05-08 Marco Gerards <marco@gnu.org>
41928
41929 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
41930 this...
41931 (kernel_elf_HEADERS): ...to this. Updated all users.
41932 (grubof_symlist.c): Renamed from this...
41933 (kernel_elf_symlist.c): ...to this. Updated all users.
41934 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41935 (grubof_SOURCES): Renamed from this...
41936 (kernel_elf_SOURCES): ...to this.
41937 (grubof_HEADERS): Renamed from this...
41938 (kernel_elf_HEADERS): ...to this.
41939 (grubof_CFLAGS): Renamed from this...
41940 (kernel_elf_CFLAGS): ...to this.
41941 (grubof_ASFLAGS): Renamed from this...
41942 (kernel_elf_ASFLAGS): ...to this.
41943 (grubof_LDFLAGS): Renamed from this...
41944 (kernel_elf_LDFLAGS): ...to this.
41945
41946 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
41947 this...
41948 (kernel_elf_HEADERS): ...to this. Updated all users.
41949 (grubof_symlist.c): Renamed from this...
41950 (kernel_elf_symlist.c): ...to this. Updated all users.
41951 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41952 (grubof_SOURCES): Renamed from this...
41953 (kernel_elf_SOURCES): ...to this.
41954 (grubof_HEADERS): Renamed from this...
41955 (kernel_elf_HEADERS): ...to this.
41956 (grubof_CFLAGS): Renamed from this...
41957 (kernel_elf_CFLAGS): ...to this.
41958 (grubof_ASFLAGS): Renamed from this...
41959 (kernel_elf_ASFLAGS): ...to this.
41960 (grubof_LDFLAGS): Renamed from this...
41961 (kernel_elf_LDFLAGS): ...to this.
41962
41963 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
41964 `kernel.elf' instead of `grubof'.
41965
41966 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
41967
41968 Add --with-platform to configure. Use pkglibdir instead of
41969 pkgdatadir. This is reported by Roger Leigh.
41970
41971 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
41972 (host_vendor): Likewise.
41973 (host_os): Likewise.
41974 (pkgdatadir): Likewise.
41975 (platform): New variable.
41976 (pkglibdir): Likewise.
41977 Use PKGLIBDIR instead of PKGDATADIR.
41978
41979 * util/i386/pc/grub-install.in (datadir): Removed.
41980 (host_vendor): Likewise.
41981 (host_os): Likewise.
41982 (pkgdatadir): Likewise.
41983 (platform): New variable.
41984 (pkglibdir): Likewise.
41985 Use PKGLIBDIR instead of PKGDATADIR.
41986
41987 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
41988 instead of GRUB_DATADIR.
41989 (main): Likewise.
41990 * util/i386/pc/grub-mkimage.c (usage): Likewise.
41991 (main): Likewise.
41992 * util/i386/efi/grub-mkimage.c (usage): Likewise.
41993 (main): Likewise.
41994
41995 * configure.ac (--with-platform): New option.
41996 Use PLATFORM instead of HOST_VENDOR to specify a platform.
41997
41998 * Makefile.in: Include a makefile based on PLATFORM instead of
41999 HOST_VENDOR.
42000 (pkgdatadir): Not appended by the machine type.
42001 (pkglibdir): Appended by the machine type.
42002 (host_vendor): Removed.
42003 (platform): New variable.
42004 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
42005 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
42006 (uninstall): Likewise.
42007
42008 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
42009
42010 Use the environment context in the menu. Remove the commands
42011 "default" and "timeout", and use variables instead.
42012
42013 * normal/menu.c: Include grub/env.h.
42014 (print_entry): Cast TITLE to silence gcc.
42015 (get_timeout): New function.
42016 (set_timeout): Likewise.
42017 (get_entry_number): Likewise.
42018 (run_menu): Use a default entry, a fallback entry and a timeout
42019 in the environment variables "default", "fallback" and
42020 "timeout". Also, tweak the default entry if it is not within the
42021 current menu entries.
42022 (grub_menu_run): Use a fallback entry in the environment variable
42023 "fallback".
42024
42025 * normal/main.c (read_config_file): Do not initialize
42026 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
42027 NEWMENU->TIMEOUT.
42028 (grub_normal_execute): Use a data slot to store the menu.
42029
42030 * include/grub/normal.h (struct grub_menu): Removed default_entry,
42031 fallback_entry and timeout.
42032 (struct grub_menu_list): Removed.
42033 (grub_menu_list_t): Likewise.
42034 (struct grub_context): Likewise.
42035 (grub_context_t): Likewise.
42036 (grub_context_get): Likewise.
42037 (grub_context_get_current_menu): Likewise.
42038 (grub_context_push_menu): Likewise.
42039 (grub_context_pop_menu): Likewise.
42040 (grub_default_init): Likewise.
42041 (grub_default_fini): Likewise.
42042 (grub_timeout_init): Likewise.
42043 (grub_timeout_fini): Likewise.
42044
42045 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
42046 and timeout.mod.
42047 (normal_mod_SOURCES): Removed normal/context.c.
42048
42049 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
42050 commands/default.c, commands/timeout.c and normal/context.c.
42051 (normal_mod_SOURCES): Removed normal/context.c.
42052
42053 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
42054 commands/timeout.c and normal/context.c.
42055 (normal_mod_SOURCES): Removed normal/context.c.
42056
42057 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
42058 commands/default.c, commands/timeout.c and normal/context.c.
42059 (normal_mod_SOURCES): Removed normal/context.c.
42060
42061 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
42062 timeout.mod.
42063 (default_mod_SOURCES): Removed.
42064 (default_mod_CFLAGS): Likewise.
42065 (default_mod_LDFLAGS): Likewise.
42066 (timeout_mod_SOURCES): Removed.
42067 (timeout_mod_CFLAGS): Likewise.
42068 (timeout_mod_LDFLAGS): Likewise.
42069
42070 * DISTLIST: Removed commands/default.c, commands/timeout.c and
42071 normal/context.c.
42072
42073 * commands/default.c: Removed.
42074 * commands/timeout.c: Likewise.
42075 * normal/context.c: Likewise.
42076
42077 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
42078
42079 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
42080
42081 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
42082
42083 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
42084 "next" to "prev" for readability.
42085 (struct grub_env_sorted_var): New struct.
42086 (grub_env_context): Renamed to ...
42087 (initial_context): ... this.
42088 (grub_env_var_context): Renamed to ...
42089 (current_context): ... this.
42090 (grub_env_find): Look only at CURRENT_CONTEXT.
42091 (grub_env_context_open): Rewritten to copy exported variables from
42092 previous context.
42093 (grub_env_context_close): Rewritten according to the new
42094 scheme. Also, add an assertion to prevent the initial context from
42095 removed.
42096 (grub_env_insert): Removed the code for the sorted list.
42097 (grub_env_remove): Likewise.
42098 (grub_env_export): Simply mark the variable with
42099 GRUB_ENV_VAR_GLOBAL.
42100 (grub_env_set): A cosmetic change for naming consistency.
42101 (grub_env_get): Likewise.
42102 (grub_env_unset): Likewise.
42103 (grub_env_iterate): Rewritten to sort variables within this
42104 function.
42105 (grub_register_variable_hook): Fixed for naming consistency. Call
42106 grub_env_find again, only if NAME is not found at the first time.
42107 (mangle_data_slot_name): New function.
42108 (grub_env_set_data_slot): Likewise.
42109 (grub_env_get_data_slot): Likewise.
42110 (grub_env_unset_data_slot): Likewise.
42111
42112 * include/grub/env.h (grub_env_var_type): New enum.
42113 (GRUB_ENV_VAR_LOCAL): New constant.
42114 (GRUB_ENV_VAR_GLOBAL): Likewise.
42115 (GRUB_ENV_VAR_DATA): Likewise.
42116 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
42117 "type".
42118 (grub_env_set): Replace VAR with NAME for consistency.
42119 (grub_register_variable_hook): Likewise.
42120 (grub_env_export): Specify the name of the argument.
42121 (grub_env_set_data_slot): New prototype.
42122 (grub_env_get_data_slot): Likewise.
42123 (grub_env_unset_data_slot): Likewise.
42124
42125 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
42126
42127 Extend the loader so that GRUB can accept a loader which comes
42128 back to GRUB when a loaded image exits. Also, this change adds
42129 support for a chainloader on EFI.
42130
42131 * term/efi/console.c: Include grub/misc.h.
42132 (grub_console_checkkey): Display a scan code on the top for
42133 debugging. This will be removed once the EFI port gets stable.
42134 Correct the scan code mapping.
42135
42136 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
42137 allocate memory from larger regions, in order to reduce the number
42138 of allocated regions. Otherwise, the MacOSX loader panics.
42139 (filter_memory_map): Avoid less than 1MB for compatibility with
42140 other loaders.
42141 (add_memory_regions): Allocate from the tail of a region, if
42142 possible, to avoid allocating a region near to 1MB, for the MacOSX
42143 loader.
42144
42145 * kern/efi/init.c (grub_efi_set_prefix): Specify
42146 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
42147
42148 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
42149 argument IMAGE_HANDLE and specify it to get a loaded image.
42150 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
42151 grub_efi_get_loaded_image.
42152 (grub_efi_get_filename): Divide the length by the size of
42153 grub_efi_char16_t.
42154 (grub_efi_get_device_path): New function.
42155 (grub_efi_print_device_path): Print End Device Path nodes. Divide
42156 the length by the size of grub_efi_char16_t for a file path device
42157 path node.
42158
42159 * kern/loader.c (grub_loader_noreturn): New variable.
42160 (grub_loader_set): Accept a new argument NORETURN. Set
42161 GRUB_LOADER_NORETURN to NORETURN.
42162 All callers changed.
42163 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
42164 grub_machine_fini.
42165
42166 * include/grub/efi/efi.h (grub_efi_get_device_path): New
42167 prototype.
42168 (grub_efi_get_loaded_image): Take an argument to specify an image
42169 handle.
42170
42171 * include/grub/loader.h (grub_loader_set): Added one more argument
42172 NORETURN.
42173
42174 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
42175 instead of grub_efi_open_protocol.
42176 (grub_efidisk_get_device_name): Likewise.
42177 (grub_efidisk_close): Print a newline.
42178 (grub_efidisk_get_device_handle): Fixed to use
42179 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
42180 GRUB_EFI_DEVICE_PATH_TYPE.
42181
42182 * disk/efi/efidisk.c (device_path_guid): Moved to ...
42183 * kern/efi/efi.c (device_path_guid): ... here.
42184
42185 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
42186 chain.mod.
42187 (kernel_mod_HEADERS): Added efi/disk.h.
42188 (_chain_mod_SOURCES): New variable.
42189 (_chain_mod_CFLAGS): Likewise.
42190 (_chain_mod_LDFLAGS): Likewise.
42191 (chain_mod_SOURCES): Likewise.
42192 (chain_mod_CFLAGS): Likewise.
42193 (chain_mod_LDFLAGS): Likewise.
42194
42195 * DISTLIST: Added include/grub/efi/chainloader.h,
42196 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
42197
42198 * include/grub/efi/chainloader.h: New file.
42199 * loader/efi/chainloader.c: Likewise.
42200 * loader/efi/chainloader_normal.c: Likewise.
42201
42202 2006-04-30 Marco Gerards <marco@gnu.org>
42203
42204 * commands/configfile.c (grub_cmd_source): New function.
42205 (GRUB_MOD_INIT): Register the commands `source' and `.'.
42206 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
42207
42208 2006-04-30 Marco Gerards <marco@gnu.org>
42209
42210 * normal/execute.c (grub_script_execute_cmd): Change the return
42211 type to `grub_err_t'. Correctly return the error.
42212 (grub_script_execute_cmdline): In case a command line is not a
42213 command or a function, try to interpret it as an assignment.
42214
42215 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
42216
42217 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
42218 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
42219 skip a node whose name is obviously invalid as UTF-16,
42220 i.e. contains a NUL character. Stop the iteration when the last
42221 directory entry is found. Instead of using the return value of
42222 grub_hfsplus_btree_iterate_node, store the value in RET and use
42223 it, because the iterator can be stopped by the last directory
42224 entry.
42225
42226 2006-04-30 Marco Gerards <marco@gnu.org>
42227
42228 * include/grub/env.h (grub_env_export): New prototype. Reported
42229 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
42230
42231 2006-04-30 Marco Gerards <marco@gnu.org>
42232
42233 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
42234 size of the extents in a catalog file record.
42235
42236 2006-04-29 Marco Gerards <marco@gnu.org>
42237
42238 * commands/configfile.c (grub_cmd_configfile): Execute the
42239 configfile within its own context.
42240
42241 * include/grub/env.h (grub_env_context_open): New prototype.
42242 (grub_env_context_close): Likewise.
42243
42244 * kern/env.c (grub_env): Removed.
42245 (grub_env_sorted): Likewise.
42246 (grub_env_context): New variable.
42247 (grub_env_var_context): Likewise.
42248 (grub_env_find): Search both the active context and the global
42249 context.
42250 (grub_env_context_open): New function.
42251 (grub_env_context_close): Likewise.
42252 (grub_env_insert): Likewise.
42253 (grub_env_remove): Likewise.
42254 (grub_env_export): Likewise.
42255 (grub_env_set): Changed to use helper functions to avoid code
42256 duplication.
42257 (grub_env_iterate): Rewritten so both the current context and the
42258 global context are being used.
42259
42260 * normal/command.c (export_command): New function.
42261 (grub_command_init): Register the `export' function.
42262
42263 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
42264
42265 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
42266 explicitly to suppress gcc's warnings.
42267 * fs/fat.c (grub_fat_find_dir): Likewise.
42268 (grub_fat_label): Likewise.
42269 * fs/xfs.c (grub_xfs_read_inode): Likewise.
42270 (grub_xfs_mount): Likewise.
42271 (grub_xfs_label): Likewise.
42272 * fs/affs.c (grub_affs_mount): Likewise.
42273 (grub_affs_label): Likewise.
42274 (grub_affs_iterate_dir): Likewise.
42275 * fs/sfs.c (grub_sfs_mount): Likewise.
42276 (grub_sfs_iterate_dir): Likewise.
42277 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
42278 * fs/hfs.c (grub_hfs_mount): Likewise.
42279 (grub_hfs_cmp_catkeys): Likewise.
42280 (grub_hfs_find_dir): Likewise.
42281 (grub_hfs_dir): Likewise.
42282 (grub_hfs_label): Likewise.
42283 * fs/jfs.c (grub_jfs_mount): Likewise.
42284 (grub_jfs_opendir): Likewise.
42285 (grub_jfs_getent): Likewise.
42286 (grub_jfs_lookup_symlink): Likewise.
42287 (grub_jfs_label): Likewise.
42288 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
42289 (grub_hfsplus_iterate_dir): Likewise.
42290 (grub_hfsplus_btree_iterate_node): Made static.
42291
42292 * util/grub-emu.c (prefix): New variable.
42293 (grub_machine_set_prefix): New function.
42294 (main): Do not set the environment variable "prefix" here. Only
42295 set PREFIX, which is used later by grub_machine_set_prefix.
42296
42297 * include/grub/video.h: Do not include grub/symbol.h.
42298 (grub_video_register): Not exported. This symbol is not defined in
42299 the kernel.
42300 (grub_video_unregister): Likewise.
42301 (grub_video_iterate): Likewise.
42302 (grub_video_setup): Likewise.
42303 (grub_video_restore): Likewise.
42304 (grub_video_get_info): Likewise.
42305 (grub_video_get_blit_format): Likewise.
42306 (grub_video_set_palette): Likewise.
42307 (grub_video_get_palette): Likewise.
42308 (grub_video_set_viewport): Likewise.
42309 (grub_video_get_viewport): Likewise.
42310 (grub_video_map_color): Likewise.
42311 (grub_video_map_rgb): Likewise.
42312 (grub_video_map_rgba): Likewise.
42313 (grub_video_fill_rect): Likewise.
42314 (grub_video_blit_glyph): Likewise.
42315 (grub_video_blit_bitmap): Likewise.
42316 (grub_video_blit_render_target): Likewise.
42317 (grub_video_scroll): Likewise.
42318 (grub_video_swap_buffers): Likewise.
42319 (grub_video_create_render_target): Likewise.
42320 (grub_video_delete_render_target): Likewise.
42321 (grub_video_set_active_render_target): Likewise.
42322
42323 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
42324 Undefined.
42325 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
42326
42327 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
42328 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42329 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42330 instead of $(srcdir)/genkernsyms.sh.
42331
42332 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
42333 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42334 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42335 instead of $(srcdir)/genkernsyms.sh.
42336
42337 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
42338 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42339 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42340 instead of $(srcdir)/genkernsyms.sh.
42341
42342 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
42343 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42344 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42345 instead of $(srcdir)/genkernsyms.sh.
42346
42347 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
42348 genkernsyms.sh.
42349
42350 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
42351 genkernsyms.sh.
42352 (gensymlist.sh): New target.
42353 (genkernsyms.sh): Likewise.
42354
42355 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
42356 genkernsyms.sh.in and gensymlist.sh.in.
42357
42358 * genkernsyms.sh: Removed.
42359 * gensymlist.sh: Likewise.
42360
42361 * genkernsyms.sh.in: New file.
42362 * gensymlist.sh.in: Likewise.
42363
42364 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
42365
42366 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
42367 clobber "prefix", since we may have already set it manually.
42368
42369 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
42370
42371 * kern/misc.c (abort): New alias for grub_abort.
42372
42373 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
42374
42375 A new machine-specific function "grub_machine_set_prefix" is
42376 defined. This is called after loading modules, so that a prefix
42377 initialization can use modules. Also, this change adds an
42378 intensive debugging feature for the memory manager via the
42379 configure option "--enable-mm-debug".
42380
42381 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
42382 PART.LEN.
42383
42384 * kern/sparc64/ieee1275/init.c (abort): Removed.
42385 (grub_stop): Likewise.
42386 (grub_exit): New function.
42387 (grub_set_prefix): Renamed to ...
42388 (grub_machine_set_prefix): ... this.
42389 (grub_machine_init): Do not call grub_set_prefix.
42390
42391 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
42392 (grub_machine_set_prefix): ... this.
42393 (grub_machine_init): Do not call grub_set_prefix.
42394
42395 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
42396 (grub_machine_init): Do not set the prefix here.
42397
42398 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
42399
42400 * kern/efi/init.c: Include grub/mm.h.
42401 (grub_efi_set_prefix): New function.
42402
42403 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
42404 (grub_efi_get_filename): New function.
42405 (grub_print_device_path): Renamed to ...
42406 (grub_efi_print_device_path): ... this.
42407
42408 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
42409 [MM_DEBUG] (grub_realloc): Likewise.
42410 [MM_DEBUG] (grub_free): Likewise.
42411 [MM_DEBUG] (grub_memalign): Likewise.
42412 [MM_DEBUG] (grub_mm_debug): New variable.
42413 [MM_DEBUG] (grub_debug_malloc): New function.
42414 [MM_DEBUG] (grub_debug_free): New function.
42415 [MM_DEBUG] (grub_debug_realloc): New function.
42416 [MM_DEBUG] (grub_debug_memalign): New function.
42417
42418 * kern/misc.c (grub_abort): Print a newline to distinguish
42419 the message.
42420
42421 * kern/main.c (grub_main): Call grub_machine_set_prefix and
42422 grub_set_root_dev after loading modules. This is necessary when
42423 setting a prefix depends on modules.
42424
42425 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
42426 (grub_efi_print_device_path): ... this.
42427 (grub_efi_get_filename): New prototype.
42428 (grub_efi_set_prefix): Likewise.
42429
42430 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
42431 and grub/disk.h.
42432 (grub_efidisk_get_device_handle): New prototype.
42433 (grub_efidisk_get_device_name): Likewise.
42434
42435 * include/grub/mm.h: Include config.h.
42436 (MM_DEBUG): Removed.
42437 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
42438 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
42439 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
42440 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
42441 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
42442 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
42443 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
42444 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
42445 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
42446
42447 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
42448
42449 * disk/efi/efidisk.c: Include grub/partition.h.
42450 (iterate_child_devices): New function.
42451 (add_device): First, compare only last device path nodes, so that
42452 devices are sorted by the types.
42453 (grub_efidisk_get_device_handle): New function.
42454 (grub_efidisk_get_device_name): Likewise.
42455
42456 * configure.ac (--enable-mm-debug): New option to enable the
42457 memory manager debugging feature. This makes the binary much
42458 bigger, so is disabled by default.
42459
42460 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
42461
42462 Use grub_abort instead of grub_stop, and grub_exit must be
42463 define in each architecture now. Also, this change adds support
42464 for EFI disks.
42465
42466 * util/i386/pc/grub-probefs.c: Include grub/term.h.
42467 (grub_getkey): New function.
42468 (grub_term_get_current): Likewise.
42469
42470 * util/i386/pc/grub-setup.c: Include grub/term.h.
42471 (grub_getkey): New function.
42472 (grub_term_get_current): Likewise.
42473
42474 * util/misc.c (grub_stop): Renamed to ...
42475 (grub_exit): ... this.
42476
42477 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
42478 (grub_exit): ... this.
42479 (grub_machine_init): Use grub_abort instead of abort.
42480 (grub_stop): Removed.
42481
42482 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
42483 abort.
42484
42485 * kern/i386/pc/startup.S (grub_exit): New function.
42486 (cold_reboot): New label.
42487
42488 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
42489 (grub_efi_init): Call grub_efidisk_init.
42490 (grub_efi_fini): Call grub_efidisk_fini.
42491
42492 * kern/efi/efi.c: Include grub/mm.h.
42493 (grub_efi_console_control_guid): Renamed to ...
42494 (console_control_guid): ... this.
42495 (grub_efi_loaded_image_guid): Renamed to ...
42496 (loaded_image_guid): ... this.
42497 (grub_efi_locate_handle): New function.
42498 (grub_efi_open_protocol): Likewise.
42499 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
42500 GRUB_EFI_CONSOLE_CONTROL_GUID.
42501 (grub_efi_exit): Removed.
42502 (grub_stop): Likewise.
42503 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
42504 (grub_exit): New function.
42505 (grub_print_device_path): Likewise.
42506
42507 * kern/rescue.c (grub_rescue_cmd_exit): New function.
42508 (grub_enter_rescue_mode): Register "exit".
42509
42510 * kern/misc.c (grub_real_dprintf): A cosmetic change.
42511 (grub_abort): New function.
42512
42513 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
42514
42515 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
42516
42517 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
42518
42519 * include/grub/efi/efi.h (grub_efi_exit): Removed.
42520 (grub_print_device_path): New prototype.
42521 (grub_efi_locate_handle): Likewise.
42522 (grub_efi_open_protocol): Likewise.
42523
42524 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
42525 * disk/efi/efidisk.c: Likewise.
42526
42527 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
42528
42529 * include/grub/efi/console_control.h
42530 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
42531
42532 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
42533 last 8 bytes as an array.
42534 (GRUB_EFI_DISK_IO_GUID): New macro.
42535 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
42536 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
42537 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
42538 grub_uint8_t.
42539 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
42540 (struct grub_efi_device_path): Rename the member "sub_type" to
42541 "subtype".
42542 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
42543 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
42544 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
42545 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
42546 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
42547 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
42548 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
42549 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
42550 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
42551 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
42552 (struct grub_efi_pci_device_path): New structure.
42553 (grub_efi_pci_device_path_t): New type.
42554 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
42555 (struct grub_efi_pccard_device_path): New structure.
42556 (grub_efi_pccard_device_path_t): New type.
42557 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
42558 (struct grub_efi_memory_mapped_device_path): New structure.
42559 (grub_efi_memory_mapped_device_path_t): New type.
42560 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
42561 (struct grub_efi_vendor_device_path): New structure.
42562 (grub_efi_vendor_device_path_t): New type.
42563 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
42564 (struct grub_efi_controller_device_path): New structure.
42565 (grub_efi_controller_device_path_t): New type.
42566 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
42567 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
42568 (struct grub_efi_acpi_device_path): New structure.
42569 (grub_efi_acpi_device_path_t): New type.
42570 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
42571 (struct grub_efi_expanded_acpi_device_path): New structure.
42572 (grub_efi_expanded_acpi_device_path_t): New type.
42573 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
42574 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
42575 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
42576 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
42577 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
42578 (struct grub_efi_atapi_device_path): New structure.
42579 (grub_efi_atapi_device_path_t): New type.
42580 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
42581 (struct grub_efi_fibre_channel_device_path): New structure.
42582 (grub_efi_fibre_channel_device_path_t): New type.
42583 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
42584 (struct grub_efi_1394_device_path): New structure.
42585 (grub_efi_1394_device_path_t): New type.
42586 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
42587 (struct grub_efi_usb_device_path): New structure.
42588 (grub_efi_usb_device_path_t): New type.
42589 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
42590 (struct grub_efi_usb_class_device_path): New structure.
42591 (grub_efi_usb_class_device_path_t): New type.
42592 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
42593 (struct grub_efi_i2o_device_path): New structure.
42594 (grub_efi_i2o_device_path_t): New type.
42595 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
42596 (struct grub_efi_mac_address_device_path): New structure.
42597 (grub_efi_mac_address_device_path_t): New type.
42598 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
42599 (struct grub_efi_ipv4_device_path): New structure.
42600 (grub_efi_ipv4_device_path_t): New type.
42601 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
42602 (struct grub_efi_ipv6_device_path): New structure.
42603 (grub_efi_ipv6_device_path_t): New type.
42604 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
42605 (struct grub_efi_infiniband_device_path): New structure.
42606 (grub_efi_infiniband_device_path_t): New type.
42607 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
42608 (struct grub_efi_uart_device_path): New structure.
42609 (grub_efi_uart_device_path_t): New type.
42610 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
42611 (struct grub_efi_vendor_messaging_device_path): New structure.
42612 (grub_efi_vendor_messaging_device_path_t): New type.
42613 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
42614 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
42615 (struct grub_efi_hard_drive_device_path): New structure.
42616 (grub_efi_hard_drive_device_path_t): New type.
42617 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
42618 (struct grub_efi_cdrom_device_path): New structure.
42619 (grub_efi_cdrom_device_path_t): New type.
42620 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
42621 (struct grub_efi_vendor_media_device_path): New structure.
42622 (grub_efi_vendor_media_device_path_t): New type.
42623 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
42624 (struct grub_efi_file_path_device_path): New structure.
42625 (grub_efi_file_path_device_path_t): New type.
42626 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
42627 (struct grub_efi_protocol_device_path): New structure.
42628 (grub_efi_protocol_device_path_t): New type.
42629 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
42630 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
42631 (struct grub_efi_bios_device_path): New structure.
42632 (grub_efi_bios_device_path_t): New type.
42633 (struct grub_efi_disk_io): New structure.
42634 (grub_efi_disk_io_t): New type.
42635 (struct grub_efi_block_io_media): New structure.
42636 (grub_efi_block_io_media_t): New type.
42637 (struct grub_efi_block_io): New structure.
42638 (grub_efi_block_io_t): New type.
42639
42640 * include/grub/misc.h (grub_stop): Removed.
42641 (grub_exit): New prototype.
42642 (grub_abort): Likewise.
42643
42644 * include/grub/disk.h (enum grub_disk_dev_id): Added
42645 GRUB_DISK_DEVICE_EFIDISK_ID.
42646
42647 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
42648 disk/efi/efidisk.c.
42649 (kernel_syms.lst): Remove the target if an error occurs.
42650
42651 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
42652
42653 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
42654 as it was simply too buggy.
42655
42656 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
42657
42658 * kern/misc.c (grub_lltoa): New function.
42659 (grub_vsprintf): Added support for the long long suffix,
42660 i.e. "ll".
42661
42662 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
42663
42664 * Makefile.in (LDFLAGS): Add variable.
42665 (LD): Remove variable.
42666 * configure.ac: Add -m32 to LDFLAGS.
42667 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
42668 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
42669 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
42670 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
42671 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
42672 variables.
42673 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
42674 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
42675 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
42676
42677 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
42678
42679 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
42680 length for unknown glyph.
42681
42682 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
42683
42684 Add support for pre-loaded modules into the EFI port.
42685
42686 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
42687 completely. Accept one more argument DIR. The caller has changed.
42688
42689 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
42690
42691 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
42692 (grub_efi_loaded_image_guid): New variable.
42693 (grub_efi_get_loaded_image): New function.
42694 (grub_arch_modules_addr): Likewise.
42695
42696 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
42697 prototype.
42698
42699 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
42700 (struct grub_efi_loaded_image): New structure.
42701 (grub_efi_loaded_image_t): New type.
42702
42703 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
42704
42705 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
42706 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
42707 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
42708
42709 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
42710
42711 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
42712
42713 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
42714
42715 * DISTLIST: Added include/grub/efi/console.h,
42716 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
42717 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42718
42719 * include/grub/efi/console.h: New file.
42720 * include/grub/efi/time.h: Likewise.
42721 * include/grub/i386/efi/kernel.h: Likewise.
42722 * kern/efi/init.c: Likewise.
42723 * kern/efi/mm.c: Likewise.
42724 * term/efi/console.c: Likewise.
42725
42726 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
42727 (grub_stop): Removed.
42728 (grub_get_rtc): Likewise.
42729 (grub_machine_init): Simply call grub_efi_init.
42730 (grub_machine_fini): Call grub_efi_fini.
42731
42732 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
42733 (grub_efi_output_string): Removed.
42734 (grub_efi_stall): New function.
42735 (grub_stop): Likewise.
42736 (grub_get_rtc): Likewise.
42737
42738 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
42739 (grub_efi_stall): New prototype.
42740 (grub_efi_allocate_pages): Likewise.
42741 (grub_efi_free_pages): Likewise.
42742 (grub_efi_get_memory_map): Likewise.
42743 (grub_efi_mm_init): Likewise.
42744 (grub_efi_mm_fini): Likewise.
42745 (grub_efi_init): Likewise.
42746 (grub_efi_fini): Likewise.
42747
42748 * include/grub/i386/efi/time.h: Do not include
42749 grub/symbol.h. Include grub/efi/time.h.
42750 (GRUB_TICKS_PER_SECOND): Removed.
42751 (grub_get_rtc): Likewise.
42752
42753 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
42754 Added padding. The EFI spec is buggy.
42755 (GRUB_EFI_BLACK): New macro.
42756 (GRUB_EFI_BLUE): Likewise.
42757 (GRUB_EFI_GREEN): Likewise.
42758 (GRUB_EFI_CYAN): Likewise.
42759 (GRUB_EFI_RED): Likewise.
42760 (GRUB_EFI_MAGENTA): Likewise.
42761 (GRUB_EFI_BROWN): Likewise.
42762 (GRUB_EFI_LIGHTGRAY): Likewise.
42763 (GRUB_EFI_BRIGHT): Likewise.
42764 (GRUB_EFI_DARKGRAY): Likewise.
42765 (GRUB_EFI_LIGHTBLUE): Likewise.
42766 (GRUB_EFI_LIGHTGREEN): Likewise.
42767 (GRUB_EFI_LIGHTCYAN): Likewise.
42768 (GRUB_EFI_LIGHTRED): Likewise.
42769 (GRUB_EFI_LIGHTMAGENTA): Likewise.
42770 (GRUB_EFI_YELLOW): Likewise.
42771 (GRUB_EFI_WHITE): Likewise.
42772 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
42773 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
42774 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
42775 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
42776 (GRUB_EFI_BACKGROUND_RED): Likewise.
42777 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
42778 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
42779 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
42780 (GRUB_EFI_TEXT_ATTR): Likewise.
42781
42782 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
42783 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42784 (kernel_mod_HEADERS): Added efi/time.h.
42785
42786 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
42787
42788 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
42789 include/grub/efi/api.h, include/grub/efi/console_control.h,
42790 include/grub/efi/efi.h, include/grub/efi/pe32.h,
42791 include/grub/i386/efi/time.h, kern/efi/efi.c,
42792 kern/i386/efi/init.c, kern/i386/efi/startup.S,
42793 and util/i386/efi/grub-mkimage.c.
42794
42795 * Makefile.in (RMKFILES): Added i386-efi.rmk.
42796
42797 * genmk.rb (PModule#rule): Do not export symbols if
42798 #{prefix}_EXPORTS is set to "no".
42799
42800 * conf/i386-efi.mk: New file.
42801 * conf/i386-efi.rmk: Likewise.
42802 * include/grub/efi/api.h: Likewise.
42803 * include/grub/efi/console_control.h: Likewise.
42804 * include/grub/efi/efi.h: Likewise.
42805 * include/grub/efi/pe32.h: Likewise.
42806 * include/grub/i386/efi/time.h: Likewise.
42807 * kern/efi/efi.c: Likewise.
42808 * kern/i386/efi/init.c: Likewise.
42809 * kern/i386/efi/startup.S: Likewise.
42810 * util/i386/efi/grub-mkimage.c: Likewise.
42811
42812 2006-04-17 Marco Gerards <marco@gnu.org>
42813
42814 * include/grub/script.h: Include <grub/parser.h> and
42815 "grub_script.tab.h".
42816 (struct grub_lexer_param): New struct.
42817 (struct grub_parser_param): Likewise.
42818 (grub_script_create_arglist): Pass the state in an argument.
42819 (grub_script_add_arglist): Likewise.
42820 (grub_script_create_cmdline): Likewise.
42821 (grub_script_create_cmdblock): Likewise.
42822 (grub_script_create_cmdif): Likewise.
42823 (grub_script_create_cmdmenu): Likewise.
42824 (grub_script_add_cmd): Likewise.
42825 (grub_script_arg_add): Likewise.
42826 (grub_script_lexer_ref): Likewise.
42827 (grub_script_lexer_deref): Likewise.
42828 (grub_script_lexer_record_start): Likewise.
42829 (grub_script_lexer_record_stop): Likewise.
42830 (grub_script_mem_record): Likewise.
42831 (grub_script_mem_record_stop): Likewise.
42832 (grub_script_malloc): Likewise.
42833 (grub_script_yylex): Likewise.
42834 (grub_script_yyparse): Likewise.
42835 (grub_script_yyerror): Likewise.
42836 (grub_script_yylex): Likewise.
42837 (grub_script_lexer_init): Return the state.
42838
42839 * normal/lexer.c (grub_script_lexer_state): Removed variable.
42840 (grub_script_lexer_done): Likewise.
42841 (grub_script_lexer_getline): Likewise.
42842 (grub_script_lexer_refs): Likewise.
42843 (script): Likewise.
42844 (newscript): Likewise.
42845 (record): Likewise.
42846 (recording): Likewise.
42847 (recordpos): Likewise.
42848 (recordlen): Likewise.
42849 (grub_script_lexer_init): Return the state instead of setting
42850 global variables.
42851 (grub_script_lexer_ref): Use the newly added argument for state
42852 instead of globals.
42853 (grub_script_lexer_deref): Likewise.
42854 (grub_script_lexer_record_start): Likewise.
42855 (grub_script_lexer_record_stop): Likewise.
42856 (recordchar): Likewise.
42857 (nextchar): Likewise.
42858 (grub_script_yylex2): Likewise.
42859 (grub_script_yylex): Likewise.
42860 (grub_script_yyerror): Likewise.
42861
42862 * normal/parser.y (func_mem): Removed variable.
42863 (menu_entry): Likewise.
42864 (err): Likewise.
42865 (%lex-param): New parser option.
42866 (%parse-param): Likewise.
42867 (script): Always return the AST.
42868 (argument): Pass the state around.
42869 (arguments): Likewise.
42870 (grubcmd): Likewise.
42871 (commands): Likewise.
42872 (function): Likewise.
42873 (menuentry): Likewise.
42874 (if_statement): Likewise.
42875 (if): Likewise.
42876
42877 * normal/script.c (grub_script_memused): Removed variable.
42878 (grub_script_parsed): Likewise.
42879 (grub_script_malloc): Added a state argument. Use that instead of
42880 global variables.
42881 (grub_script_mem_record): Likewise.
42882 (grub_script_mem_record_stop): Likewise.
42883 (grub_script_arg_add): Likewise.
42884 (grub_script_add_arglist): Likewise.
42885 (grub_script_create_cmdline): Likewise.
42886 (grub_script_create_cmdif): Likewise.
42887 (grub_script_create_cmdmenu): Likewise.
42888 (grub_script_add_cmd): Likewise.
42889 (grub_script_parse): Setup the state before calling the parser.
42890
42891 2006-04-16 Marco Gerards <marco@gnu.org>
42892
42893 * normal/command.c (grub_command_init): Remove the title command.
42894
42895 * normal/lexer.c (grub_script_yylex): Renamed from this...
42896 (grub_script_yylex2): ... to this.
42897 (grub_script_yylex): New function. Temporary
42898 introduced to filter some tokens.
42899 (grub_script_yyerror): Print a newline.
42900
42901 * normal/main.c (read_config_file): Output information about the
42902 lines that contain errors. Wait for a key after all lines have
42903 been processed. Don't return an empty menu.
42904
42905 * normal/parser.y (func_mem): Don't initialize.
42906 (menu_entry): Likewise.
42907 (err): New variable.
42908 (script): Don't return anything when an error was encountered.
42909 (ws, returns): Removed rules.
42910 (argument): Disabled concatenated variable support.
42911 (arguments): Remove explicit separators.
42912 (grubcmd): Likewise.
42913 (function): Likewise.
42914 (menuentry): Likewise.
42915 (if): Likewise.
42916 (commands): Likewise. Add error handling.
42917
42918 * normal/script.c (grub_script_create_cmdline): If
42919 `grub_script_parsed' is 0, assume the parser encountered an error.
42920
42921 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
42922
42923 * configure.ac: Add support for EFI. Fix the typo
42924 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
42925
42926 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42927
42928 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
42929 foreign multibyte characters should be shown correctly.
42930
42931 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42932
42933 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
42934 calculation.
42935 (read_config_file): Made it to close file before returning.
42936
42937 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
42938
42939 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
42940 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
42941 video/i386/pc/vbefill.c.
42942
42943 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
42944 video/i386/pc/vbefill.c.
42945
42946 * include/grub/video.h (grub_video_blit_format): New enum.
42947 (grub_video_mode_info): Added new member blit_format.
42948 (grub_video_get_blit_format): New function prototype.
42949
42950 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
42951 function prototype.
42952 (grub_video_vbe_map_rgb): Likewise.
42953 (grub_video_vbe_unmap_color): Likewise.
42954
42955 * include/grub/i386/pc/vbeblit.h: New file.
42956
42957 * include/grub/i386/pc/vbefill.h: New file.
42958
42959 * video/video.c (grub_video_get_blit_format): New function.
42960 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
42961 (grub_video_vbe_map_rgb): Likewise.
42962 (grub_video_vbe_unmap_color): Likewise.
42963
42964 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
42965 optimized fills.
42966 (grub_video_vbe_blit_render_target): Changed to use more optimized
42967 blits.
42968 (grub_video_vbe_setup): Added detection for optimized settings.
42969 (grub_video_vbe_create_render_target): Likewise.
42970
42971 * video/i386/pc/vbeblit.c: New file.
42972
42973 * video/i386/pc/vbefill.c: New file.
42974
42975 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
42976
42977 * font/manager.c (grub_font_get_glyph): Removed font fixup from
42978 here...
42979
42980 * util/unifont2pff.rb: ... and moved it to here. Improved argument
42981 parsing to support both hex and dec ranges. If filename was missing
42982 show usage information.
42983
42984 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
42985
42986 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
42987 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
42988
42989 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
42990 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
42991 (video_mod_SOURCES): Added.
42992 (video_mod_CFLAGS): Likewise.
42993 (video_mod_LDFLAGS): Likewise.
42994 (gfxterm_mod_SOURCES): Likewise.
42995 (gfxterm_mod_CFLAGS): Likewise.
42996 (gfxterm_mod_LDFLAGS): Likewise.
42997 (videotest_mod_SOURCES): Likewise.
42998 (videotest_mod_CFLAGS): Likewise.
42999 (videotest_mod_LDFLAGS): Likewise.
43000 (vesafb_mod_SOURCES): Removed.
43001 (vesafb_mod_CFLAGS): Likewise.
43002 (vesafb_mod_LDFLAGS): Likewise.
43003 (vga_mod_SOURCES): Likewise.
43004 (vga_mod_CFLAGS): Likewise.
43005 (vga_mod_LDFLAGS): Likewise.
43006
43007 * commands/videotest.c: New file.
43008
43009 * font/manager.c (fill_with_default_glyph): Modified to use
43010 grub_font_glyph.
43011 (grub_font_get_glyph): Likewise.
43012 (fontmanager): Renamed from this...
43013 (font_manager): ... to this.
43014
43015 * include/grub/font.h (grub_font_glyph): Added new structure.
43016 (grub_font_get_glyph): Modified to use grub_font_glyph.
43017
43018 * include/grub/misc.h (grub_abs): Added as inline function.
43019
43020 * include/grub/video.h: New file.
43021
43022 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
43023 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
43024 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
43025 (grub_vbe_get_controller_info): Renamed from this...
43026 (grub_vbe_bios_get_controller_info): ... to this.
43027 (grub_vbe_get_mode_info): Renamed from this...
43028 (grub_vbe_bios_get_mode_info): ... to this.
43029 (grub_vbe_set_mode): Renamed from this...
43030 (grub_vbe_bios_set_mode): ... to this.
43031 (grub_vbe_get_mode): Renamed from this...
43032 (grub_vbe_bios_get_mode): ... to this.
43033 (grub_vbe_set_memory_window): Renamed from this...
43034 (grub_vbe_bios_set_memory_window): ... to this.
43035 (grub_vbe_get_memory_window): Renamed from this...
43036 (grub_vbe_bios_get_memory_window): ... to this.
43037 (grub_vbe_set_scanline_length): Renamed from this...
43038 (grub_vbe_set_scanline_length): ... to this.
43039 (grub_vbe_get_scanline_length): Renamed from this...
43040 (grub_vbe_bios_get_scanline_length): ... to this.
43041 (grub_vbe_set_display_start): Renamed from this...
43042 (grub_vbe_bios_set_display_start): ... to this.
43043 (grub_vbe_get_display_start): Renamed from this...
43044 (grub_vbe_bios_get_display_start): ... to this.
43045 (grub_vbe_set_palette_data): Renamed from this...
43046 (grub_vbe_bios_set_palette_data): ... to this.
43047 (grub_vbe_set_pixel_rgb): Removed.
43048 (grub_vbe_set_pixel_index): Likewise.
43049
43050 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
43051 from this...
43052 (grub_vbe_bios_get_controller_info): ... to this.
43053 (grub_vbe_get_mode_info): Renamed from this...
43054 (grub_vbe_bios_get_mode_info): ... to this.
43055 (grub_vbe_set_mode): Renamed from this...
43056 (grub_vbe_bios_set_mode): ... to this.
43057 (grub_vbe_get_mode): Renamed from this...
43058 (grub_vbe_bios_get_mode): ... to this.
43059 (grub_vbe_set_memory_window): Renamed from this...
43060 (grub_vbe_bios_set_memory_window): ... to this.
43061 (grub_vbe_get_memory_window): Renamed from this...
43062 (grub_vbe_bios_get_memory_window): ... to this.
43063 (grub_vbe_set_scanline_length): Renamed from this...
43064 (grub_vbe_set_scanline_length): ... to this.
43065 (grub_vbe_get_scanline_length): Renamed from this...
43066 (grub_vbe_bios_get_scanline_length): ... to this.
43067 (grub_vbe_set_display_start): Renamed from this...
43068 (grub_vbe_bios_set_display_start): ... to this.
43069 (grub_vbe_get_display_start): Renamed from this...
43070 (grub_vbe_bios_get_display_start): ... to this.
43071 (grub_vbe_set_palette_data): Renamed from this...
43072 (grub_vbe_bios_set_palette_data): ... to this.
43073 (grub_vbe_bios_get_controller_info): Fixed problem with registers
43074 getting corrupted after calling it. Added more pushes and pops.
43075 (grub_vbe_bios_set_mode): Likewise.
43076 (grub_vbe_bios_get_mode): Likewise.
43077 (grub_vbe_bios_get_memory_window): Likewise.
43078 (grub_vbe_bios_set_scanline_length): Likewise.
43079 (grub_vbe_bios_get_scanline_length): Likewise.
43080 (grub_vbe_bios_get_display_start): Likewise.
43081 (grub_vbe_bios_set_palette_data): Likewise.
43082
43083 * normal/cmdline.c (cl_set_pos): Refresh the screen.
43084 (cl_insert): Likewise.
43085 (cl_delete): Likewise.
43086
43087 * term/gfxterm.c: New file.
43088
43089 * term/i386/pc/vesafb.c: Removed file.
43090
43091 * video/video.c: New file.
43092
43093 * video/i386/pc/vbe.c (real2pm): Added new function.
43094 (grub_video_vbe_draw_pixel): Likewise.
43095 (grub_video_vbe_get_video_ptr): Likewise.
43096 (grub_video_vbe_get_pixel): Likewise
43097 (grub_video_vbe_init): Likewise.
43098 (grub_video_vbe_fini): Likewise.
43099 (grub_video_vbe_setup): Likewise.
43100 (grub_video_vbe_get_info): Likewise.
43101 (grub_video_vbe_set_palette): Likewise.
43102 (grub_video_vbe_get_palette): Likewise.
43103 (grub_video_vbe_set_viewport): Likewise.
43104 (grub_video_vbe_get_viewport): Likewise.
43105 (grub_video_vbe_map_color): Likewise.
43106 (grub_video_vbe_map_rgb): Likewise.
43107 (grub_video_vbe_map_rgba): Likewise.
43108 (grub_video_vbe_unmap_color): Likewise.
43109 (grub_video_vbe_fill_rect): Likewise.
43110 (grub_video_vbe_blit_glyph): Likewise.
43111 (grub_video_vbe_blit_bitmap): Likewise.
43112 (grub_video_vbe_blit_render_target): Likewise.
43113 (grub_video_vbe_scroll): Likewise.
43114 (grub_video_vbe_swap_buffers): Likewise.
43115 (grub_video_vbe_create_render_target): Likewise.
43116 (grub_video_vbe_delete_render_target): Likewise.
43117 (grub_video_vbe_set_active_render_target): Likewise.
43118 (grub_vbe_set_pixel_rgb): Remove function.
43119 (grub_vbe_set_pixel_index): Likewise.
43120 (index_color_mode): Remove static variable.
43121 (active_mode): Likewise.
43122 (framebuffer): Likewise.
43123 (bytes_per_scan_line): Likewise.
43124 (grub_video_vbe_adapter): Added new static variable.
43125 (framebuffer): Likewise.
43126 (render_target): Likewise.
43127 (initial_mode): Likewise.
43128 (mode_in_use): Likewise.
43129 (mode_list): Likewise.
43130
43131 2006-03-10 Marco Gerards <marco@gnu.org>
43132
43133 * configure.ac (AC_INIT): Bumped to 1.93.
43134
43135 * DISTLIST: Added `include/grub/hfs.h'.
43136
43137 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
43138
43139 * boot/i386/pc/boot.S (general_error): Before looping, try INT
43140 18H, which might help the BIOS falling back to next boot media.
43141
43142 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
43143
43144 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
43145 Poe Chen <poe.poechen@gmail.com>.
43146
43147 2006-01-17 Marco Gerards <marco@gnu.org>
43148
43149 * include/grub/normal.h: Include <grub/script.h>.
43150 (grub_command_list): Removed struct.
43151 (grub_command_list_t): Removed type.
43152 (grub_menu_entry): Remove members `num' and `command_list'. Add
43153 members `commands' and `sourcecode'.
43154 * include/grub/script.h: Add inclusion guards.
43155 (grub_script_cmd_menuentry): New struct.
43156 (grub_script_execute_menuentry): New prototype.
43157 (grub_script_lexer_record_start): Likewise.
43158 (grub_script_lexer_record_stop): Likewise.
43159 * normal/execute.c (grub_script_execute_menuentry): New function.
43160 * normal/lexer.c (record, recording, recordpos, recordlen): New
43161 variables.
43162 (grub_script_lexer_record_start): New function.
43163 (grub_script_lexer_record_stop): Likewise.
43164 (recordchar): Likewise.
43165 (nextchar): Likewise.
43166 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
43167 2048 as the buffer size. Add the tokens `menuentry' and `@'.
43168 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
43169 (current_menu): New variable.
43170 (free_menu): Mainly rewritten.
43171 (grub_normal_menu_addentry): New function.
43172 (read_config_file): Rewritten.
43173 * normal/menu.c (run_menu_entry): Mainly rewritten.
43174 * normal/menu_entry.c (make_screen): Rewritten the code to insert
43175 the menu entry.
43176 (run): Mainly rewritten.
43177 * normal/parser.y (menu_entry): New variable.
43178 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
43179 (menuentry): New rule.
43180 (command): Add `menuentry'.
43181 (if_statement): Allow additional returns before `fi'.
43182 * normal/script.c (grub_script_create_cmdmenu): New function.
43183
43184 2006-01-03 Marco Gerards <marco@gnu.org>
43185
43186 * INSTALL: GNU Bison is required.
43187 * configure.ac: Rewritten the test to detect Bison.
43188 * Makefile.in (YACC): New variable. Reported by Xun Sun
43189 <xun.sun.cn@gmail.com>.
43190
43191 2006-01-03 Marco Gerards <marco@gnu.org>
43192
43193 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
43194 the HFS+ filesystem to filesystem blocks.
43195 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
43196 GCC warning is silenced.
43197
43198 2006-01-03 Marco Gerards <marco@gnu.org>
43199
43200 * partmap/apple.c (apple_partition_map_iterate): Convert the data
43201 read from disk from big endian to host byte order.
43202
43203 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
43204
43205 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
43206 documentation.
43207 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
43208 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
43209 embedded HFS+ filesystem.
43210 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
43211 (grub_hfs_sblock): Move from here...
43212 * include/grub/hfs.h: To here... New file.
43213 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
43214 documentation.
43215 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
43216 New macros.
43217 (grub_hfsplus_volheader): Change type of member `magic' to
43218 `grub_uint16_t'.
43219 (grub_hfsplus_data): Add new member `embedded_offset'.
43220 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
43221 returned block.
43222 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
43223 Calculate the offset.
43224
43225 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43226
43227 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
43228 Removed.
43229 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
43230
43231 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43232
43233 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
43234 ENV->NAME is NULL after allocating ENV->VALUE.
43235
43236 2005-12-25 Marco Gerards <marco@gnu.org>
43237
43238 * kern/env.c (grub_env_set): Rewritten the error handling code.
43239
43240 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43241
43242 * geninit.sh: Made more robust, and more portable.
43243
43244 2005-12-25 Marco Gerards <marco@gnu.org>
43245
43246 Add support for Apple HFS+ filesystems.
43247
43248 * fs/hfsplus.c: New file.
43249
43250 * DISTLIST: Added `fs/hfsplus.c'.
43251
43252 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
43253 (hfsplus_mod_SOURCES): New variable.
43254 (hfsplus_mod_CFLAGS): Likewise.
43255 (hfsplus_mod_LDFLAGS): Likewise.
43256 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
43257 (grub_setup_SOURCES): Likewise.
43258 (grub_mkdevicemap_SOURCES): Likewise.
43259 (grub_emu_SOURCES): Likewise.
43260 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43261
43262 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
43263
43264 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
43265
43266 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43267
43268 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
43269 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
43270 include/grub/parser.h, include/grub/script.h, kern/parser.c,
43271 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
43272 normal/lexer.c, normal/parser.y, normal/script.c, and
43273 partmap/gpt.c.
43274 Removed kern/sparc64/cache.c.
43275
43276 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
43277 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
43278 grub_emu_init.c.
43279
43280 * configure.ac (AC_INIT): Bumped to 1.92.
43281
43282 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
43283
43284 * kern/err.c (grub_error_push): Added new function to support error
43285 stacks.
43286 (grub_error_pop): Likewise.
43287 (grub_error_stack_items): New local variable to support error stacks.
43288 (grub_error_stack_pos): Likewise.
43289 (grub_error_stack_assert): Likewise.
43290 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
43291 stack depth.
43292 (grub_print_error): Added support to print errors from error stack.
43293
43294 * include/grub/err.h (grub_error_push): Added function prototype.
43295 (grub_error_pop): Likewise.
43296
43297 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
43298
43299 * configure.ac: Accept `powerpc64' as host_cpu.
43300 (amd64): Rename to `biarch32'.
43301
43302 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
43303 non-cacheline-aligned addresses.
43304
43305 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
43306 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
43307 if `size' is non-zero.
43308
43309 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
43310
43311 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
43312 and `cd' to make sure the filename is not prefixed with a
43313 directory name.
43314 (pkgdata_MODULES): Add `gpt.mod'.
43315 (gpt_mod_SOURCES): New variable.
43316 (gpt_mod_CFLAGS): Likewise.
43317 (gpt_mod_LDFLAGS): Likewise.
43318
43319 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
43320
43321 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
43322 New macro.
43323
43324 * partmap/gpt.c: New file.
43325
43326 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
43327 GPT partition map is detected.
43328
43329 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
43330
43331 * commands/i386/pc/play.c: New file.
43332 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
43333 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
43334 macros.
43335
43336 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
43337
43338 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
43339 ((unused))' to silence gcc warning.
43340
43341 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
43342
43343 * configure.ac: Correct `AC_PROG_YACC' test.
43344
43345 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43346
43347 * util/powerpc/ieee1275/grub-install.in: Run the mount point
43348 check before installing files.
43349
43350 2005-11-22 Mike Small <smallm@panix.com>
43351
43352 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
43353 number regex so multidigit numbers are recognized correctly.
43354
43355 2005-11-22 Mike Small <smallm@panix.com>
43356
43357 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
43358 debugging message before attempting to claim memory.
43359 (grub_rescue_cmd_initrd): Add a claim debugging message and try
43360 multiple addresses in case of failure.
43361
43362 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43363
43364 * term/tparm.c (get_space): Remove empty `if' statement.
43365
43366 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
43367
43368 * kern/parser.c (check_varstate): Rename `state' to 's'.
43369
43370 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43371
43372 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
43373 variable definitions to the beginning of each function. Sort stack
43374 variables by size.
43375 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
43376 `buf' argument to `char *'.
43377
43378 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43379
43380 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
43381 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
43382 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
43383 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
43384 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
43385 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
43386 configfile.mod, search.mod, gzio.mod and test.mod.
43387 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
43388 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
43389 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
43390 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
43391 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
43392 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
43393 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
43394 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
43395 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
43396 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
43397 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43398 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43399 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
43400 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
43401 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
43402 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
43403 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43404 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
43405 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
43406 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
43407 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
43408 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
43409 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
43410
43411 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
43412 `grep --include'.
43413 (pkgdata_MODULES): Add test.mod.
43414
43415 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43416
43417 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
43418 appending to variables with "+=".
43419 (PModule): Use full pathname to generate *.lst filenames.
43420
43421 * Makefile.in: Fixed list rules moved from genmk.rb.
43422 (.DELETE_ON_ERROR): New special target.
43423 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
43424
43425 * conf/i386-pc.rmk: Include conf/common.mk.
43426 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
43427 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
43428 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
43429 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
43430 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
43431 configfile.mod, search.mod, gzio.mod and test.mod.
43432 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
43433 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
43434 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
43435 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
43436 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
43437 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
43438 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
43439 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
43440 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
43441 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
43442 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43443 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43444 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
43445 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
43446 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
43447 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
43448 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43449 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
43450 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
43451 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
43452 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
43453 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
43454 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
43455 here...
43456 * conf/common.rmk: ... to here. New file.
43457
43458 * conf/common.mk: New file.
43459
43460 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
43461
43462 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
43463 (grub_script.tab.c): ... here.
43464
43465 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
43466 (grub_script.tab.c): ... here.
43467
43468 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
43469 (grub_script.tab.c): ... here.
43470
43471 * normal/command.c (grub_command_find): Fixed a memory leak of
43472 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
43473
43474 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43475
43476 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
43477 "@" which marks the start of a comment on ARM.
43478 (VARIABLE): Likewise.
43479
43480 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43481
43482 Add support for Linux/ADFS partition tables.
43483
43484 * partmap/acorn.c: New file.
43485
43486 * include/grub/acorn_filecore.h: Likewise.
43487
43488 * DISTLIST: Added `partmap/acorn.c' and
43489 `include/grub/acorn_filecore.h'.
43490
43491 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43492 `partmap/acorn.c'.
43493 (pkgdata_MODULES): Add `acorn.mod'.
43494 (acorn_mod_SOURCES): New variable.
43495 (acorn_mod_CFLAGS): Likewise.
43496
43497 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43498 `partmap/acorn.c'.
43499 (pkgdata_MODULES): Add `acorn.mod'.
43500 (acorn_mod_SOURCES): New variable.
43501 (acorn_mod_CFLAGS): Likewise.
43502
43503 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
43504 (pkgdata_MODULES): Add `acorn.mod'.
43505 (acorn_mod_SOURCES): New variable.
43506 (acorn_mod_CFLAGS): Likewise.
43507 (acorn_mod_LDFLAGS): Likewise.
43508
43509 * include/types.h (grub_disk_addr_t): New typedef.
43510
43511 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
43512
43513 * geninit.sh: New file.
43514
43515 * geninitheader.sh: Likewise.
43516
43517 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
43518 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
43519 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
43520 * commands/configfile.c (grub_configfile_init)
43521 (grub_configfile_fini): Likewise.
43522 * commands/default.c (grub_default_init, grub_default_fini):
43523 Likewise.
43524 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
43525 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
43526 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
43527 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
43528 Likewise.
43529 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
43530 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
43531 Likewise.
43532 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
43533 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
43534 Likewise.
43535 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
43536 Likewise.
43537 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
43538 Likewise.
43539 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
43540 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
43541 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
43542 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
43543 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
43544 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
43545 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
43546 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
43547 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
43548 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
43549 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
43550 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
43551 * partmap/amiga.c (grub_amiga_partition_map_init)
43552 (grub_amiga_partition_map_fini): Likewise.
43553 * partmap/apple.c (grub_apple_partition_map_init)
43554 (grub_apple_partition_map_fini): Likewise.
43555 * partmap/pc.c (grub_pc_partition_map_init)
43556 (grub_pc_partition_map_fini): Likewise.
43557 * partmap/sun.c (grub_sun_partition_map_init,
43558 grub_sun_partition_map_fini): Likewise.
43559 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
43560 Likewise.
43561
43562 * util/grub-emu.c: Include <grub_modules_init.h>.
43563 (main): Don't initialize and de-initialize any modules directly,
43564 use `grub_init_all' and `grub_fini_all' instead.
43565
43566 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
43567 `grub_vesafb_mod_init'.
43568 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
43569 all users.
43570 * term/i386/pc/vga.c (grub_vga_init): Renamed to
43571 `grub_vga_mod_init'. Updated all users.
43572 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
43573
43574 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
43575 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
43576 rules.
43577
43578 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
43579 Generate a function to initialize the module in utilities.
43580 Updated all callers.
43581 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
43582 initialize the module in utilities. Updated all callers.
43583
43584 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43585
43586 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
43587 escape sequence and a literal ^L to clear the screen.
43588
43589 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
43590 when returning from Open Firmware.
43591
43592 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43593
43594 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
43595 (grub_ofconsole_height): Likewise.
43596 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
43597 manually insert a '\n'.
43598 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
43599 `grub_ofconsole_height'. Return early if these are already set.
43600
43601 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
43602
43603 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43604 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
43605 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
43606 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
43607 and `normal/script.c'.
43608 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43609 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43610 (test_mod_SOURCES): New variable.
43611 (test_mod_CFLAGS): Likewise.
43612 (test_mod_LDFLAGS): Likewise.
43613 (pkgdata_MODULES): Add `test.mod'.
43614 (grub_script.tab.c): New rule.
43615 (grub_script.tab.h): Likewise.
43616
43617 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
43618
43619 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43620 `commands/test.c', `normal/execute.c', `normal/lexer.c',
43621 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43622 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43623 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43624 (test_mod_SOURCES): New variable.
43625 (test_mod_CFLAGS): Likewise.
43626 (pkgdata_MODULES): Add `test.mod'.
43627 (grub_script.tab.c): New rule.
43628 (grub_script.tab.h): Likewise.
43629
43630 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
43631
43632 Add initial scripting support.
43633
43634 * commands/test.c: New file.
43635 * include/grub/script.h: Likewise.
43636 * normal/execute.c: Likewise.
43637 * normal/function.c: Likewise.
43638 * normal/lexer.c: Likewise.
43639 * normal/parser.y: Likewise.
43640 * normal/script.c: Likewise.
43641
43642 * configure.ac: Add `AC_PROG_YACC' test.
43643
43644 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
43645 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
43646 `normal/function.c' and `normal/script.c'.
43647 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43648 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43649 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
43650 variables.
43651 (pkgdata_MODULES): Add `test.mod'.
43652 (grub_script.tab.c): New rule.
43653 (grub_script.tab.h): Likewise.
43654
43655 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
43656
43657 * include/grub/normal.h (grub_test_init): New prototype.
43658 (grub_test_fini): Likewise.
43659
43660 * normal/command.c: Include <grub/script.h>.
43661 (grub_command_execute): Rewritten.
43662
43663 * util/grub-emu.c (main): Call `grub_test_init' and
43664 `grub_test_fini'.
43665
43666 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43667
43668 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
43669 to 0.
43670 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
43671 there are no pending characters.
43672
43673 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43674
43675 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
43676 `grub_strndup' to drop device arguments. Replace unnecessary
43677 `grub_strndup' with `grub_strdup'.
43678
43679 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43680
43681 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
43682 `debug' environment variable has been set.
43683
43684 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
43685
43686 * Makefile.in (install-local): Use $(DATA).
43687 (uninstall): Likewise.
43688 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
43689 (sbin_UTILITIES): ... to here.
43690 (sbin_SCRIPTS): New variable.
43691 (grub_install_SOURCES): New variable.
43692 * util/powerpc/ieee1275/grub-install.in: New file.
43693 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
43694 variable.
43695 (add_segments): Call `grub_util_get_path'.
43696
43697 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43698
43699 From Timothy Baldwin:
43700 * commands/ls.c (grub_ls_list_files): Close FILE with
43701 grub_file_close.
43702 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
43703
43704 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
43705
43706 * include/grub/parser.h: New file.
43707
43708 * kern/parser.c: Likewise.
43709
43710 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
43711 (grub_setup_SOURCES): Likewise.
43712 (grub_probefs_SOURCES): Likewise.
43713 (grub_emu_SOURCES): Likewise.
43714 (kernel_img_HEADERS): Add `parser.h'.
43715
43716 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43717 (grub_emu_SOURCES): Add `kern/parser.c'.
43718 (grubof_SOURCES): Likewise.
43719
43720 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43721 (grubof_SOURCES): Add `kern/parser.c'.
43722
43723 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
43724
43725 * kern/misc.c (grub_split_cmdline): Removed function.
43726
43727 * kern/rescue.c: Include <grub/parser.h>.
43728 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
43729 of `grub_split_cmdline'.
43730
43731 * normal/command.c: Include <grub/parser.h>.
43732 (grub_command_execute): Use `grub_parser_split_cmdline' instead
43733 of `grub_split_cmdline'.
43734
43735 * normal/completion.c: Include <grub/parser.h>.
43736 (cmdline_state): New variable.
43737 (iterate_dir): End the filename with a quote depending on the
43738 command line state.
43739 (get_state): new function.
43740 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
43741 split the arguments and determine the current argument. When the
43742 argument string is not quoted, escape all spaces.
43743
43744 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43745
43746 * normal/sparc64/setjmp.S: New file.
43747
43748 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43749
43750 * include/grub/sparc64/libgcc.h: New file.
43751 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
43752 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
43753 normal/sparc64/setjmp.c.
43754
43755 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43756
43757 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
43758 * kern/sparc64/cache.S: New file.
43759 * kern/sparc64/cache.c: Removed.
43760 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
43761 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
43762 -mtune=ultrasparc.
43763 (COMMON_LDFLAGS): Add -melf64_sparc.
43764 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
43765 (grubof_SOURCES): Use cache.S instead of cache.c.
43766 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
43767 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
43768 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
43769 commented though.
43770 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
43771 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
43772 (linux_mod_CFLAGS): Commented out.
43773 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
43774 out because module isn't built.
43775 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
43776 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
43777 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
43778 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
43779 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
43780 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43781 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43782 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
43783 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
43784 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
43785 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43786 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43787 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
43788 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
43789
43790 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
43791
43792 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
43793 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
43794 longer, because HFS should not be used on PC.
43795
43796 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43797
43798 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
43799 consistently within the loop.
43800
43801 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
43802
43803 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
43804 directory can not be read.
43805
43806 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43807
43808 * configure.ac (AC_INIT): Increase the version number to 1.91.
43809
43810 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
43811 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
43812 term/i386/pc/serial.c.
43813
43814 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43815
43816 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
43817 file size must be permitted.
43818
43819 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
43820 between %ah and %al.
43821
43822 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43823
43824 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
43825 grub_uint64_t.
43826 Call the hook with a NUL-terminated filename.
43827 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
43828 grub_cpu_to_be32.
43829
43830 * kern/term.c (cursor_state): New variable.
43831 (grub_term_set_current): Reset the cursor state on a new
43832 terminal.
43833 (grub_setcursor): Rewritten to use CURSOR_STATE.
43834 (grub_getcursor): New function.
43835
43836 * include/grub/term.h (grub_getcursor): New prototype.
43837
43838 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
43839 integers on ARM. Reported by Timothy Baldwin
43840 <T.E.Baldwin99@members.leeds.ac.uk>.
43841
43842 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
43843
43844 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
43845 allocated.
43846 (grub_sfs_dir): Likewise.
43847
43848 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
43849
43850 Add support for the SFS filesystem.
43851
43852 * fs/sfs.c: New file.
43853
43854 * DISTLIST: Added `fs/sfs.c'.
43855
43856 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
43857 (grub_probefs_SOURCES): Likewise.
43858 (grub_emu_SOURCES): Likewise.
43859 (pkgdata_MODULES): Add `sfs.mod'.
43860 (sfs_mod_SOURCES): New variable.
43861 (sfs_mod_CFLAGS): Likewise.
43862 (sfs_mod_LDFLAGS): Likewise.
43863
43864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
43865 (pkgdata_MODULES): Add `sfs.mod'.
43866 (sfs_mod_SOURCES): New variable.
43867 (sfs_mod_CFLAGS): Likewise.
43868
43869 * util/grub-emu.c (main): Call `grub_sfs_init' and
43870 `grub_sfs_fini'.
43871
43872 * include/grub/fs.h (grub_sfs_init): New prototype.
43873 (grub_sfs_fini): Likewise.
43874
43875 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
43876
43877 Add support for the AFFS filesystem.
43878
43879 * fs/affs.c: New file.
43880
43881 * DISTLIST: Added `fs/affs.c'.
43882
43883 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
43884 (grub_probefs_SOURCES): Likewise.
43885 (grub_emu_SOURCES): Likewise.
43886 (pkgdata_MODULES): Add `affs.mod'.
43887 (affs_mod_SOURCES): New variable.
43888 (affs_mod_CFLAGS): Likewise.
43889 (affs_mod_LDFLAGS): Likewise.
43890
43891 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
43892 (pkgdata_MODULES): Add `affs.mod'.
43893 (affs_mod_SOURCES): New variable.
43894 (affs_mod_CFLAGS): Likewise.
43895
43896 * util/grub-emu.c (main): Call `grub_affs_init' and
43897 `grub_affs_fini'.
43898
43899 * include/grub/fs.h (grub_affs_init): New prototype.
43900 (grub_affs_fini): Likewise.
43901
43902 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
43903
43904 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
43905
43906 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
43907
43908 * configure.ac: Accept `x86_64' as host_cpu. In that case add
43909 `-m32' to CFLAGS.
43910
43911 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
43912 linking.
43913
43914 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
43915 (COMMON_LDFLAGS): New variable.
43916 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
43917 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
43918 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
43919 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
43920 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
43921 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
43922 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
43923 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
43924 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
43925 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
43926 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43927 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43928 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
43929 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
43930 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
43931 variables.
43932 (normal_mod_ASFLAGS): Add `-m32'.
43933
43934 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
43935 (grub_host_size_t, grub_host_ssize_t): New types.
43936 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
43937 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
43938 `GRUB_HOST_SIZEOF_VOID_P'.
43939
43940 * include/grub/kernel.h (struct grub_module_header): Type of
43941 member offset changed to `grub_host_off_t'. Type of member size
43942 changed to `grub_host_size_t'.
43943 (struct grub_module_info): Type of member offset changed to
43944 `grub_host_off_t'. Type of member size changed to
43945 `grub_host_size_t'.
43946
43947 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
43948
43949 Make GRUB's kernel compliant to Multiboot Specification.
43950
43951 * kern/i386/pc/startup.S (multiboot_header): New label.
43952 (multiboot_entry): Likewise.
43953 (multiboot_trampoline): Likewise.
43954
43955 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43956 Increased to 0x4A0.
43957
43958 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
43959 put parentheses after a question mark.
43960 [!GRUB_UTIL] (my_mod): New variable.
43961
43962 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
43963
43964 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
43965
43966 Adds support for the XFS filesystem. Btrees are not supported
43967 yet.
43968
43969 * fs/xfs.c: New file.
43970
43971 * DISTLIST: Added `fs/xfs.c'.
43972
43973 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
43974 (grub_probefs_SOURCES): Likewise.
43975 (grub_emu_SOURCES): Likewise.
43976 (pkgdata_MODULES): Add `xfs.mod'.
43977 (xfs_mod_SOURCES): New variable.
43978 (xfs_mod_CFLAGS): Likewise.
43979
43980 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
43981 (pkgdata_MODULES): Add `xfs.mod'.
43982 (xfs_mod_SOURCES): New variable.
43983 (xfs_mod_CFLAGS): Likewise.
43984
43985 * util/grub-emu.c (main): Call `grub_xfs_init' and
43986 `grub_xfs_fini'.
43987
43988 * include/grub/fs.h (grub_xfs_init): New prototype.
43989 (grub_xfs_fini): Likewise.
43990
43991
43992 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
43993
43994 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
43995 color modes, allow greater than 16 colors to be configured as
43996 a default palette.
43997
43998 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43999
44000 * normal/completion.c (complete_arguments): Add the qualifier
44001 const into OPTIONS.
44002
44003 From Omniflux <omniflux+lists@omniflux.com>:
44004 * include/grub/terminfo.h: New file.
44005 * include/grub/tparm.h: Likewise.
44006 * include/grub/i386/pc/serial.h: Likewise.
44007 * term/terminfo.c: Likewise.
44008 * term/tparm.c: Likewise.
44009 * term/i386/pc/serial.c: Likewise.
44010 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
44011 serial.mod.
44012 (terminfo_mod_SOURCES): New variable.
44013 (terminfo_mod_CFLAGS): Likewise.
44014 (serial_mod_SOURCES): Likewise.
44015 (serial_mod_CFLAGS): Likewise.
44016
44017 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
44018
44019 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
44020 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
44021 and kern/powerpc/ieee1275/cmain.c, respectively.
44022
44023 * boot/powerpc/ieee1275/crt0.S: Moved to ...
44024 * kern/powerpc/ieee1275/crt0.S: ... here.
44025
44026 * boot/powerpc/ieee1275/cmain.c: Moved to ...
44027 * kern/powerpc/ieee1275/cmain.c: ... here.
44028
44029 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
44030 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
44031 instead of boot/powerpc/ieee1275/crt0.S and
44032 boot/powerpc/ieee1275/cmain.c, respectively.
44033
44034 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
44035 sectors. It was not used anyway.
44036
44037 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
44038
44039 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
44040 `unused parameter' warning.
44041
44042 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
44043
44044 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
44045 function.
44046 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
44047 getcharwidth.
44048
44049 2005-08-28 Marco Gerards <metgerards@student.han.nl>
44050
44051 * include/grub/normal.h (enum grub_completion_type): Added
44052 `GRUB_COMPLETION_TYPE_ARGUMENT'.
44053
44054 * normal/cmdline.c (print_completion): Handle
44055 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
44056 * normal/menu_entry.c (store_completion): Likewise.
44057
44058 * normal/completion.c (complete_arguments): New function.
44059 (grub_normal_do_completion): Call `complete_arguments' when the
44060 current words start with a dash.
44061
44062 2005-08-27 Marco Gerards <metgerards@student.han.nl>
44063
44064 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
44065 `gzio.mod' instead of `io.mod').
44066
44067 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
44068
44069 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
44070 (DISTDIRS): Added io and video.
44071 Rewrite the search routine to make an output consistently.
44072
44073 * DISTLIST: Added conf/sparc64-ieee1275.mk,
44074 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
44075 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
44076 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
44077 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
44078 util/powerpc/ieee1275/misc.c.
44079
44080 * include/grub/gzio.h: New file.
44081 * io/gzio.c: Likewise.
44082
44083 * kern/file.c (grub_file_close): Call grub_device_close only if
44084 FILE->DEVICE is not NULL.
44085
44086 * include/grub/mm.h [!NULL] (NULL): New macro.
44087
44088 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
44089
44090 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
44091 (pkgdata_MODULES): Added gzio.mod.
44092 (gzio_mod_SOURCES): New variable.
44093 (gzio_mod_CFLAGS): Likewise.
44094
44095 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
44096 (pkgdata_MODULES): Added gzio.mod.
44097 (gzio_mod_SOURCES): New variable.
44098 (gzio_mod_CFLAGS): Likewise.
44099
44100 * commands/cat.c: Include grub/gzio.h.
44101 (grub_cmd_cat): Use grub_gzfile_open instead of
44102 grub_file_open.
44103
44104 * commands/cmp.c: Include grub/gzio.h.
44105 (grub_cmd_cmp): Use grub_gzfile_open instead of
44106 grub_file_open.
44107
44108 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
44109 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
44110 grub_file_open.
44111 (grub_rescue_cmd_module): Likewise.
44112
44113 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
44114
44115 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
44116 kern/sparc64/ieee1275/init.c because it contains _start.
44117 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
44118
44119 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
44120
44121 * configure.ac: Add support for sparc64 host with ieee1275
44122 firmware.
44123 * configure: Generated from configure.ac.
44124 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
44125 instead of int.
44126 (grub_ofdisk_read): Likewise.
44127 (grub_ofdisk_open): Use %p to print pointer values, and cast the
44128 pointers as (void *) to remove a warning.
44129 (grub_ofdisk_close): Likewise.
44130 (grub_ofdisk_read): Likewise.
44131 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
44132 returns, so make it return void to remove a warning.
44133 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
44134 Corresponding prototype change.
44135 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
44136 values, and cast the pointers as (void *) to remove a warning.
44137 (grub_mm_dump): Likewise.
44138 * conf/sparc64-ieee1275.mk: New file.
44139 * conf/sparc64-ieee1275.rmk: Likewise.
44140 * include/grub/sparc64/setjmp.h: Likewise.
44141 * include/grub/sparc64/types.h: Likewise.
44142 * include/grub/sparc64/ieee1275/console.h: Likewise.
44143 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
44144 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
44145 * include/grub/sparc64/ieee1275/time.h: Likewise.
44146 * kern/sparc64/cache.c: Likewise.
44147 * kern/sparc64/dl.c: Likewise.
44148 * kern/sparc64/ieee1275/init.c: Likewise.
44149 * kern/sparc64/ieee1275/openfw.c: Likewise.
44150
44151 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
44152
44153 * util/console.c (grub_ncurses_putchar): If C is greater than
44154 0x7f, set C to a question mark.
44155 (grub_ncurses_getcharwidth): New function.
44156 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
44157 getcharwidth.
44158
44159 * normal/menu.c (print_entry): Made aware of Unicode. First,
44160 convert TITLE to UCS-4, and predict the cursor position by
44161 grub_getcharwidth.
44162
44163 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
44164 const to SRC.
44165 * kern/misc.c (grub_utf16_to_utf8): Likewise.
44166
44167 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44168
44169 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
44170 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
44171 grub_strcat.
44172
44173 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
44174 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
44175 grub_strcpy and grub_strlen. Take it into account that a space
44176 character is inserted as a delimiter.
44177
44178 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44179
44180 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
44181 invalid magic in the error.
44182
44183 * commands/search.c: New file.
44184
44185 * util/grub-emu.c (main): Call grub_search_init and
44186 grub_search_fini.
44187
44188 * kern/rescue.c (grub_rescue_print_disks): Removed.
44189 (grub_rescue_print_devices): New function.
44190 (grub_rescue_cmd_ls): Use grub_device_iterate with
44191 grub_rescue_print_devices instead of grub_disk_dev_iterate with
44192 grub_rescue_print_disks.
44193
44194 * kern/partition.c (grub_partition_iterate): Return the result of
44195 PARTMAP->ITERATE instead of GRUB_ERRNO.
44196
44197 * kern/device.c: Include grub/partition.h.
44198 (grub_device_iterate): New function.
44199
44200 * include/grub/partition.h (grub_partition_iterate): Return int
44201 instead of grub_err_t.
44202
44203 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
44204 prototype.
44205 [GRUB_UTIL] (grub_search_fini): Likewise.
44206
44207 * include/grub/device.h (grub_device_iterate): New prototype.
44208
44209 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44210 commands/search.c.
44211 (pkgdata_MODULES): Added search.mod.
44212 (search_mod_SOURCES): New variable.
44213 (search_mod_CFLAGS): Likewise.
44214
44215 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
44216 (pkgdata_MODULES): Added search.mod.
44217 (search_mod_SOURCES): New variable.
44218 (search_mod_CFLAGS): Likewise.
44219
44220 * commands/ls.c (grub_ls_list_disks): Renamed to ...
44221 (grub_ls_list_devices): ... this, and use grub_device_iterate.
44222 All callers changed.
44223
44224 * DISTLIST: Added commands/search.c.
44225
44226 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44227
44228 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
44229 conversion.
44230 (grub_getcharwidth): New function.
44231
44232 * kern/misc.c (grub_utf8_to_ucs4): New function.
44233
44234 * include/grub/term.h (struct grub_term): Added a new member
44235 "getcharwidth".
44236 (grub_getcharwidth): New prototype.
44237
44238 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
44239
44240 * term/i386/pc/console.c (map_char): New function. Segregated from
44241 grub_console_putchar.
44242 (grub_console_putchar): Use map_char.
44243 (grub_console_getcharwidth): New function.
44244 (grub_console_term): Specified grub_console_getcharwidth as
44245 getcharwidth.
44246
44247 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
44248 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
44249
44250 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
44251 GRUB_ERRNO.
44252 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
44253 on grub_strtoul completely.
44254 (write_char): Declare local variables in the beginning of the
44255 function.
44256 (grub_vesafb_getcharwidth): New function.
44257 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
44258 getcharwidth.
44259
44260 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
44261
44262 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
44263 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
44264 commands/i386/pc/vbetest.c.
44265
44266 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
44267 call grub_vbe_get_controller_info again, because the returned
44268 information is volatile.
44269 (grub_vbe_set_video_mode): Mostly rewritten.
44270 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
44271 grub_vbe_status_t correctly.
44272 (grub_vbe_get_video_mode_info): Likewise.
44273 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
44274 several if statements.
44275
44276 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
44277 * commands/i386/pc/vbeinfo.c: ... this.
44278
44279 * commands/i386/pc/vbe_test.c: Renamed to ...
44280 * commands/i386/pc/vbetest.c: ... this.
44281
44282 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
44283 ...
44284 (grub_cmd_vbeinfo): ... this. Save video modes before
44285 iterating. Skip a video mode, if it is not available, not enough
44286 information is given or it is monochrome. Show the memory
44287 model. Leave the interpretation of MODEVAR to grub_strtoul
44288 completely.
44289 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
44290 (GRUB_MOD_FINI): Likewise.
44291
44292 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
44293 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
44294 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
44295 duplicated grub_env_get. Leave the interpretation of MODEVAR to
44296 grub_strtoul completely.
44297 (real2pm): Removed.
44298 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
44299 (GRUB_MOD_FINI): Likewise.
44300
44301 * normal/misc.c: Include grub/mm.h.
44302
44303 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
44304 vbe_list_modes with vbetest.mod and vbeinfo.mod.
44305 (vbe_list_modes_mod_SOURCES): Removed.
44306 (vbe_list_modes_mod_CFLAGS): Likewise.
44307 (vbe_test_mod_SOURCES): Likewise.
44308 (vbe_test_mod_CFLAGS): Likewise.
44309 (vbeinfo_mod_SOURCES): New variable.
44310 (vbeinfo_mod_CFLAGS): Likewise.
44311 (vbetest_mod_SOURCES): Likewise.
44312 (vbetest_mod_CFLAGS): Likewise.
44313
44314 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
44315
44316 * normal/misc.c: New file.
44317
44318 * DISTLIST: Added normal/misc.c.
44319
44320 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
44321 DISK to HOOK. Call HOOK with DISK.
44322 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44323 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44324 * partmap/sun.c (sun_partition_map_iterate): Likewise.
44325
44326 * normal/menu_entry.c (struct screen): Added a new member
44327 "completion_shown".
44328 (completion_buffer): New global variable.
44329 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
44330 (store_completion): New function.
44331 (complete): Likewise.
44332 (clear_completions): Likewise.
44333 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
44334 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
44335 a tab, call complete.
44336
44337 * normal/completion.c (disk_dev): Removed.
44338 (print_simple_completion): Likewise.
44339 (print_partition_completion): Likewise.
44340 (print_func): New global variable.
44341 (add_completion): Do not take the arguments WHAT or PRINT any
44342 longer. Added a new argument TYPE. Instead of printing directly,
44343 call PRINT_FUNC if not NULL.
44344 All callers changed.
44345 (complete_device): Use a local variable DEV instead of
44346 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
44347 (grub_normal_do_completion): Take a new argument HOOK. Do not
44348 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
44349 empty string, return NULL instead.
44350 All callers changed.
44351
44352 * normal/cmdline.c (print_completion): New function.
44353
44354 * kern/partition.c (grub_partition_iterate): Add an argument DISK
44355 to HOOK.
44356 All callers changed.
44357
44358 * kern/disk.c (grub_print_partinfo): Removed.
44359
44360 * include/grub/partition.h (struct grub_partition_map): Add a new
44361 argument DISK into HOOK of ITERATE.
44362 (grub_partition_iterate): Add a new argument DISK to HOOK.
44363
44364 * include/grub/normal.h (enum grub_completion_type): New enum.
44365 (grub_completion_type_t): New type.
44366 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
44367 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
44368 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
44369 (GRUB_COMPLETION_TYPE_FILE): Likewise.
44370 (grub_normal_do_completion): Added a new argument HOOK.
44371 (grub_normal_print_device_info): New prototype.
44372
44373 * include/grub/disk.h (grub_print_partinfo): Removed.
44374
44375 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
44376 (normal_mod_SOURCES): Likewise.
44377 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44378 (normal_mod_SOURCES): Likewise.
44379
44380 * commands/ls.c (grub_ls_list_disks): Use
44381 grub_normal_print_device_info instead of grub_print_partinfo. Free
44382 PNAME.
44383 (grub_ls_list_files): Use grub_normal_print_device_info instead of
44384 duplicating the code.
44385
44386 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
44387
44388 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
44389 follow GCS more precisely.
44390 * commands/i386/pc/vbe_test.c: Likewise.
44391 * include/grub/i386/pc/vbe.h: Likewise.
44392 * term/i386/pc/vesafb.c: Likewise.
44393 * video/i386/pc/vbe.c: Likewise.
44394
44395 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
44396
44397 * DISTLIST: Added term/i386/pc/vesafb.c
44398 DISTLIST: Added video/i386/pc/vbe.c
44399 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
44400 DISTLIST: Added commands/i386/pc/vbe_test.c.
44401 * commands/i386/pc/vbe_list_modes.c: New file.
44402 * commands/i386/pc/vbe_test.c: Likewise.
44403 * term/i386/pc/vesafb.c: Likewise.
44404 * video/i386/pc/vbe.c: Likewise.
44405 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
44406 (grub_vbe_probe) Added prototype.
44407 (grub_vbe_set_video_mode) Likewise.
44408 (grub_vbe_get_video_mode) Likewise.
44409 (grub_vbe_get_video_mode_info) Likewise.
44410 (grub_vbe_set_pixel_rgb) Likewise.
44411 (grub_vbe_set_pixel_index) Likewise.
44412 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
44413 (pkgdata_MODULES): Added vesafb.mod.
44414 (pkgdata_MODULES): Added vbe_list_modes.mod.
44415 (pkgdata_MODULES): Added vbe_test.mod.
44416 (vbe_mod_SOURCES): Added.
44417 (vbe_mod_CFLAGS): Likewise.
44418 (vesafb_mod_SOURCES): Likewise.
44419 (vesafb_mod_CFLAGS): Likewise.
44420 (vbe_list_modes_mod_SOURCES): Likewise.
44421 (vbe_list_modes_mod_CFLAGS): Likewise.
44422 (vbe_test_mod_SOURCES): Likewise.
44423 (vbe_test_mod_CFLAGS): Likewise.
44424
44425 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
44426
44427 * normal/command.c (grub_command_execute): If INTERACTIVE is
44428 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
44429 CMDLINE. Disable the pager if INTERACTIVE is true.
44430 All callers are changed.
44431
44432 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
44433 before reading a config file.
44434 * normal/main.c (read_config_file): Even if a command is not
44435 found, register it if it is within an entry.
44436
44437 * util/grub-emu.c: Include sys/types.h and unistd.h.
44438 (options): Added --hold.
44439 (struct arguments): Added a new member "hold".
44440 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
44441 missing.
44442 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
44443 cleared by a debugger, if it is not zero.
44444
44445 * include/grub/normal.h (grub_command_execute): Add an argument
44446 INTERACTIVE.
44447
44448 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
44449
44450 * DISTLIST: Added include/grub/i386/pc/vbe.h.
44451
44452 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
44453
44454 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
44455 program with another one, because the old one didn't detect a bug
44456 in gcc-3.4. Always use regparm 2, because the new test is still
44457 not enough for gcc-4.0. Someone must investigate a simple test
44458 case which detects a bug in gcc-4.0.
44459
44460 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
44461
44462 * DISTLIST: Added normal/completion.c.
44463
44464 * normal/completion.c: New file.
44465
44466 * term/i386/pc/console.c (grub_console_getwh): New function.
44467 (grub_console_term): Assign grub_console_getwh to getwh.
44468
44469 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
44470 function is defined in normal/completion.c as
44471 grub_normal_do_completion.
44472 (grub_cmdline_get): Use grub_normal_do_completion instead of
44473 grub_tab_complete.
44474
44475 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
44476 returns non-zero, otherwise return 0.
44477 (grub_partition_iterate): First, probe the partition map. Then,
44478 call ITERATE only for this partition map.
44479
44480 * kern/misc.c (grub_strncmp): Rewritten.
44481
44482 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
44483 returns non-zero. Otherwise return 0.
44484
44485 * include/grub/partition.h (grub_partition_map_iterate): Return
44486 int instead of void.
44487
44488 * include/grub/normal.h (grub_normal_do_completion): New prototype.
44489
44490 * include/grub/misc.h (grub_strncmp): Change the type of N to
44491 grub_size_t.
44492
44493 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
44494 of void.
44495
44496 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
44497 unsigned explicitly before comparing it with I.
44498
44499 * kern/main.c (grub_env_write_root): Add the attribute unused into
44500 VAR.
44501
44502 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44503 normal/completion.c.
44504 (normal_mod_SOURCES): Likewise.
44505 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44506 (normal_mod_SOURCES): Likewise.
44507
44508 * normal/command.c (grub_iterate_commands): If ITERATE returns
44509 non-zero, return one immediately.
44510
44511 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
44512
44513 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
44514 * kern/i386/pc/startup.S: Updated Global Descriptor table's
44515 descriptions.
44516 (grub_vbe_get_controller_info): New function.
44517 (grub_vbe_get_mode_info): Likewise.
44518 (grub_vbe_set_mode): Likewise.
44519 (grub_vbe_get_mode): Likewise.
44520 (grub_vbe_set_memory_window): Likewise.
44521 (grub_vbe_get_memory_window): Likewise.
44522 (grub_vbe_set_scanline_length): Likewise.
44523 (grub_vbe_get_scanline_length): Likewise.
44524 (grub_vbe_set_display_start): Likewise.
44525 (grub_vbe_get_display_start): Likewise.
44526 (grub_vbe_set_palette_data): Likewise.
44527 * include/grub/i386/pc/vbe.h: New file.
44528
44529 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44530
44531 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44532 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
44533 * DISTLIST: Likewise.
44534 * kern/ieee1275/of.c: Moved to ...
44535 * kern/ieee1275/ieee1275.c: ... here.
44536
44537 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44538
44539 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
44540 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
44541 Pass 0 as `end' parameter to grub_strtoul().
44542
44543 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44544
44545 * include/grub/powerpc/ieee1275/console.h: Do not include
44546 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
44547 ifdef.
44548 (grub_console_cur_color): Remove i386-specific prototype.
44549 (grub_console_real_putchar): Likewise.
44550 (grub_console_checkkey): Likewise.
44551 (grub_console_getkey): Likewise.
44552 (grub_console_getxy): Likewise.
44553 (grub_console_gotoxy): Likewise.
44554 (grub_console_cls): Likewise.
44555 (grub_console_setcursor): Likewise.
44556 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
44557 Include <grub/machine/console.h>.
44558 * term/ieee1275/ofconsole.c: Likewise.
44559
44560 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
44561
44562 * Makefile.in (LIBLZO): New variable.
44563
44564 * configure.ac: Check for LZO version 2.
44565
44566 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
44567 lzo/lzo1x.h instead of lzo1x.h.
44568
44569 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
44570 of -llzo.
44571
44572 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
44573 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
44574
44575 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
44576 copying the data from PARTITION to P.
44577
44578 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44579
44580 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
44581 negative, unload the module.
44582
44583 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
44584 map is "pc_partition_map" but not "pc".
44585 (usage): Fix the description. The options are --boot-image and
44586 --core-image but not --boot-file or --core-file.
44587 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
44588 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
44589 DEFAULT_DIRECTORY.
44590
44591 * util/i386/pc/grub-install.in: Do not specify --boot-file or
44592 --core-file. Specify INSTALL_DEVICE as an argument.
44593
44594 * util/console.c: Include config.h.
44595 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
44596 [HAVE_NCURSES_H]: Include ncurses.h.
44597 [HAVE_CURSES_H]: Include curses.h.
44598 [!A_NORMAL] (A_NORMAL): Defined as zero.
44599 [!A_STANDOUT] (A_STANDOUT): Likewise.
44600
44601 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
44602 -lncurses.
44603 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
44604
44605 * configure.ac: Check for curses libraries and headers.
44606
44607 * Makefile.in (LIBCURSES): New variable.
44608
44609 * genmk.rb (Script::rule): Set the executable bits.
44610
44611 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
44612 name of the PC partition map is "pc_partition_map" but not "pc".
44613
44614 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44615
44616 * util/i386/pc/grub-install.in (grub_probefs): New variable.
44617 (modules): Likewise.
44618 (usage): Added descriptions for --modules and --grub-probefs.
44619 Handle --modules and --grub-probefs. Save the arguments in MODULES
44620 and GRUB_PROBEFS, respectively.
44621 Auto-detect a filesystem module against GRUBDIR. If the result is
44622 empty and modules are not specified explicitly, abort the
44623 installation. Add the result to MODULES.
44624
44625 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
44626 disk/powerpc/ieee1275/ofdisk.c,
44627 include/grub/powerpc/ieee1275/init.h and
44628 term/powerpc/ieee1275/ofconsole.c.
44629 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
44630 term/ieee1275/ofconsole.c.
44631
44632 * include/grub/powerpc/ieee1275/console.h: Resurrected.
44633
44634 * COPYING: Upgraded to the latest version. Only the address of the
44635 FSF office has changed.
44636
44637 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44638
44639 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44640 kern/ieee1275.c with kern/ieee1275/of.c.
44641
44642 * kern/ieee1275.c: Moved to ...
44643 * kern/ieee1275/of.c: ... here.
44644
44645 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
44646
44647 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
44648 readability.
44649
44650 * config.guess: Updated to the latest version from gnulib.
44651 * config.sub: Likewise.
44652 * install.sh: Likewise.
44653 * mkinstalldirs: Likewise.
44654
44655 * include/grub/console.h: Removed. This file is arch-specific. Do
44656 not put this in include/grub.
44657
44658 * include/grub/i386/pc/console.h: Resurrected.
44659
44660 * util/console.c: Include grub/machine/console.h instead of
44661 grub/console.h.
44662 * util/grub-emu.c: Likewise.
44663
44664 2005-08-04 Marco Gerards <metgerards@student.han.nl>
44665
44666 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
44667 hardcoded value.
44668
44669 From Vincent Pelletier <subdino2004@yahoo.fr>
44670 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
44671 Redefined to use grub_getwh.
44672 (grub_term): New member named getwh.
44673 (grub_getwh): New prototype.
44674 * kern/term.c (grub_getwh): New function.
44675 * term/i386/pc/console.c (grub_console_getwh): New function.
44676 (grub_console_term): New member `getwh'.
44677 * term/i386/pc/vga.c (grub_vga_getwh): New function.
44678 (grub_vga_term): New member `getwh'.
44679 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
44680 grub_ssize_t.
44681 (grub_ofconsole_getw): New function.
44682 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
44683 (grub_ofconsole_term): New field named getwh and new initial
44684 value.
44685
44686 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
44687
44688 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
44689 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
44690 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
44691 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
44692 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
44693 of <grub/machine/ieee1275.h>.
44694 * commands/ieee1275/reboot.c: Likewise.
44695 * boot/powerpc/ieee1275/ieee1275.c: Move ...
44696 * kern/ieee1275.c: ... to here. All users updated. Change all
44697 parameter structs to use new type `grub_ieee1275_cell_t'.
44698 * term/powerpc/ieee1275/ofconsole.c: Move ...
44699 * term/ieee1275/ofconsole.c: ... to here. All users updated.
44700 * disk/powerpc/ieee1275/ofdisk.c: Move ...
44701 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
44702 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
44703 to return int.
44704 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
44705 Remove unused prototypes. All users updated.
44706 * include/grub/powerpc/ieee1275/console.h: Removed.
44707 * include/grub/powerpc/ieee1275/ieee1275.h: Define
44708 `grub_ieee1275_cell_t'.
44709 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
44710 Cast comparisons with -1 to the correct type.
44711 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
44712 type to match `grub_ieee1275_entry_fn'.
44713
44714 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
44715
44716 * DISTLIST: Added util/i386/pc/grub-probefs.c.
44717
44718 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
44719 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
44720 partmap/sun.c.
44721 (grub_probefs_SOURCES): New variable.
44722
44723 * util/i386/pc/grub-probefs.c: New file.
44724
44725 * util/i386/pc/grub-setup.c (main): Call
44726 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
44727 grub_hfs_init and grub_jfs_init to initialize the system. Call
44728 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
44729 grub_pc_partition_map_fini to finish the system.
44730
44731 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
44732
44733 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
44734 function.
44735 (grub_multiboot_load_elf32): Likewise.
44736 (grub_multiboot_is_elf64): Likewise.
44737 (grub_multiboot_load_elf64): Likewise.
44738 (grub_multiboot_load_elf): Likewise.
44739 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
44740 an ELF32 or ELF64 file.
44741 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
44742
44743 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
44744 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
44745 NULL before calling FS->LABEL.
44746 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
44747 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
44748 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
44749 before calling FS->LABEL.
44750
44751 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
44752
44753 * util/i386/pc/grub-install.in (datadir): New variable.
44754 (libdir): Removed.
44755 (pkgdatadir): New variable.
44756 (pkglibdir): Removed.
44757
44758 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
44759
44760 * DISTLIST: Added util/i386/pc/grub-install.in.
44761
44762 * util/i386/pc/grub-install.in: New file.
44763
44764 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
44765 (grub_install_SOURCES): Likewise.
44766
44767 * genmk.rb: Added support for scripts.
44768 (Script): New class.
44769 (scripts): New variable.
44770
44771 * Makefile.in (install-local): Install sbin_SCRIPTS by
44772 INSTALL_SCRIPT.
44773 (uninstall): Remove sbin_SCRIPTS.
44774
44775 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
44776 device, try to get a GRUB device by
44777 grub_util_biosdisk_get_grub_dev.
44778 Free DEST_DEV.
44779
44780 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
44781 description for --device-map.
44782
44783 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44784
44785 Change the semantics of variable hooks. They now return strings
44786 instead of error values.
44787
44788 * util/i386/pc/grub-setup.c: Include grub/env.h.
44789 (setup): Use grub_device_set_root instead of grub_env_set.
44790
44791 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
44792 grub_env_get instead of grub_device_set_root and
44793 grub_device_get_root, respectively.
44794
44795 * kern/main.c (grub_env_write_root): New function.
44796 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
44797 grub_env_set instead of grub_device_set_root.
44798
44799 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
44800 many variables.
44801 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
44802 rather than calling ENV->WRITE_HOOK afterwards.
44803 (grub_env_get): Return the result of ENV->READ_HOOK rather than
44804 passing a pointer of a pointer.
44805 (grub_register_variable_hook): Change the types of "read_hook" and
44806 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
44807 respectively.
44808 Allocate the default empty string on the heap, because this string
44809 may be freed later.
44810
44811 * kern/device.c: Include grub/env.h.
44812 (grub_device_set_root): Removed.
44813 (grub_device_get_root): Likewise.
44814 (grub_device_open): Use grub_env_get instead of
44815 grub_device_get_root.
44816
44817 * include/grub/env.h (grub_env_read_hook_t): New type.
44818 (grub_env_write_hook_t): Likewise.
44819 (grub_env_var): Change the types of "read_hook" and "write_hook"
44820 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
44821 (grub_register_variable_hook): Likewise.
44822
44823 * include/grub/device.h (grub_device_set_root): Removed.
44824 (grub_device_set_root): Likewise.
44825
44826 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
44827 make sure that DIRNAME terminates with '/', so that
44828 grub_fat_find_dir will fail if PATH is not a directory.
44829
44830 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
44831 from DIRNAME.
44832 Use the qualifier auto for print_files and print_files_long.
44833 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
44834 as a regular file.
44835 Put a newline only if there is no error.
44836 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
44837 used.
44838
44839 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44840
44841 * kern/partition.c (grub_partition_probe): Initialize PART to
44842 NULL. Otherwise, when no partition map is registered, this returns
44843 a garbage.
44844
44845 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
44846
44847 * partmap/apple.c (apple_partition_map_iterate): Check if POS
44848 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
44849 valid.
44850
44851 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
44852
44853 * commands/ls.c (grub_ls_list_disks): Print the filesystem
44854 information on each device, if it does not have partitions. Print
44855 "Device" instead of "Disk", because this function is not specific
44856 to disk devices.
44857
44858 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
44859 static to ensure that it is put on the memory rather than a
44860 register.
44861
44862 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44863
44864 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
44865 (grub_cat_init): Likewise.
44866 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
44867 (options): Likewise.
44868 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
44869 (grub_configfile_init): Likewise.
44870 * font/manager.c (GRUB_MOD_INIT): Likewise.
44871 * commands/help.c (GRUB_MOD_INIT): Likewise.
44872 (grub_help_init): Likewise.
44873 * normal/command.c (grub_command_init): Likewise.
44874 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
44875 * disk/loopback.c (grub_loop_init): Likewise.
44876 (GRUB_MOD_INIT): Likewise.
44877 * commands/ls.c (grub_ls_init): Likewise.
44878 (GRUB_MOD_INIT): Likewise.
44879 (options): Likewise.
44880 * commands/boot.c (grub_boot_init): Likewise.
44881 (GRUB_MOD_INIT): Likewise.
44882 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
44883 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
44884 (GRUB_MOD_INIT): Likewise.
44885 * commands/cmp.c (grub_cmp_init): Likewise.
44886 (GRUB_MOD_INIT): Likewise.
44887
44888 * normal/arg.c: Use <> instead of "" to include header files.
44889 (SHORT_ARG_HELP): New macro.
44890 (SHORT_ARG_USAGE): Likewise.
44891 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
44892 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
44893 descriptions.
44894 (find_short): Check if C is 'h' or 'u' explicitly.
44895 (grub_arg_show_help): Use space characters instead of tabs. Treat
44896 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
44897 are shown with --help and --usage only if they are not used for
44898 the command itself.
44899 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
44900 'h' and 'u'.
44901
44902 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
44903 const into "longarg". Change the type of "shortarg" to int.
44904
44905 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44906
44907 * boot/i386/pc/boot.S (boot_drive_check): New label.
44908
44909 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
44910 macro.
44911
44912 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
44913 which do not pass a boot drive correctly. Copied from GRUB Legacy.
44914
44915 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44916
44917 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
44918 When turning off Gate A20, skip the check and return immediately,
44919 because this is not fatal usually.
44920
44921 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44922
44923 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
44924 be 0x7C00 instead of 0x8000.
44925
44926 * boot/i386/pc/pxeboot.S: Rewritten.
44927
44928 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
44929 EXT_C.
44930 (gate_a20_check_state): Read a byte from 0x108000. Invert the
44931 result.
44932
44933 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
44934
44935 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
44936 robustness. This routine now supports a BIOS call and System
44937 Control Port A to modify the gate A20.
44938
44939 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44940 Increased to 0x440.
44941
44942 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
44943
44944 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
44945 device path and resulting ihandle.
44946 (grub_ofdisk_close): dprintf the ihandle being closed.
44947 (grub_ofdisk_read): dprintf function parameters.
44948 * kern/mm.c (grub_mm_init_region): Likewise.
44949 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
44950 (grub_linux_boot): dprintf the Linux entry point, initrd address and
44951 size, and boot arguments.
44952 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
44953 before loading into memory.
44954 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
44955 before loading into memory.
44956
44957 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
44958
44959 * kern/mm.c: Added much documentation.
44960 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
44961 8, set to 5 instead of 8.
44962
44963 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
44964
44965 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
44966
44967 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
44968 (grub_mkdevicemap_SOURCES): New variable.
44969
44970 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
44971 lib/device.c of GRUB Legacy.
44972
44973 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
44974
44975 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
44976 instead of PATH is NULL.
44977
44978 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
44979
44980 * commands/cmp.c (BUFFER_SIZE): New macro.
44981 (grub_cmd_cmp): Close the right file at the right time. Compare
44982 only data just read. Don't report files of different size as
44983 identical. Dynamically allocate buffers. Move variable
44984 declarations at the beginning of function.
44985
44986 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
44987
44988 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
44989 reverse.
44990
44991 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
44992
44993 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
44994 when backspace is pressed at beginning of line.
44995
44996 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
44997
44998 * DISTLIST: Added genfslist.sh.
44999
45000 * normal/main.c (fs_module_list): New variable.
45001 (autoload_fs_module): New function.
45002 (read_fs_list): Likewise.
45003 (grub_normal_execute): Call read_fs_list.
45004
45005 * kern/fs.c (grub_fs_autoload_hook): New variable.
45006 (grub_fs_probe): Added support for auto-loading.
45007
45008 * include/grub/normal.h (struct grub_fs_module_list): New struct.
45009 (grub_fs_module_list_t): New type.
45010
45011 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
45012 (grub_fs_autoload_hook): New prototype.
45013
45014 * genfslist.sh: New file.
45015
45016 * genmk.rb: Added a rule to generate a filesystem list.
45017
45018 2005-06-30 Marco Gerards <metgerards@student.han.nl>
45019
45020 * configure.ac: Fix the test for cross-compiling.
45021
45022 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
45023 define GRUB_UTIL anymore.
45024
45025 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
45026 so this function works on other systems than just big endian.
45027 (load_modules): Likewise.
45028 (add_segments): Likewise.
45029
45030 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
45031
45032 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
45033 contains `l' modifier, get a long from va_arg().
45034
45035 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
45036
45037 * kern/mm.c (grub_free): If the next free block which is being
45038 merged is the first free block, set the first block to the block
45039 being freed.
45040 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
45041
45042 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
45043
45044 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
45045 `grub_ieee1275_chosen'.
45046
45047 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
45048
45049 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
45050 (grub_ieee1275_chosen): New variable.
45051 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
45052 `chosen'.
45053 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
45054 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45055 Rename first argument to `phandle' for consistency.
45056 (grub_ieee1275_get_property_length): Likewise.
45057 (grub_ieee1275_next_property): Likewise. Change type of first argument
45058 to grub_ieee1275_phandle_t.
45059 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
45060 Move export next to declaration.
45061 (grub_ieee1275_chosen): New variable.
45062 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
45063 Correct cosmetic typo.
45064 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
45065 `grub_ieee1275_chosen'.
45066 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
45067 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
45068 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
45069 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
45070 `grub_ieee1275_chosen'.
45071
45072 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
45073
45074 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
45075 /chosen/bootargs.
45076 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
45077 /chosen/bootargs as "variable=value" pairs.
45078
45079 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
45080
45081 * include/grub/misc.h (grub_dprintf): New macro.
45082 (grub_real_dprintf): New prototype.
45083 (grub_strword): Likewise.
45084 (grub_iswordseparator): Likewise.
45085 * kern/misc.c (grub_real_dprintf): New function.
45086 (grub_strword): Likewise.
45087 (grub_iswordseparator): Likewise.
45088
45089 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
45090
45091 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
45092 (roundup): Remove macro.
45093 (grub_ieee1275_flags): Make static.
45094 (grub_ieee1275_realmode): Remove.
45095 (grub_ieee1275_test_flag): New function.
45096 (grub_ieee1275_set_flag): Likewise.
45097 (find_options): Rename to `grub_ieee1275_find_options'; update
45098 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
45099 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
45100 (cmain): New prototype.
45101 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
45102 `grub_ieee1275_flags' directly.
45103 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
45104 machine/biosdisk.h.
45105 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
45106 Don't include grub/machine/init.h.
45107 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
45108 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45109 Remove prototype.
45110 (grub_ieee1275_realmode): Likewise.
45111 (grub_ieee1275_flag): New enum.
45112 (grub_ieee1275_test_flag): New prototype.
45113 (grub_ieee1275_set_flag): New prototype.
45114 * include/grub/powerpc/ieee1275/init.h: Remove file.
45115 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
45116 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
45117 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
45118 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
45119 comment.
45120 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
45121 `grub_ieee1275_test_flag'.
45122 (grub_ieee1275_encode_devname): Likewise.
45123
45124 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
45125
45126 * include/grub/powerpc/ieee1275/ieee1275.h
45127 (grub_ieee1275_encode_devname): New prototype.
45128 (grub_ieee1275_get_filename): Likewise.
45129 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
45130 function.
45131 (grub_set_prefix): Likewise.
45132 (grub_machine_init): Call grub_set_prefix.
45133 * kern/powerpc/ieee1275/openfw.c: Fix typos.
45134 (grub_parse_type): New enum.
45135 (grub_ieee1275_get_devargs): New function.
45136 (grub_ieee1275_get_devname): Likewise.
45137 (grub_ieee1275_parse_args): Likewise.
45138 (grub_ieee1275_get_filename): Likewise.
45139 (grub_ieee1275_encode_devname): Likewise.
45140
45141 2005-03-30 Marco Gerards <metgerards@student.han.nl>
45142
45143 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
45144 `grub_loader_unset'.
45145
45146 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
45147
45148 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
45149 instead of grub_ieee1275_interpret.
45150 (grub_halt_init): New function.
45151 (grub_halt_fini): Likewise.
45152 (GRUB_MOD_INIT): Correct message grammar.
45153 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
45154 instead of grub_ieee1275_interpret.
45155 (grub_reboot_init): New function.
45156 (grub_reboot_fini): Likewise.
45157 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
45158 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
45159 util/i386/pc/misc.c with commands/ieee1275/halt.c,
45160 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
45161 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
45162 function.
45163 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
45164 Add prototype.
45165 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
45166 prototype.
45167 (grub_halt): Likewise.
45168 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
45169 (cmain): Remove __attribute__((unused)).
45170 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
45171 (grub_heap_len): Likewise.
45172 (grub_machine_fini): New function.
45173 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
45174 (grub_halt): Likewise.
45175 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
45176 function.
45177 * util/powerpc/ieee1275/misc.c: New file.
45178
45179 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
45180
45181 * DISTLIST: New file.
45182 * gendistlist.sh: Likewise.
45183
45184 * Makefile.in (COMMON_DISTFILES): Removed.
45185 (BOOT_DISTFILES): Likewise.
45186 (CONF_DISTFILES): Likewise.
45187 (DISK_DISTFILES): Likewise.
45188 (FS_DISTFILES): Likewise.
45189 (INCLUDE_DISTFILES): Likewise.
45190 (KERN_DISTFILES): Likewise.
45191 (LOADER_DISTFILES): Likewise.
45192 (TERM_DISTFILES): Likewise.
45193 (UTIL_DISTFILES): Likewise.
45194 (DISTFILES): Likewise.
45195 (uninstall): Uninstall files in $(pkgdata_DATA).
45196 (DISTLIST): New target.
45197 (distdir): Use the contents of the file DISTLIST to get a list of
45198 distributed files.
45199
45200 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
45201
45202 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
45203 descriptor. This is ported from GRUB Legacy.
45204
45205 * gencmdlist.sh: Added an extra semicolon to make it work with
45206 old sed versions. Reported by Robert Bihlmeyer
45207 <robbe@orcus.priv.at>.
45208
45209 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
45210
45211 Automatic loading of commands is supported.
45212
45213 * normal/main.c (read_command_list): New function.
45214 (grub_normal_execute): Call read_command_list.
45215
45216 * normal/command.c (grub_register_command): Return zero or CMD.
45217 Allocate CMD->NAME from the heap.
45218 Initialize CMD->MODULE_NAME to zero.
45219 Find the same name as well. If the same command is found and it is
45220 a dummy command, overwrite members. If it is not a dummy command,
45221 return zero.
45222 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
45223 (grub_command_find): If a dummy command is found, load a module
45224 and retry to find a command only once.
45225
45226 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
45227 make sure that each command is loaded.
45228
45229 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
45230 macro.
45231 (struct grub_command): Remove const from the member `name'.
45232 Add a new member `module_name'.
45233 (grub_register_command): Return grub_command_t.
45234
45235 * commands/help.c (grub_cmd_help): Call grub_command_find to make
45236 sure that each command is loaded.
45237
45238 * genmk.rb (PModule::rule): Specify a module name without the
45239 suffix ".mod" to gencmdlist.sh.
45240
45241 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
45242
45243 * gencmdlist.sh: New file.
45244
45245 * genmk.rb (PModule::rule): Generate a rule for a command list.
45246 Clean command.lst.
45247 Generate command.lst from $(COMMANDFILES).
45248
45249 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
45250 (DATA): Added $(pkgdata_DATA).
45251 (install-local): Install files in $(pkgdata_DATA).
45252
45253 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
45254
45255 * term/i386/pc/vga.c (debug_command): Removed.
45256 (GRUB_MOD_INIT): Do not register the command "debug".
45257
45258 From Hollis Blanchard:
45259 * commands/configfile.c: New file.
45260 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45261 commands/configfile.c.
45262 (pkgdata_MODULES): Added configfile.mod.
45263 (configfile_mod_SOURCES): New variable.
45264 (configfile_mod_CFLAGS): Likewise.
45265 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
45266 commands/configfile.c.
45267 (pkgdata_MODULES): Added configfile.mod.
45268 (configfile_mod_SOURCES): New variable.
45269 (configfile_mod_CFLAGS): Likewise.
45270 * util/grub-emu.c (main): Call grub_configfile_init and
45271 grub_configfile_fini.
45272 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
45273 prototype.
45274 [GRUB_UTIL] (grub_configfile_fini): Likewise.
45275
45276 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
45277
45278 * normal/arg.c (grub_arg_show_help): Do not show the bug report
45279 address.
45280
45281 * commands/help.c (grub_cmd_help): Do not print newlines after
45282 the last command in print_command_help.
45283
45284 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
45285
45286 * commands/default.h: New file.
45287 * commands/timeout.h: Likewise.
45288 * normal/context.c: Likewise.
45289
45290 * util/misc.c: Do not include sys/times.h.
45291 Include sys/time.h and grub/machine/time.h.
45292 (grub_get_rtc): Rewritten with gettimeofday.
45293
45294 * util/grub-emu.c (main): Call grub_default_init and
45295 grub_timeout_init before grub_normal_init, and call
45296 grub_timeout_fini and grub_default_fini after grub_main.
45297
45298 * util/console.c (grub_ncurses_checkkey): Return the read
45299 character or -1.
45300
45301 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
45302 timeouts.
45303
45304 * normal/main.c (read_config_file): Push MENU. If this fails,
45305 print an error and wait for a user input.
45306 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
45307 If a menu is empty or an error occurs, pop MENU.
45308 (grub_normal_execute): Pop and free MENU after grub_menu_run
45309 returns.
45310
45311 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
45312
45313 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
45314 include time.h.
45315 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
45316 without GRUB_UTIL.
45317 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
45318 time.h.
45319 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
45320 without GRUB_UTIL.
45321
45322 * include/grub/normal.h (struct grub_menu_list): New struct.
45323 (grub_menu_list_t): New type.
45324 (struct grub_context): New struct.
45325 (grub_context_t): New type.
45326 (grub_register_command): Got rid of EXPORT_FUNC.
45327 (grub_unregister_command): Likewise.
45328 (grub_context_get): New prototype.
45329 (grub_context_get_current_menu): Likewise.
45330 (grub_context_push_menu): Likewise.
45331 (grub_context_pop_menu): Likewise.
45332 [GRUB_UTIL] (grub_default_init): Likewise.
45333 [GRUB_UTIL] (grub_default_fini): Likewise.
45334 [GRUB_UTIL] (grub_timeout_init): Likewise.
45335 [GRUB_UTIL] (grub_timeout_fini): Likewise.
45336
45337 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
45338 commands/timeout.c and normal/context.c.
45339 (pkgdata_MODULES): Added default.mod and timeout.mod.
45340 (normal_mod_SOURCES): Added normal/context.c.
45341 (default_mod_SOURCES): New variable.
45342 (default_mod_CFLAGS): Likewise.
45343 (timeout_mod_SOURCES): Likewise.
45344 (timeout_mod_CFLAGS): Likewise.
45345 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
45346 conf/i386-pc.rmk.
45347 (pkgdata_MODULES): Added default.mod and timeout.mod.
45348 (normal_mod_SOURCES): Added normal/context.c.
45349 (default_mod_SOURCES): New variable.
45350 (default_mod_CFLAGS): Likewise.
45351 (timeout_mod_SOURCES): Likewise.
45352 (timeout_mod_CFLAGS): Likewise.
45353
45354 * Makefile.in (all-local): Added $(MKFILES).
45355
45356 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
45357
45358 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
45359 (grub_emu_SOURCES): Likewise.
45360 (pkgdata_MODULES): Add `sun.mod'.
45361 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
45362 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45363 `partmap/sun.c'.
45364 (pkgdata_MODULES): Add `sun.mod'.
45365 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
45366 * include/grub/partition.h (grub_sun_partition_map_init): New
45367 prototype.
45368 (grub_sun_partition_map_fini): Likewise.
45369 * partmap/sun.c: New file.
45370 * util/grub-emu.c (main): Initialize and de-initialize the sun
45371 partitionmap support.
45372
45373 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
45374
45375 This implements an Emacs-like menu entry editor.
45376
45377 * normal/menu_entry.c: New file.
45378
45379 * util/console.c (grub_ncurses_putchar): Translate some Unicode
45380 characters to ASCII.
45381 (saved_char): New variable.
45382 (grub_ncurses_checkkey): Rewritten completely.
45383 (grub_ncurses_getkey): Likewise.
45384 (grub_ncurses_init): Call raw instead of cbreak.
45385
45386 * normal/menu.c (print_entry): Do not put a space.
45387 (init_page): Renamed to ...
45388 (grub_menu_init_page): ... this. All callers changed.
45389 (edit_menu_entry): Removed.
45390 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
45391
45392 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
45393
45394 * kern/misc.c (grub_vprintf): Call grub_refresh.
45395
45396 * normal/menu.c (DISP_LEFT): Renamed to ...
45397 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
45398 * normal/menu.c (DISP_UP): Renamed to ...
45399 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
45400 * normal/menu.c (DISP_RIGHT): Renamed to ...
45401 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
45402 * normal/menu.c (DISP_DOWN): Renamed to ...
45403 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
45404 * normal/menu.c (DISP_HLINE): Renamed to ...
45405 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
45406 * normal/menu.c (DISP_VLINE): Renamed to ...
45407 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
45408 * normal/menu.c (DISP_UL): Renamed to ...
45409 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
45410 * normal/menu.c (DISP_UR): Renamed to ...
45411 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
45412 * normal/menu.c (DISP_LL): Renamed to ...
45413 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
45414 * normal/menu.c (DISP_LR): Renamed to ...
45415 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
45416 * normal/menu.c (TERM_WIDTH): Renamed to ...
45417 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
45418 * normal/menu.c (TERM_HEIGHT): Renamed to ...
45419 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
45420 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
45421 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
45422 * normal/menu.c (TERM_MARGIN): Renamed to ...
45423 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
45424 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
45425 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
45426 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
45427 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
45428 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
45429 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
45430 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
45431 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
45432 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
45433 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
45434 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
45435 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
45436 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
45437 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
45438 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
45439 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
45440 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
45441 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
45442 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
45443 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
45444 All callers changed.
45445
45446 * include/grub/normal.h: New prototype.
45447
45448 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45449 normal/menu_entry.c.
45450 (normal_mod_SOURCES): Likewise.
45451 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45452 (normal_mod_SOURCES): Likewise.
45453
45454 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
45455
45456 * include/grub/normal.h (grub_halt_init): New prototype.
45457 (grub_halt_fini): Likewise.
45458 (grub_reboot_init): Likewise.
45459 (grub_reboot_fini): Likewise.
45460
45461 * util/grub-emu.c: Include signal.h.
45462 (main_env): New global variable.
45463 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
45464 catch C-c.
45465 (grub_machine_fini): New function.
45466 (main): Call grub_halt_init and grub_reboot_init before
45467 grub_main, and grub_reboot_fini and grub_halt_fini after it.
45468 Call setjmp with MAIN_ENV to go back afterwards.
45469 Call grub_machine_fini right before return.
45470
45471 * include/grub/util/misc.h: Include setjmp.h.
45472 (main_env): New prototype.
45473
45474 * include/grub/kernel.h (grub_machine_fini): New prototype.
45475 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
45476 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
45477
45478 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
45479 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
45480 * term/i386/pc/console.c (grub_console_fini): Likewise.
45481
45482 * util/i386/pc/misc.c: New file.
45483
45484 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45485 util/i386/pc/misc.c, commands/i386/pc/halt.c and
45486 commands/i386/pc/reboot.c.
45487
45488 2005-02-14 Guillem Jover <guillem@hadrons.org>
45489
45490 * include/grub/dl.h (grub_dl_check_header): New prototype.
45491 (grub_arch_dl_check_header): Change return type to grub_err_t,
45492 remove size parameter and export function. Update all callers.
45493 * kern/dl.c (grub_dl_check_header): New function.
45494 (grub_dl_load_core): Use `grub_dl_check_header' instead of
45495 `grub_arch_dl_check_header'. Check ELF type. Check if sections
45496 are inside the core.
45497 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
45498 independent ELF header checks.
45499 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45500 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
45501 `grub_dl_check_header' instead of explicit checks. Check for the
45502 ELF type.
45503 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
45504 `grub_dl_check_header' instead of explicit checks. Remove arch
45505 specific ELF header checks.
45506
45507 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
45508 argument SIZE.
45509
45510 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
45511
45512 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
45513 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
45514
45515 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
45516
45517 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
45518 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
45519 (part_map_iterate): Clear `grub_errno' and return 0 if
45520 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
45521 * partmap/amiga.c (amiga_partition_map_iterate): Return
45522 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
45523 * partmap/apple.c (apple_partition_map_iterate): Likewise.
45524
45525 2005-02-01 Guillem Jover <guillem@hadrons.org>
45526
45527 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
45528 help info.
45529
45530 2005-01-31 Marco Gerards <metgerards@student.han.nl>
45531
45532 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
45533 Removed prototype.
45534 (grub_rescue_cmd_linux): New prototype.
45535 (grub_rescue_cmd_initrd): Likewise.
45536 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
45537 `bi_rec'.
45538 (grub_linux_release_mem): Release the memory for the initrd.
45539 (grub_load_linux): Renamed from this...
45540 (grub_rescue_cmd_linux): ...To this. Changed all callers.
45541 Changed `entry' not to be static. Loop over memory regions to
45542 find another one when the default fails.
45543 (grub_rescue_cmd_initrd): New function.
45544 (grub_linux_init): Remove function.
45545 (grub_linux_fini): Likewise.
45546 (GRUB_MOD_INIT): Register `initrd'.
45547 (GRUB_MOD_FINI): Unregister `initrd'.
45548 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
45549 Function removed.
45550 (grub_linux_normal_fini): Likewise.
45551 (GRUB_MOD_INIT): Register `initrd'.
45552 (GRUB_MOD_FINI): Unregister `initrd'.
45553
45554 2005-01-31 Marco Gerards <metgerards@student.han.nl>
45555
45556 * commands/help.c: New file.
45557 * normal/arg.c (show_help): Renamed to...
45558 (grub_arg_show_help): ... this.
45559 * commands/i386/pc/halt.c: New file.
45560 * commands/i386/pc/reboot.c: Likewise.
45561 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
45562 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
45563 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
45564 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
45565 variables.
45566 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45567 `commands/help.c'.
45568 (pkgdata_MODULES): Add `help.mod'.
45569 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
45570 * grub/i386/pc/init.h (grub_reboot): New prototype.
45571 (grub_halt): Likewise.
45572 * include/grub/normal.h (grub_arg_show_help): New prototype.
45573 (grub_help_init): Likewise.
45574 (grub_help_fini): Likewise.
45575 * util/grub-emu.c (main): Initialize and deinitialize the help
45576 command.
45577
45578 * normal/cmdline.c (grub_cmdline_get): Doc fix.
45579
45580 * normal/command.c (grub_command_init): Fixed the description of
45581 the `set' and `unset' commands.
45582
45583 2005-01-31 Marco Gerards <metgerards@student.han.nl>
45584
45585 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
45586 function.
45587 * commands/ieee1275/halt.c: New file.
45588 * commands/ieee1275/reboot.c: Likewise.
45589 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
45590 `__attribute__ ((unused))'. Some GCS related fixed.
45591 (grub_suspend_init) [GRUB_UTIL]: Function removed.
45592 (grub_suspend_fini): Likewise.
45593 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
45594 and `halt.mod'.
45595 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
45596 (halt_mod_CFLAGS): New variables.
45597 * include/grub/powerpc/ieee1275/ieee1275.h
45598 (grub_ieee1275_interpret): New prototype.
45599
45600 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
45601
45602 * include/grub/misc.h (memmove): New prototype.
45603 (memcpy): Likewise.
45604
45605 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
45606
45607 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
45608 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
45609
45610 2005-01-22 Marco Gerards <metgerards@student.han.nl>
45611
45612 * kern/misc.c (grub_strndup): Function rewritten.
45613
45614 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
45615
45616 * normal/menu.c (TERM_WIDTH): Macro redefined.
45617 (TERM_TOP_BORDER_Y): Likewise.
45618 (draw_border): Replaced while-loop by a for-loop. Make the number
45619 of lines consistent with the number of lines displayed in
45620 print_entries. Added a margin below the rectangle.
45621 (print_entry): Make the entry fit in the rectangle.
45622 (print_entries): Display the scroll arrows next to the right
45623 border.
45624
45625 2005-01-21 Marco Gerards <metgerards@student.han.nl>
45626
45627 * fs/minix.c (grub_minix_find_file): Reserve more space for
45628 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
45629 `grub_strncpy' to copy `path' into it.
45630
45631 2005-01-21 Marco Gerards <metgerards@student.han.nl>
45632
45633 Add the loopback device, a device via which files can be accessed
45634 as devices.
45635
45636 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
45637 (pkgdata_MODULES): Add loopback.mod.
45638 (loopback_mod_SOURCES): New variable.
45639 (loopback_mod_CFLAGS): Likewise.
45640 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45641 `disk/loopback.c'.
45642 (pkgdata_MODULES): Add loopback.mod.
45643 (loopback_mod_SOURCES): New variable.
45644 (loopback_mod_CFLAGS): Likewise.
45645 * disk/loopback.c: new file.
45646 * include/grub/normal.h (grub_loop_init): New prototype.
45647 (grub_loop_fini): New prototype.
45648 * util/grub-emu.c (main): Initialize and de-initialize loopback
45649 support.
45650 * include/grub/disk.h (grub_disk_dev_id): Add
45651 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
45652
45653 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
45654
45655 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
45656 function.
45657 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
45658 (suspend_mod_SOURCES): New variable.
45659 (suspend_mod_CFLAGS): Likewise.
45660 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
45661 New prototype.
45662 * commands/ieee1275/suspend.c: New file.
45663
45664 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45665
45666 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
45667 ((unused))' to `__attribute__ ((used))'.
45668 (GRUB_MOD_FINI): Likewise.
45669 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
45670 * genmk.rb (PModule): Assign space to common symbols when linking
45671 modules.
45672
45673 2005-01-20 Marco Gerards <metgerards@student.han.nl>
45674
45675 * include/grub/mm.h (grub_mm_init_region): Change the type of the
45676 `unsigned' arguments to `grub_size_t'.
45677 (grub_malloc): Likewise.
45678 (grub_realloc): Likewise.
45679 (grub_memalign): Likewise.
45680 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
45681 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45682 * util/misc.c (grub_malloc): Likewise.
45683 (grub_realloc): Likewise.
45684 * kern/mm.c (get_header_from_pointer): Change the casts to
45685 `unsigned' into a cast to `grub_size_t'.
45686
45687 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
45688 point to `currnode' when `currnode' is changed.
45689
45690 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
45691 Schottelius <nico-linux@schottelius.org>.
45692
45693 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
45694
45695 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
45696 (note_path): Remove variable.
45697 (GRUB_IEEE1275_NOTE_NAME): New macro.
45698 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
45699 (grub_ieee1275_note_hdr): New structure.
45700 (grub_ieee1275_note_desc): Likewise.
45701 (grub_ieee1275_note): Likewise.
45702 (load_note): Remove `dir' argument. All callers updated. Remove
45703 `note_img' and `path'. Do not load a file from `note_path'.
45704 Initialize a struct grub_ieee1275_note and write that to `out'.
45705 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
45706
45707 2005-01-05 Marco Gerards <metgerards@student.han.nl>
45708
45709 * util/misc.c (grub_util_read_image): Revert last change. It
45710 called `grub_util_read_at', which seeks from the beginning of the
45711 file.
45712
45713 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
45714
45715 * TODO: Add note about endianness in grub-mkimage.
45716 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
45717 section.
45718 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
45719 (grub_mkimage_SOURCES): New target.
45720 * include/grub/kernel.h (grub_start_addr): Remove variable.
45721 (grub_end_addr): Likewise.
45722 (grub_total_module_size): Likewise.
45723 (grub_kernel_image_size): Likewise.
45724 (GRUB_MODULE_MAGIC): New constant.
45725 (grub_module_info): New structure.
45726 (grub_arch_modules_addr): New prototype.
45727 (grub_get_end_addr): Remove prototype.
45728 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
45729 * include/grub/powerpc/ieee1275/kernel.h: New file.
45730 * include/grub/util/misc.h (grub_util_get_fp_size): New
45731 prototype.
45732 (grub_util_read_at): Likewise.
45733 (grub_util_write_image_at): Likewise.
45734 * kern/main.c (grub_get_end_addr): Remove function.
45735 (grub_load_modules): Call grub_arch_modules_addr instead of using
45736 grub_end_addr. Look for a grub_module_info struct in memory. Use
45737 the grub_module_info fields instead of calling grub_get_end_addr
45738 as loop conditions. Move grub_add_unused_region code here.
45739 (grub_add_unused_region): Remove function.
45740 * kern/i386/pc/init.c: Include grub/cache.h.
45741 (grub_machine_init): Remove call to grub_get_end_addr. Remove
45742 one call to add_mem_region.
45743 (grub_arch_modules_addr): New function.
45744 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
45745 (grub_total_module_size): Likewise.
45746 Include grub/machine/kernel.h.
45747 (grub_arch_modules_addr): New function.
45748 * util/grub-emu.c (grub_end_addr): Remove variable.
45749 (grub_total_module_size): Likewise.
45750 (grub_arch_modules_addr): New function.
45751 * util/misc.c: Include unistd.h.
45752 (grub_util_get_fp_size): New function.
45753 (grub_util_read_at): Likewise.
45754 (grub_util_write_image_at): Likewise.
45755 (grub_util_read_image): Call grub_util_read_at.
45756 (grub_util_write_image): Call grub_util_write_image_at.
45757 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
45758 additional memory in kernel_img for a struct grub_module_info.
45759 Fill in that grub_module_info.
45760 * util/powerpc/ieee1275/grub-mkimage.c: New file.
45761
45762 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45763
45764 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
45765 New function.
45766 * include/grub/powerpc/ieee1275/ieee1275.h
45767 (grub_ieee1275_milliseconds): New prototype.
45768 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
45769 Change to 1000.
45770 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
45771 grub_ieee1275_milliseconds.
45772
45773 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45774
45775 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
45776 variable.
45777 (find_options): New function.
45778 (cmain): Call find_options.
45779 * include/grub/powerpc/ieee1275/ieee1275.h
45780 (grub_ieee1275_realmode): New extern variable.
45781 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
45782 grub_map if grub_ieee1275_realmode is false.
45783
45784 2004-12-29 Marco Gerards <metgerards@student.han.nl>
45785
45786 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
45787 lines are inserted and make it work like readline. Reported by
45788 Vincent Pelletier <subdino2004@yahoo.fr>.
45789
45790 2004-12-28 Marco Gerards <metgerards@student.han.nl>
45791
45792 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
45793
45794 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
45795 `kern/powerpc/cache.S'.
45796
45797 2004-12-27 Marco Gerards <metgerards@student.han.nl>
45798
45799 * genmk.rb: Handle the `Program' class in the main loop. Written
45800 by Johan Rydberg <jrydberg@gnu.org>.
45801 (Program): New class.
45802 (programs): New variable.
45803 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
45804 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
45805 instead of "grub/kernel.h". Include <grub/machine/init.h>.
45806 (help_arch): Function removed.
45807 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
45808 `powerpc/libgcc.h' and `loader.h'.
45809 (pkgdata_PROGRAMS): New variable.
45810 (sbin_UTILITIES): Variable removed.
45811 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
45812 (grubof_SOURCES): Variable re-defined so it only includes the
45813 core functionality.
45814 (grubof_CFLAGS): Remove `-DGRUBOF'.
45815 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
45816 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
45817 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
45818 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
45819 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
45820 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
45821 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
45822 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
45823 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
45824 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
45825 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45826 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
45827 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
45828 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
45829 (pc_mod_CFLAGS): New variables.
45830 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
45831 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
45832 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
45833 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
45834 Moved from here...
45835 * include/grub/i386/pc/init.h (grub_os_area_addr)
45836 (rub_os_area_size): ... to here.
45837 * include/grub/powerpc/ieee1275/ieee1275.h
45838 (grub_ieee1275_entry_fn): Export symbol.
45839 * include/grub/powerpc/ieee1275/init.h: New file.
45840 * include/grub/powerpc/libgcc.h: Likewise.
45841 * include/grub/cache.h: Likewise.
45842 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
45843 <hollis@penguinppc.org>.
45844 * kern/dl.c: Include <grub/cache.h>.
45845 (grub_dl_flush_cache): New function.
45846 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
45847 for this module.
45848 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
45849 (grub_console_init): Removed prototypes.
45850 (grub_machine_init): Don't initialize the modules anymore.
45851 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
45852 static.
45853 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
45854 Macro undef removed.
45855 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
45856 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
45857 relocation `R_PPC_REL32'. Return an error when the relocation is
45858 unknown.
45859 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
45860 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
45861 * util/misc.c (grub_arch_sync_caches): Likewise.
45862
45863 2004-12-19 Marco Gerards <metgerards@student.han.nl>
45864
45865 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
45866 `symlist.c', add `grubof_symlist.c'.
45867 (symlist.c): Variable removed.
45868 (grubof_HEADERS): Variable added.
45869 (grubof_symlist.c): New target.
45870 (kernel_syms.lst): Use `grubof_HEADERS' instead of
45871 `kernel_img_HEADERS'.
45872 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
45873 * kern/powerpc/dl.c: New file.
45874 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
45875 Function removed.
45876 (grub_arch_dl_relocate_symbols): Likewise.
45877 (grub_register_exported_symbols): Likewise.
45878
45879 2004-12-13 Marco Gerards <metgerards@student.han.nl>
45880
45881 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
45882 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
45883 to fail instead. Reported by Vincent Pelletier
45884 <subdino2004@yahoo.fr>.
45885
45886 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
45887 it is not allocated. Reported by Vincent Pelletier
45888 <subdino2004@yahoo.fr>.
45889
45890 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
45891 output so the output looks better.
45892
45893 2004-12-04 Marco Gerards <metgerards@student.han.nl>
45894
45895 Modulize the partition map support and add support for the amiga
45896 partition map.
45897
45898 * commands/ls.c: Include <grub/partition.h> instead of
45899 <grub/machine/partition.h>.
45900 * kern/disk.c: Likewise.
45901 * kern/rescue.c: Likewise.
45902 * loader/i386/pc/chainloader.c: Likewise.
45903 * normal/cmdline.c: Likewise.
45904 * kern/powerpc/ieee1275/init.c: Likewise.
45905 (grub_machine_init): Call `grub_pc_partition_map_init',
45906 `grub_amiga_partition_map_init' and
45907 `grub_apple_partition_map_init'.
45908 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
45909 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
45910 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
45911 `partition.h' and `pc_partition.h'.
45912 (grub_setup_SOURCES): Remove
45913 `disk/i386/pc/partition.c'. Add `kern/partition.c',
45914 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45915 (grub_emu_SOURCES): Likewise.
45916 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
45917 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
45918 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
45919 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45920 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
45921 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45922 (grubof_SOURCES): Likewise.
45923 * disk/i386/pc/partition.c: File removed.
45924 * disk/powerpc/ieee1275/partition.c: Likewise.
45925 * include/grub/powerpc/ieee1275/partition.h: Likewise.
45926 * include/grub/i386/pc/partition.h: Likewise.
45927 * kern/partition.c: New file.
45928 * partmap/amiga.c: Likewise.
45929 * partmap/apple.c: Likewise.
45930 * partmap/pc.c: Likewise.
45931 * include/grub/partition.h: Likewise..
45932 * include/grub/pc_partition.h: Likewise.
45933 * util/grub-emu.c: Include <grub/partition.h> instead of
45934 <grub/machine/partition.h>.
45935 (main): Call `grub_pc_partition_map_init',
45936 `grub_amiga_partition_map_init' and
45937 `grub_apple_partition_map_init' and deinitialize afterwards.
45938 * util/i386/pc/biosdisk.c: Include `#include
45939 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45940 `<grub/machine/partition.h>'.
45941 * util/i386/pc/grub-setup.c: Likewise.
45942 * util/i386/pc/biosdisk.c: Likewise.
45943 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
45944 partition information in case of a PC partition.
45945 * util/i386/pc/grub-setup.c: Include `#include
45946 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45947 `<grub/machine/partition.h>'.
45948 (setup): Only access the PC specific partition information in case
45949 of a PC partition.
45950
45951 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
45952
45953 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
45954 (grub_longjmp): Likewise.
45955 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
45956 20.
45957 * normal/powerpc/setjmp.S: New file.
45958 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45959 `normal/powerpc/setjmp.S'.
45960 (grubof_CFLAGS): Add `-DGRUBOF'.
45961 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
45962 [GRUB_UTIL && !GRUBOF].
45963
45964 2004-11-16 Marco Gerards <metgerards@student.han.nl>
45965
45966 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
45967 property named `name'. Correctly handle the error returned by
45968 `grub_ieee1275_finddevice' if a device can not be opened.
45969
45970 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
45971
45972 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
45973 `actual' for negativity.
45974 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45975 kern/fshelp.c.
45976
45977 2004-11-01 Marco Gerards <metgerards@student.han.nl>
45978
45979 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
45980 (PAGE_OFFSET): New macro.
45981 (CRTC_ADDR_PORT): Likewise.
45982 (CRTC_DATA_PORT): Likewise.
45983 (START_ADDR_HIGH_REGISTER): Likewise.
45984 (START_ADDR_LOW_REGISTER): Likewise.
45985 (GRAPHICS_ADDR_PORT): Likewise.
45986 (GRAPHICS_DATA_PORT): Likewise.
45987 (READ_MAP_REGISTER): Likewise.
45988 (INPUT_STATUS1_REGISTER): Likewise.
45989 (INPUT_STATUS1_VERTR_BIT): Likewise.
45990 (page): New variable.
45991 (wait_vretrace): New function.
45992 (set_read_map): Likewise.
45993 (set_start_address): Likewise.
45994 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
45995 the right page.
45996 (check_vga_mem): Take the page into account.
45997 (write_char): Likewise.
45998 (write_cursor): Likewise.
45999 (scroll_up): Likewise. Copy the page to the page that is not
46000 shown and switch between both pages.
46001 (grub_vga_putchar): Fix off by one error.
46002 (grub_vga_cls): Wait for the vertical retrace. Take the page into
46003 account.
46004
46005 2004-11-01 Marco Gerards <metgerards@student.han.nl>
46006
46007 Add support for iso9660 (including rockridge).
46008
46009 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
46010 (iso9660_mod_SOURCES): New variable.
46011 (iso9660_mod_CFLAGS): Likewise.
46012 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
46013 * include/grub/fs.h (grub_iso9660_init): New prototype.
46014 * util/grub-emu.c (main): Call `grub_iso9660_init'.
46015 * fs/iso9660.c: New file.
46016
46017 * include/grub/misc.h (grub_strncat): New prototype.
46018 * kern/misc.c (grub_strncat): New function.
46019
46020 * fs/hfs.c (grub_hfs_mount): Translate the error
46021 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
46022 * fs/jfs.c (grub_jfs_mount): Likewise.
46023 * fs/ufs.c (grub_ufs_mount): Likewise.
46024
46025 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
46026
46027 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
46028 which initialized BAT registers.
46029 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
46030 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
46031 Move from here...
46032 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
46033 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
46034 ... to here.
46035 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
46036 (grub_mapclaim): Likewise.
46037 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
46038 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
46039 hand.
46040
46041 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
46042
46043 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
46044 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
46045 -ffreestanding and -msoft-float.
46046
46047 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
46048
46049 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
46050 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
46051 set in grub_ieee1275_flags.
46052
46053 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
46054
46055 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
46056 prototype.
46057 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
46058 grub_console_init first.
46059 Change the memory range used for grub_ieee1275_claim and
46060 grub_mm_init_region.
46061 Print an error message if the claim fails.
46062 Include <grub/misc.h>.
46063
46064 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
46065
46066 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
46067 Call grub_children_iterate for device nodes of type `scsi',
46068 `ide', or `ata'.
46069 (grub_ofdisk_open): Remove manual device alias resolution.
46070 Fix memory leak when device cannot be opened.
46071 * include/grub/powerpc/ieee1275/ieee1275.h
46072 (grub_children_iterate): New prototype.
46073 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
46074 New function.
46075 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
46076 Return -1 if args.size was -1.
46077
46078 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
46079
46080 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
46081 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
46082 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
46083 Open Firmware's memory for it; claim memory from _start to _end.
46084 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
46085 (_end): New extern.
46086 (_start): Zero BSS from __bss_start to _end.
46087 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
46088 New extern.
46089 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
46090
46091 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
46092
46093 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
46094 -1 if args.base was -1.
46095
46096 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
46097
46098 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
46099 escape sequence instead of a literal ^L. Also call
46100 grub_ofconsole_gotoxy.
46101
46102 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
46103
46104 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
46105 void * arguments to grub_addr_t. All callers updated. Also make
46106 the `result' argument optional.
46107 (grub_ieee1275_release): change void * arguments to grub_addr_t.
46108 All callers updated.
46109
46110 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
46111
46112 * commands/ls.c (grub_ls_list_files): Use the string following the
46113 initial ')', if present, as the filesystem path.
46114 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
46115
46116 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
46117
46118 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
46119
46120 Make the source code of the menu interface more readable.
46121
46122 * normal/menu.c: Include grub/mm.h.
46123 (TERM_WIDTH): New macro.
46124 (TERM_HEIGHT): Likewise.
46125 (TERM_INFO_HEIGHT): Likewise.
46126 (TERM_MARGIN): Likewise.
46127 (TERM_SCROLL_WIDTH): Likewise.
46128 (TERM_TOP_BORDER_Y): Likewise.
46129 (TERM_LEFT_BORDER_X): Likewise.
46130 (TERM_BORDER_WIDTH): Likewise.
46131 (TERM_MESSAGE_HEIGHT): Likewise.
46132 (TERM_BORDER_HEIGHT): Likewise.
46133 (TERM_NUM_ENTRIES): Likewise.
46134 (TERM_FIRST_ENTRY_Y): Likewise.
46135 (TERM_ENTRY_WIDTH): Likewise.
46136 (TERM_CURSOR_X): Likewise.
46137 (draw_border): Use macros instead of magic numbers.
46138 (print_entry): Likewise.
46139 (print_entries): Likewise.
46140 (run_menu): Likewise. Also, handle the key 'e'.
46141 (run_menu_entry): Ignore empty command lines.
46142 (print_message): Added a new argument EDIT. If EDIT is true,
46143 print a different message.
46144 (init_page): Likewise.
46145 (edit_menu_entry): New function. Not implemented yet.
46146
46147 2004-09-17 Marco Gerards <metgerards@student.han.nl>
46148
46149 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
46150 can be loaded from normal mode.
46151
46152 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
46153 `multiboot.mod'.
46154 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
46155 (multiboot_mod_CFLAGS): New variables.
46156 * loader/i386/pc/linux_normal.c: New file.
46157 * loader/i386/pc/multiboot_normal.c: Likewise.
46158
46159 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
46160 attribute `unused'.
46161
46162 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
46163 `fdiro' to read the mode information from instead of `diro'.
46164
46165 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
46166 looking up a symlink.
46167
46168 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
46169 macro.
46170 * normal/command.c (grub_command_execute): Don't parse the
46171 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
46172 flags of the command.
46173
46174 * normal/menu.c (grub_menu_run): Fix typo.
46175
46176 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
46177
46178 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
46179
46180 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
46181 `y + 1' instead of `y - 1'.
46182
46183 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
46184
46185 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
46186
46187 From Hollis Blanchard <hollis@penguinppc.org>:
46188 * kern/misc.c (memmove): New alias for grub_memmove.
46189 (memcmp): New alias for grub_memcmp.
46190 (memset): New alias for grub_memset.
46191 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
46192 Change "int handle" to "grub_ieee1275_phandle_t handle".
46193 * include/grub/powerpc/ieee1275/ieee1275.h
46194 (grub_ieee1275_get_property): Likewise.
46195
46196 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
46197
46198 Added normal mode command `chainloader' as module chain.mod, which
46199 depends on normal.mod and _chain.mod.
46200
46201 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
46202 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
46203 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
46204 Deleted prototype.
46205 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
46206 but arguments parsing moved to ...
46207 (grub_chainloader_cmd): ... here. New function.
46208 * include/grub/i386/pc/chainloader.h: New file.
46209 * loader/i386/pc/chainloader_normal.c: Likewise.
46210
46211 2004-09-11 Marco Gerards <metgerards@student.han.nl>
46212
46213 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
46214 (grub_mkimage_LDFLAGS): Likewise.
46215 (grub_emu_SOURCES): Likewise.
46216 (kernel_img_HEADERS): Added fshelp.h.
46217 * fs/ext2.c: Include <grub/fshelp.h>.
46218 (FILETYPE_REG): New macro.
46219 (FILETYPE_INO_REG): Likewise.
46220 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
46221 Changed all users.
46222 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
46223 all users.
46224 (grub_fshelp_node): New struct.
46225 (grub_ext2_data): Added member `diropen'. Changed member `inode'
46226 to a pointer.
46227 (grub_ext2_get_file_block): Removed function.
46228 (grub_ext2_read_block): New function.
46229 (grub_ext2_read_file): Replaced parameter `data' by `node'.
46230 This function was written.
46231 (grub_ext2_mount): Read the root inode. Create a diropen struct.
46232 (grub_ext2_find_file): Removed function.
46233 (grub_ext2_read_symlink): New function.
46234 (grub_ext2_iterate_dir): Likewise.
46235 (grub_ext2_open): Rewritten.
46236 (grub_ext2_dir): Rewritten.
46237 * include/grub/fshelp.h: New file.
46238 * fs/fshelp.c: Likewise.
46239
46240 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
46241
46242 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
46243 (print_message): Add a missing newline.
46244 (run_menu): Added timeout support.
46245 (run_menu_entry): New local function.
46246 (grub_menu_run): Added support for booting.
46247
46248 * kern/loader.c (grub_loader_is_loaded): New function.
46249
46250 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
46251 (grub_get_rtc): Exported.
46252
46253 * include/grub/i386/pc/time.h: Include grub/symbol.h.
46254 (grub_get_rtc): Exported.
46255
46256 * include/grub/normal.h (struct grub_command_list): Remove
46257 constant from the member `command'.
46258
46259 * include/grub/loader.h (grub_loader_is_loaded): Declared.
46260
46261 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
46262
46263 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
46264
46265 2004-08-28 Marco Gerards <metgerards@student.han.nl>
46266
46267 Add support for the JFS filesystem.
46268
46269 * fs/jfs.c: New file.
46270 * include/grub/fs.h (grub_jfs_init): New prototype.
46271 (grub_jfs_fini): New prototype.
46272 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
46273 (grub_emu_SOURCES): Likewise.
46274 (pkgdata_MODULES): Add jfs.mod.
46275 (jfs_mod_SOURCES): New variable.
46276 (jfs_mod_CFLAGS): Likewise.
46277 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
46278 (grubof_SOURCES): Likewise.
46279 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
46280
46281 * fs/fat.c (grub_fat_find_dir): Convert the filename little
46282 endian to the host endian.
46283 (grub_fat_utf16_to_utf8): Move function from there...
46284 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
46285 the endianness of the source string anymore.
46286 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
46287
46288 2004-08-24 Marco Gerards <metgerards@student.han.nl>
46289
46290 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
46291 (grub_boot_fini) [GRUB_UTIL]: Likewise.
46292 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
46293 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
46294
46295 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
46296 (grub_hfs_iterate_dir): Make the function static. Add prototypes
46297 for `node_found' and `it_dir'.
46298 (grub_hfs_dir): Add prototype for `dir_hook'.
46299
46300 * fs/minix.c (grub_minix_get_file_block): Add prototype for
46301 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
46302 and `indir32' to silence a gcc warning.
46303
46304 * include/grub/fs.h (grub_hfs_init): New prototype.
46305 (grub_hfs_fini): Likewise.
46306
46307
46308 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
46309
46310 Each disk device has its own id now. This is useful to make use
46311 of multiple disk devices.
46312
46313 * include/grub/disk.h (grub_disk_dev_id): New enum.
46314 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
46315 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
46316
46317 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
46318 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
46319
46320 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
46321 GRUB_DISK_DEVICE_OFDISK_ID as an id.
46322
46323 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
46324 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
46325
46326 * include/grub/disk.h (struct grub_disk_dev): Added a new member
46327 "id" which is used by the cache manager.
46328
46329 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
46330 of just "GRUB".
46331
46332 2004-08-18 Marco Gerards <metgerards@student.han.nl>
46333
46334 * fs/hfs.c: New file.
46335 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
46336 (grub_emu_SOURCES): Likewise.
46337 (pkgdata_MODULES): Add hfs.mod.
46338 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
46339 (grubof_SOURCES): Likewise.
46340 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
46341
46342 * include/grub/misc.h (grub_strncasecmp): Add prototype.
46343 * kern/misc.c (grub_strncasecmp): Add function.
46344
46345 2004-08-14 Marco Gerards <metgerards@student.han.nl>
46346
46347 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
46348 with parentheses.
46349
46350 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
46351 (grub_ext2_dir): In case the directory entry type is unknown, read
46352 it from the inode.
46353
46354 2004-08-02 Peter Bruin <pjbruin@dds.nl>
46355
46356 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
46357 grub_load_linux instead of grub_rescue_cmd_linux as second
46358 argument of grub_rescue_register_command.
46359
46360 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
46361
46362 2004-07-27 Marco Gerards <metgerards@student.han.nl>
46363
46364 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
46365 function.
46366 * commands/boot.c: Remove the check for `GRUB_UTIL'.
46367 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
46368 `loader/powerpc/ieee1275/linux.c',
46369 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
46370 * include/grub/powerpc/ieee1275/ieee1275.h
46371 (grub_ieee1275_release): New prototype.
46372 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
46373 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
46374 normal, boot, linux and linux_normal.
46375 * loader/powerpc/ieee1275/linux.c: New file.
46376 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46377
46378 2004-07-12 Marco Gerards <metgerards@student.han.nl>
46379
46380 * normal/arg.c (grub_arg_parse): Correct error handling after
46381 reallocating the argumentlist (check if `argl' is not null instead
46382 of checking if `args' is not null).
46383 * kern/mm.c (grub_realloc): Return the same pointer when using the
46384 same region, instead of returning the header address.
46385
46386 2004-07-11 Marco Gerards <metgerards@student.han.nl>
46387
46388 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
46389 one block instead of two when looking for the initial partition.
46390 (grub_partition_probe): Initialize the local variable `p' with 0.
46391 Use base 10 for the grub_strtoul call.
46392 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
46393 need for one local variable.
46394 (grub_strtoul): Don't add the new value to `num', instead of that
46395 just assign it.
46396
46397 2004-07-11 Marco Gerards <metgerards@student.han.nl>
46398
46399 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
46400 (pxeboot_img_SOURCES): New variable.
46401 (pxeboot_img_ASFLAGS): Likewise.
46402 (pxeboot_img_LDFLAGS): Likewise.
46403 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
46404 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
46405 <lode_leroy@hotmail.com>.
46406
46407 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46408
46409 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
46410 there was no input.
46411
46412 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46413
46414 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
46415 the history buffer logic.
46416
46417 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46418
46419 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
46420 (FILETYPE_INO_SYMLINK): New macros.
46421 (grub_ext2_find_file): Check if the node is a directory using the
46422 inode stat information instead of using the filetype in the
46423 dirent. Exclude the first character of an absolute symlink.
46424 (grub_ext2_dir): Mask out the filetype part of the mode member of
46425 the inode.
46426
46427 2004-05-24 Marco Gerards <metgerards@student.han.nl>
46428
46429 Add support for UFS version 1 and 2. Add support for the minix
46430 filesystem version 1 and 2, both the variants with 14 and 30 long
46431 filenames.
46432
46433 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
46434 fs/minix.c.
46435 (grub_emu_SOURCES): Likewise.
46436 (pkgdata_MODULES): Add ufs.mod and minix.mod.
46437 (ufs_mod_SOURCES): New variable.
46438 (ufs_mod_CFLAGS): Likewise.
46439 (minix_mod_SOURCES): Likewise.
46440 (minix_mod_CFLAGS): Likewise.
46441 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
46442 fs/minix.c.
46443 (grubof_SOURCES): Likewise.
46444 * fs/ufs.c: New file.
46445 * fs/minix.c: New file.
46446 * include/grub/fs.h (grub_ufs_init): New prototype.
46447 (grub_ufs_fini): Likewise.
46448 (grub_minix_init): Likewise.
46449 (grub_minix_fini): Likewise.
46450 * util/grub-emu.c (main): Initialize and deinitialize UFS and
46451 minix fs.
46452
46453 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
46454
46455 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
46456 commands/ls.c, commands/terminal.c, commands/boot.c,
46457 commands/cmp.c and commands/cat.c.
46458 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
46459
46460 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
46461 "env.h"
46462
46463 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
46464
46465 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
46466 and grub_, respectively. Because the conversion is trivial and
46467 mechanical, I omit the details here. Please refer to the CVS
46468 if you need more information.
46469
46470 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
46471
46472 * include/pupa: Renamed to ...
46473 * include/grub: ... this.
46474 * util/i386/pc/pupa-mkimage.c: Renamed to ...
46475 * util/i386/pc/grub-mkimage.c: ... this.
46476 * util/i386/pc/pupa-setup.c: Renamed to ...
46477 * util/i386/pc/grub-setup.c: ... this.
46478 * util/pupa-emu.c: Renamed to ...
46479 * util/grub-emu.c: ... this.
46480
46481 2004-03-29 Marco Gerards <metgerards@student.han.nl>
46482
46483 Add support for the newworld apple macintosh (PPC). This has been
46484 tested on the powerbook 2000 only. It only adds support for
46485 generic ieee1275 functions, console and disk support. This should
46486 be easy to port to other architectures with support for Open
46487 Firmware.
46488
46489 * configure.ac: Accept the powerpc as host_cpu. In the case of
46490 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
46491 specific tests are only executed while building for the i386.
46492 Inverse test for crosscompile.
46493 * genmk.rb (Utility): Allow assembler files.
46494 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
46495 * conf/powerpc-ieee1275.rmk: New file.
46496 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
46497 * disk/powerpc/ieee1275/partition.c: Likewise.
46498 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
46499 * include/pupa/powerpc/ieee1275/console.h: Likewise.
46500 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
46501 * include/pupa/powerpc/ieee1275/time.h: Likewise.
46502 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
46503 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
46504 * include/pupa/powerpc/ieee1275/loader.h
46505 * include/pupa/powerpc/setjmp.h: Likewise.
46506 * include/pupa/powerpc/types.h: Likewise.
46507 * kern/powerpc/ieee1275/init.c: Likewise.
46508 * kern/powerpc/ieee1275/openfw.c: Likewise.
46509 * term/powerpc/ieee1275/ofconsole.c: Likewise.
46510
46511 These files were written by Johan Rydberg
46512 (jrydberg@night.trouble.net) and I only modified them slightly.
46513
46514 * boot/powerpc/ieee1275/cmain.c: New file.
46515 * boot/powerpc/ieee1275/crt0.S: Likewise.
46516 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
46517 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
46518
46519 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
46520
46521 * Makefile.in: Update copyright.
46522 * genmodsrc.sh: Likewise.
46523 * gensymlist.sh: Likewise.
46524 * term/i386/pc/vga.c: Indent correctly.
46525
46526 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
46527 bugreporting address.
46528 * util/i386/pc/pupa-setup.c (usage): Likewise,
46529 (main): Call pupa_ext2_init and pupa_ext2_fini.
46530
46531 * fs/fat.c (log2): Renamed to ...
46532 (fat_log2): ... this.
46533 All callers changed.
46534 * kern/misc.c (memcpy): Alias to pupa_memmove.
46535 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
46536 lvalue cast.
46537 * util/console.c (pupa_ncurses_fini): Return 0.
46538
46539 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
46540 Move fail label here.
46541 [__GNU__]: Don't warn when using stat.
46542 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
46543 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
46544 long int. Use strtol instead of strtoul.
46545
46546 2004-03-14 Marco Gerards <metgerards@student.han.nl>
46547
46548 * commands/boot.c: New file.
46549 * commands/cat.c: Likewise.
46550 * commands/cmp.c: Likewise.
46551 * commands/ls.c: Likewise.
46552 * commands/terminal.c: Likewise.
46553 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
46554 (pupa_register_command): Changed interface to match the new
46555 argument parser.
46556 (pupa_command_execute): Changed (almost rewritten) so it uses
46557 pupa_split_command. Added support for setting variables using the
46558 syntax `foo=bar'.
46559 (rescue_command): Changed to work with the new argument parser.
46560 (terminal_command): Moved from here to commands/terminal.c.
46561 (set_command): New function.
46562 (unset_command): New function.
46563 (insmod_command): New function.
46564 (rmmod_command): New function.
46565 (lsmod_command): New function.
46566 (pupa_command_init): Don't initialize the command terminal
46567 anymore. Initialize the commands set, unset, insmod, rmmod and
46568 lsmod.
46569 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
46570 (kernel_img_HEADERS): Add arg.h and env.h.
46571 (pupa_mkimage_LDFLAGS): Add kern/env.c.
46572 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
46573 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
46574 normal/arg.c.
46575 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
46576 terminal.mod.
46577 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
46578 (boot_mod_SOURCES): New variable.
46579 (terminal_mod_SOURCES): Likewise.
46580 (ls_mod_SOURCES): Likewise.
46581 (cmp_mod_SOURCES): Likewise.
46582 (cat_mod_SOURCES): Likewise.
46583
46584 * normal/arg.c: New file.
46585 * kern/env.c: Likewise.
46586 * include/pupa/arg.h: Likewise.
46587 * include/pupa/env.h: Likewise.
46588 * font/manager.c (font_command): Changed to match argument parsing
46589 interface changes.
46590 (PUPA_MOD_INIT): Likewise.
46591 * hello/hello.c (pupa_cmd_hello): Likewise.
46592 (PUPA_MOD_INIT): Likewise.
46593 * include/pupa/disk.h: Include <pupa/device.h>.
46594 (pupa_print_partinfo): New prototype.
46595 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
46596 (pupa_dl_get_prefix): Likewise.
46597 * include/pupa/misc.h: Include <pupa/err.h>.
46598 (pupa_isgraph): New prototype.
46599 (pupa_isdigit): Likewise.
46600 (pupa_split_cmdline): Likewise.
46601 * include/pupa/normal.h: Include <pupa/arg.h>.
46602 (pupa_command): Changed the prototype of the member `func' to
46603 match the argument parsing interface. Added member `options'.
46604 (pupa_register_command): Updated to match function.
46605 (pupa_arg_parse): New prototype.
46606 (pupa_hello_init) [PUPA_UTIL]: New prototype.
46607 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
46608 (pupa_ls_init) [PUPA_UTIL]: Likewise.
46609 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
46610 (pupa_cat_init) [PUPA_UTIL]: Likewise.
46611 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
46612 (pupa_boot_init) [PUPA_UTIL]: Likewise.
46613 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
46614 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
46615 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
46616 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
46617 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
46618 * kern/disk.c: Include <pupa/file.h>.
46619 (pupa_print_partinfo): New function.
46620 * kern/dl.c: Include <pupa/env.h>.
46621 (pupa_dl_dir): Variable removed.
46622 (pupa_dl_load): Use the environment variable `prefix' instead of
46623 the variable pupa_dl_dir.
46624 (pupa_dl_set_prefix): Function removed.
46625 (pupa_dl_get_prefix): Likewise.
46626 * kern/i386/pc/init.c: Include <pupa/env.h>.
46627 (pupa_machine_init): Use the environment variable `prefix' instead of
46628 using pupa_dl_set_prefix to set the prefix.
46629 * kern/main.c: Include <pupa/env.h>.
46630 (pupa_set_root_dev): Use the environment variable `prefix' instead of
46631 using pupa_dl_get_prefix to get the prefix.
46632 * kern/misc.c: Include <pupa/env.h>.
46633 (pupa_isdigit): New function.
46634 (pupa_isgraph): Likewise.
46635 (pupa_ftoa): Likewise.
46636 (pupa_vsprintf): Added support for printing values of the type
46637 `double'. Make it possible to format variable output when using
46638 formatting like `%1.2%f'.
46639 (pupa_split_cmdline): New function.
46640 * kern/rescue.c: Include <pupa/env.h>.
46641 (next_word): Removed function.
46642 (pupa_rescue_cmd_prefix): Likewise.
46643 (pupa_rescue_cmd_set): New function.
46644 (pupa_rescue_cmd_unset): New function.
46645 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
46646 split the command line instead of splitting it here. Added
46647 support for setting variables using the syntax `foo=bar'. Don't
46648 initialize the prefix command anymore. Initialized the set and
46649 unset commands.
46650 * normal/cmdline.c: Include <pupa/env.h>.
46651 (pupa_tab_complete): Added prototypes for print_simple_completion,
46652 print_partition_completion, add_completion, iterate_commands,
46653 iterate_dev, iterate_part and iterate_dir. Moved code to print
46654 partition information from here to kern/disk.c.
46655 (pupa_cmdline_run): Don't check if the function exists anymore.
46656 * normal/main.c: Include <pupa/env.h>.
46657 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
46658 instead of using pupa_dl_get_prefix to get the prefix.
46659 * term/i386/pc/vga.c: Include <pupa/arg.h>.
46660 (check_vga_mem): Cast pointers to `void *' to silence a gcc
46661 warning.
46662 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
46663 (pupa_vga_setcolor): Declare unused variables with `__attribute__
46664 ((unused))' to silence a gcc warning.
46665 (pupa_vga_setcolor): Likewise.
46666 (debug_command): Changed to match argument parsing
46667 interface changes.
46668 * util/pupa-emu.c: Include <pupa/env.h>.
46669 (options): Added 0's for unused fields to silence a gcc warning.
46670 (argp): Likewise.
46671 (main): Use the environment variable `prefix' instead of using
46672 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
46673 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
46674 and terminal.
46675
46676 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
46677 * util/misc.c: Include <malloc.h>.
46678 (pupa_malloc): Rewritten so errors are correctly reported.
46679 (pupa_realloc): Likewise.
46680 (pupa_memalign): Likewise.
46681 (pupa_mm_init_region): Declare unused variables with
46682 `__attribute__ ((unused))' to silence a gcc warning.
46683 * normal/i386/setjmp.S: Remove tab at the end of the file to
46684 silence a gcc warning.
46685 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
46686 variables with `__attribute__ ((unused))' to silence a gcc
46687 warning.
46688 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
46689 local variable i unsigned to silence a gcc warning.
46690
46691 * kern/term.c: Include <pupa/misc.h>.
46692 (pupa_more_lines): New variable.
46693 (pupa_more): Likewise.
46694 (pupa_putcode): When the pager is active pause at the end of every
46695 screen.
46696 (pupa_set_more): New function.
46697 * include/pupa/term.h (pupa_set_more): New prototype.
46698
46699
46700 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
46701
46702 Now this project is GRUB 2 rather than PUPA. The location of
46703 the CVS repository was moved to GRUB's.
46704
46705 * configure.ac: Use bug-grub as the reporting address.
46706 Use GRUB instead of PUPA.
46707 Change the version number to 1.90.
46708
46709 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
46710
46711 * genkernsyms.sh: Updated copyright information.
46712 * genmk.rb: Likewise.
46713 * genmodsrc.sh: Likewise.
46714 * gensymlist.sh: Likewise.
46715 * boot/i386/pc/boot.S: Likewise.
46716 * boot/i386/pc/diskboot.S: Likewise.
46717 * disk/i386/pc/biosdisk.c: Likewise.
46718 * disk/i386/pc/partition.c: Likewise.
46719 * font/manager.c: Likewise.
46720 * fs/ext2.c: Likewise.
46721 * fs/fat.c: Likewise.
46722 * include/pupa/boot.h: Likewise.
46723 * include/pupa/device.h: Likewise.
46724 * include/pupa/disk.h: Likewise.
46725 * include/pupa/dl.h: Likewise.
46726 * include/pupa/elf.h: Likewise.
46727 * include/pupa/err.h: Likewise.
46728 * include/pupa/file.h: Likewise.
46729 * include/pupa/font.h: Likewise.
46730 * include/pupa/fs.h: Likewise.
46731 * include/pupa/kernel.h: Likewise.
46732 * include/pupa/loader.h: Likewise.
46733 * include/pupa/misc.h: Likewise.
46734 * include/pupa/mm.h: Likewise.
46735 * include/pupa/net.h: Likewise.
46736 * include/pupa/normal.h: Likewise.
46737 * include/pupa/rescue.h: Likewise.
46738 * include/pupa/setjmp.h: Likewise.
46739 * include/pupa/symbol.h: Likewise.
46740 * include/pupa/term.h: Likewise.
46741 * include/pupa/types.h: Likewise.
46742 * include/pupa/i386/setjmp.h: Likewise.
46743 * include/pupa/i386/types.h: Likewise.
46744 * include/pupa/i386/pc/biosdisk.h: Likewise.
46745 * include/pupa/i386/pc/boot.h: Likewise.
46746 * include/pupa/i386/pc/console.h: Likewise.
46747 * include/pupa/i386/pc/init.h: Likewise.
46748 * include/pupa/i386/pc/kernel.h: Likewise.
46749 * include/pupa/i386/pc/linux.h: Likewise.
46750 * include/pupa/i386/pc/loader.h: Likewise.
46751 * include/pupa/i386/pc/memory.h: Likewise.
46752 * include/pupa/i386/pc/multiboot.h: Likewise.
46753 * include/pupa/i386/pc/partition.h: Likewise.
46754 * include/pupa/i386/pc/time.h: Likewise.
46755 * include/pupa/i386/pc/vga.h: Likewise.
46756 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
46757 * include/pupa/util/getroot.h: Likewise.
46758 * include/pupa/util/misc.h: Likewise.
46759 * include/pupa/util/resolve.h: Likewise.
46760 * kern/device.c: Likewise.
46761 * kern/disk.c: Likewise.
46762 * kern/dl.c: Likewise.
46763 * kern/err.c: Likewise.
46764 * kern/file.c: Likewise.
46765 * kern/fs.c: Likewise.
46766 * kern/loader.c: Likewise.
46767 * kern/main.c: Likewise.
46768 * kern/misc.c: Likewise.
46769 * kern/mm.c: Likewise.
46770 * kern/rescue.c: Likewise.
46771 * kern/term.c: Likewise.
46772 * kern/i386/dl.c: Likewise.
46773 * kern/i386/pc/init.c: Likewise.
46774 * kern/i386/pc/lzo1x.S: Likewise.
46775 * kern/i386/pc/startup.S: Likewise.
46776 * loader/i386/pc/chainloader.c: Likewise.
46777 * loader/i386/pc/linux.c: Likewise.
46778 * loader/i386/pc/multiboot.c: Likewise.
46779 * normal/cmdline.c: Likewise.
46780 * normal/command.c: Likewise.
46781 * normal/main.c: Likewise.
46782 * normal/menu.c: Likewise.
46783 * normal/i386/setjmp.S: Likewise.
46784 * term/i386/pc/console.c: Likewise.
46785 * term/i386/pc/vga.c: Likewise.
46786 * util/console.c: Likewise.
46787 * util/genmoddep.c: Likewise.
46788 * util/misc.c: Likewise.
46789 * util/pupa-emu.c: Likewise.
46790 * util/resolve.c: Likewise.
46791 * util/unifont2pff.rb: Likewise.
46792 * util/i386/pc/biosdisk.c: Likewise.
46793 * util/i386/pc/getroot.c: Likewise.
46794 * util/i386/pc/pupa-mkimage.c: Likewise.
46795 * util/i386/pc/pupa-setup.c: Likewise.
46796
46797 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
46798
46799 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
46800 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
46801 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
46802 reading and reset it after reading.
46803 (pupa_ext2_close): Return PUPA_ERR_NONE.
46804
46805 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
46806 Correct value.
46807 (struct linux_kernel_header): Add kernel_version and
46808 initrd_addr_max.
46809 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
46810 pupa_file_read succeeds.
46811 (pupa_rescue_cmd_initrd): Implement.
46812
46813 2003-12-03 Marco Gerards <metgerards@student.han.nl>
46814
46815 * fs/ext2.c (pupa_ext2_label): New function.
46816 (pupa_ext2_fs): Added label.
46817 * fs/fat.c (pupa_fat_label): New function.
46818 (pupa_fat_fs): Added label.
46819 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
46820
46821 * kern/misc.c (pupa_strndup): New function.
46822 * include/pupa/misc.h (pupa_strndup): New prototype.
46823
46824 * include/pupa/normal.h: Include <pupa/err.h>.
46825 (pupa_set_history): New prototype.
46826 (pupa_iterate_commands): New prototype.
46827 * normal/cmdline.c: Include <pupa/machine/partition.h>,
46828 <pupa/disk.h>, <pupa/file.h>.
46829 (hist_size): New variable.
46830 (hist_lines): Likewise.
46831 (hist_end): Likewise.
46832 (hist_used): Likewise.
46833 (pupa_set_history): New function.
46834 (pupa_history_get): Likewise.
46835 (pupa_history_add): Likewise.
46836 (pupa_history_replace): Likewise.
46837 (pupa_tab_complete): Likewise.
46838 (pupa_cmdline_run): Added tab completion and history buffer. Tab
46839 completion shows partitionnames while completing partitions, this
46840 feature was suggested by Jeff Bailey.
46841 * normal/command.c (pupa_iterate_commands): New function.
46842 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
46843 (pupa_normal_init): Initialize history buffer.
46844 (PUPA_MOD_INIT): Likewise.
46845 (pupa_normal_fini): Free the history buffer.
46846 (PUPA_MOD_FINI): Likewise.
46847
46848 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
46849 key.
46850
46851 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
46852 * configure.ac [i386]: Check for regparam bug.
46853 (NESTED_FUNC_ATTR) [! i386]: Defined.
46854
46855 2003-11-17 Marco Gerards <metgerards@student.han.nl>
46856
46857 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
46858 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
46859 (pupa_emu_SOURCES): New variable.
46860 (pupa_emu_LDFLAGS): Likewise.
46861 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
46862 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
46863 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
46864 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46865 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
46866 (pupa_jmp_buf): New typedef.
46867 (pupa_setjmp) [PUPA_UTIL]: New macro.
46868 (pupa_longjmp) [PUPA_UTIL]: Likewise.
46869 * include/pupa/term.h (struct pupa_term): New member `refresh'.
46870 (pupa_refresh): New prototype.
46871 * include/pupa/util/getroot.h: New file.
46872 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
46873 it.
46874 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
46875 (pupa_rescue_cmd_cat): Likewise.
46876 (pupa_rescue_cmd_ls): Likewise.
46877 (pupa_rescue_cmd_testload): Likewise.
46878 (pupa_rescue_cmd_lsmod): Likewise.
46879 * normal/cmdline.c (pupa_cmdline_get): Likewise.
46880 * normal/menu.c (run_menu): Likewise.
46881 * kern/term.c (pupa_cls): Likewise.
46882 (pupa_refresh): New function.
46883 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
46884 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46885 * util/console.c: New file.
46886
46887 * util/i386/pc/getroot.c: New file.
46888 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
46889 (pupa_putchar): New function.
46890 (pupa_refresh): Likewise.
46891 (xgetcwd): Function moved to ...
46892 (strip_extra_slashes): Likewise.
46893 (get_prefix): Likewise.
46894 * util/i386/pc/getroot.c: ... here.
46895 (find_root_device): Function moved and renamed to...
46896 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
46897 Changed all callers.
46898 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
46899 and renamed to...
46900 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
46901 Changed all callers.
46902 * util/misc.c (pupa_memalign): New function.
46903 (pupa_mm_init_region): Likewise.
46904 (pupa_register_exported_symbols): Likewise.
46905 (pupa_putchar): Function removed.
46906 * util/pupa-emu.c: New file.
46907
46908 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
46909
46910 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
46911 (_multiboot_mod_SOURCES): New variable.
46912 (_multiboot_mod_CFLAGS): Likewise.
46913 * loader/i386/pc/multiboot.c: New file.
46914 * include/pupa/i386/pc/multiboot.h: Likewise.
46915 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
46916 (pupa_multiboot_real_boot): New function.
46917 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
46918 (pupa_multiboot_real_boot): New prototype.
46919 (pupa_rescue_cmd_multiboot): Likewise
46920 (pupa_rescue_cmd_module): Likewise.
46921
46922 * kern/loader.c (pupa_loader_set): Continue when
46923 pupa_loader_unload_func() fails.
46924 (pupa_loader_unset): New function.
46925 * include/pupa/loader.h (pupa_loader_unset): New prototype.
46926
46927 * kern/misc.c (pupa_stpcpy): New function.
46928 * include/pupa/misc.h (pupa_stpcpy): New prototype.
46929
46930 2003-11-12 Marco Gerards <metgerards@student.han.nl>
46931
46932 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
46933 for available extensions.
46934
46935 * include/pupa/i386/pc/time.h: New file.
46936 * kern/disk.c: Include <pupa/machine/time.h>.
46937 (PUPA_CACHE_TIMEOUT): New macro.
46938 (pupa_last_time): New variable.
46939 (pupa_disk_open): Flush the cache when there was a timeout.
46940 (pupa_disk_close): Reset the timer.
46941 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
46942 pupa_currticks.
46943 * util/misc.c: Include <sys/times.h>
46944 (pupa_get_rtc): New function.
46945
46946 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46947
46948 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
46949 as blocks.
46950 (pupa_ext2_get_file_block): Use blocks member.
46951
46952 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
46953 first block. Return -1 instead of pupa_errno on error.
46954
46955 2003-10-27 Marco Gerards <metgerards@student.han.nl>
46956
46957 * README: In the pupa-mkimage example use _chain instead of chain
46958 and ext2 instead of fat.
46959 * TODO: Replace ext2fs with jfs as an example. Add an item for
46960 adding journal playback for ext2fs.
46961 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
46962 (pkgdata_MODULES): Added ext2.mod.
46963 (ext2_mod_SOURCES): New variable.
46964 (ext2_mod_CFLAGS): Likewise.
46965 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
46966 * include/pupa/misc.h (pupa_strncpy): New prototype.
46967 (pupa_strcat): Likewise.
46968 (pupa_strncmp): Likewise.
46969 * kern/misc.c (pupa_strcat): Enable function.
46970 (pupa_strncpy): New function.
46971 (pupa_strncmp): Likewise.
46972 * fs/ext2.c: New file.
46973
46974 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
46975 when the read failed before retrying.
46976 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
46977 (_FILE_OFFSET_BITS): Likewise.
46978 * configure.ac: Added AC_SYS_LARGEFILE.
46979
46980 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46981
46982 * genmk.rb (PModule#rule): Make sure to get only symbol names
46983 from the output of nm.
46984 Reported by Robert Millan <rmh.grub@aybabtu.com>.
46985
46986 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46987
46988 I forgot to check in these changes for a long time. This adds
46989 incomplete support for VGA console, and this is still very
46990 buggy. Also, a lot of consideration is required for I18N,
46991 UNICODE, and VGA font issues. Therefore, assume that this is
46992 such that "better than nothing".
46993
46994 * font/manager.c: New file.
46995 * include/pupa/font.h: Likewise.
46996 * include/pupa/i386/pc/vga.h: Likewise.
46997 * term/i386/pc/vga.c: Likewise.
46998 * util/unifont2pff.rb: Likewise.
46999
47000 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
47001 (pkgdata_MODULES): Added vga.mod and font.mod.
47002 (vga_mod_SOURCES): New variables.
47003 (vga_mod_CFLAGS): Likewise.
47004 (font_mod_SOURCES): Likewise.
47005 (font_mod_CFLAGS): Likewise.
47006
47007 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
47008
47009 * include/pupa/term.h: Include pupa/err.h.
47010 (struct pupa_term): Added init and fini.
47011 Changed the argument of putchar to pupa_uint32_t.
47012
47013 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
47014 (pupa_console_real_putchar): New prototype.
47015 (pupa_console_putchar): Removed.
47016 (pupa_console_checkkey): Exported.
47017 (pupa_console_getkey): Likewise.
47018
47019 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
47020 characters.
47021
47022 * kern/term.c (pupa_term_set_current): Rewritten.
47023 (pupa_putchar): Likewise.
47024 (pupa_putcode): New function.
47025
47026 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
47027 (pupa_console_real_putchar): ... this.
47028 (pupa_vga_set_mode): New function.
47029 (pupa_vga_get_font): Likewise.
47030
47031 * normal/command.c: Include pupa/term.h.
47032 (terminal_command): New function.
47033 (pupa_command_init): Register the command "terminal".
47034
47035 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
47036 (DISP_UP): Likewise.
47037 (DISP_RIGHT): Likewise.
47038 (DISP_DOWN): Likewise.
47039 (DISP_HLINE): Likewise.
47040 (DISP_VLINE): Likewise.
47041 (DISP_UL): Likewise.
47042 (DISP_UR): Likewise.
47043 (DISP_LL): Likewise.
47044 (DISP_LR): Likewise.
47045
47046 * term/i386/pc/console.c (pupa_console_putchar): New function.
47047
47048 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
47049
47050 * util/resolve.c (pupa_util_resolve_dependencies): BUG
47051 FIX. Reverse the path_list.
47052
47053 * include/pupa/normal.h: Export pupa_register_command and
47054 pupa_unregister_command.
47055
47056 * hello/hello.c (pupa_cmd_hello): New module.
47057 * conf/i386-pc.rmk: Added hello.mod.
47058
47059 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
47060
47061 * kern/i386/pc/lzo1x.S: New file.
47062
47063 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
47064 (compress_kernel): New variable.
47065 (generate_image): Heavily modified to support compressing a
47066 large part of the core image.
47067
47068 * util/misc.c (pupa_util_read_image): Fix a file descriptor
47069 leak.
47070 (pupa_util_load_image): New function.
47071
47072 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
47073 (pupa_compressed_size): New variable.
47074 (codestart): Enable Gate A20 here.
47075 Decompress the compressed part of the core image.
47076 Rearrange the code to put functions and variables which are
47077 required for initialization in the non-compressed part.
47078 Include lzo1x.S.
47079
47080 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
47081 here.
47082
47083 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
47084
47085 * include/pupa/i386/pc/kernel.h
47086 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
47087 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
47088 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
47089 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
47090 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
47091
47092 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
47093
47094 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
47095 (Utility#rule): Likewise.
47096
47097 * configure.ac: Check if LZO is available.
47098
47099 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
47100
47101 * include/pupa/normal.h: New file.
47102 * include/pupa/setjmp.h: Likewise.
47103 * include/pupa/i386/setjmp.h: Likewise.
47104 * normal/cmdline.c: Likewise.
47105 * normal/command.c: Likewise.
47106 * normal/main.c: Likewise.
47107 * normal/menu.c: Likewise.
47108 * normal/i386/setjmp.S: Likewise.
47109
47110 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
47111 (pupa_rescue_cmd_initrd): Likewise.
47112
47113 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
47114 Likewise.
47115
47116 * kern/i386/pc/startup.S (translation_table): New variable.
47117 (translate_keycode): New function.
47118 (pupa_console_getkey): Call translate_keycode.
47119
47120 * kern/rescue.c (attempt_normal_mode): New function.
47121 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
47122 it failed, print a message.
47123
47124 * kern/mm.c (pupa_real_malloc): Print more information when a
47125 free magic is broken.
47126 (pupa_free): If the first free header is not free actually, set
47127 it to P.
47128
47129 * kern/main.c (pupa_load_normal_mode): Just load the module
47130 "normal".
47131 (pupa_main): Don't print the message
47132 "Entering into rescue mode..." here.
47133
47134 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
47135 Declared.
47136 (pupa_rescue_cmd_initrd): Likewise.
47137 (pupa_rescue_cmd_initrd): Likewise.
47138
47139 * include/pupa/symbol.h (FUNCTION): Specify the type.
47140 (VARIABLE): Likewise.
47141
47142 * include/pupa/err.h (pupa_err_t): Added
47143 PUPA_ERR_UNKNOWN_COMMAND.
47144
47145 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
47146 (pupa_dl_get_prefix): Likewise.
47147
47148 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
47149 Added _chain.mod and _linux.mod instead of chain.mod and
47150 linux.mod.
47151 (chain_mod_SOURCES): Renamed to ...
47152 (_chain_mod_SOURCES): ... this.
47153 (chain_mod_CFLAGS): Renamed to ...
47154 (_chain_mod_CFLAGS): ... this.
47155 (linux_mod_SOURCES): Renamed to ...
47156 (_linux_mod_SOURCES): ... this.
47157 (linux_mod_CFLAGS): Renamed to ...
47158 (_linux_mod_CFLAGS): ... this.
47159 (normal_mod_SOURCES): New variable.
47160 (normal_mod_CFLAGS): Likewise.
47161 (normal_mod_ASFLAGS): Likewise.
47162
47163 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
47164
47165 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
47166 possible.
47167
47168 * kern/dl.c (pupa_dl_ref): Refer depending modules
47169 recursively.
47170 (pupa_dl_unref): Unrefer depending modules recursively.
47171 Don't call pupa_dl_unload implicitly, because PUPA can crash if
47172 a module is unloaded before one depending on that module is
47173 unloaded.
47174 (pupa_dl_unload): Unload depending modules explicitly,
47175 if possible.
47176
47177 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
47178
47179 * include/pupa/i386/pc/linux.h: New file.
47180 * loader/i386/pc/linux.c: Likewise.
47181
47182 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
47183 Removed.
47184 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
47185 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
47186 of PUPA_CHAINLOADER_BOOT_SECTOR.
47187
47188 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
47189 (pupa_linux_prot_size): New variable.
47190 (pupa_linux_tmp_addr): Likewise.
47191 (pupa_linux_real_addr): Likewise.
47192 (pupa_linux_boot_zimage): New function.
47193 (pupa_linux_boot_bzimage): Likewise.
47194
47195 * kern/i386/pc/init.c (struct mem_region): New structure.
47196 (MAX_REGIONS): New macro.
47197 (mem_regions): New variable.
47198 (num_regions): Likewise.
47199 (pupa_os_area_addr): Likewise.
47200 (pupa_os_area_size): Likewise.
47201 (pupa_lower_mem): Likewise.
47202 (pupa_upper_mem): Likewise.
47203 (add_mem_region): New function.
47204 (compact_mem_regions): Likewise.
47205 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
47206 the size of the conventional memory and that of so-called upper
47207 memory (before the first memory hole).
47208 Instead of adding each found region to free memory, use
47209 add_mem_region and add them after removing overlaps.
47210 Also, add only 1/4 of the upper memory to free memory. The rest
47211 is used for loading OS images. Maybe this is ad hoc, but this
47212 makes it much easier to relocate OS images when booting.
47213
47214 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
47215 (pupa_enter_rescue_mode): Don't register initrd and module.
47216
47217 * kern/mm.c: Include pupa/dl.h.
47218
47219 * kern/main.c: Include pupa/file.h and pupa/device.h.
47220
47221 * kern/loader.c (pupa_loader_load_module_func): Removed.
47222 (pupa_loader_load_module): Likewise.
47223
47224 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
47225 ``.o''.
47226
47227 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
47228 (pupa_linux_tmp_addr): Likewise.
47229 (pupa_linux_real_addr): Likewise.
47230 (pupa_linux_boot_zimage): Likewise.
47231 (pupa_linux_boot_bzimage): Likewise.
47232
47233 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
47234 (pupa_upper_mem): Likewise.
47235 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
47236 module is too dangerous.
47237
47238 * include/pupa/loader.h (pupa_os_area_addr): Declared.
47239 (pupa_os_area_size): Likewise.
47240 (pupa_loader_set): Remove the first argument. Loader doesn't
47241 manage modules or initrd any longer.
47242 (pupa_loader_load_module): Removed.
47243
47244 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
47245 (linux_mod_SOURCES): New variable.
47246 (linux_mod_CFLAGS): Likewise.
47247
47248 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
47249
47250 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
47251 the length of a blocklist correctly.
47252
47253 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
47254 Use ioctl only if the OS file is a block device.
47255 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
47256 not very useful for normal files.
47257
47258 * kern/main.c (pupa_set_root_dev): New function.
47259 (pupa_load_normal_mode): Likewise.
47260 (pupa_main): Call those above.
47261
47262 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
47263 pupa_uint16_t.
47264
47265 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
47266
47267 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
47268
47269 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
47270 (setup): Configure the installed partition information and the
47271 dl prefix.
47272
47273 * loader/i386/pc/chainloader.c (my_mod): New variable.
47274 (pupa_chainloader_unload): New function.
47275 (pupa_rescue_cmd_chainloader): Refer itself.
47276 (PUPA_MOD_INIT): Save its own module in MY_MOD.
47277
47278 * kern/i386/pc/startup.S (install_partition): Removed.
47279 (version_string): Likewise.
47280 (config_file): Likewise.
47281 (pupa_install_dos_part): New variable.
47282 (pupa_install_bsd_part): Likewise.
47283 (pupa_prefix): Likewise.
47284 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
47285
47286 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
47287 and pupa/misc.h.
47288 (make_install_device): New function.
47289 (pupa_machine_init): Set the dl prefix.
47290
47291 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
47292 (buf): Renamed to ...
47293 (linebuf): ... this.
47294 (pupa_rescue_cmd_prefix): New function.
47295 (pupa_rescue_cmd_insmod): Likewise.
47296 (pupa_rescue_cmd_rmmod): Likewise.
47297 (pupa_rescue_cmd_lsmod): Likewise.
47298 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
47299 rmmod and lsmod.
47300
47301 * kern/mm.c (pupa_memalign): If failed even after invalidating
47302 disk caches, unload unneeded modules and retry.
47303
47304 * kern/misc.c (pupa_memmove): New function.
47305 (pupa_memcpy): Removed.
47306 (pupa_strcpy): New function.
47307 (pupa_itoa): Made static.
47308
47309 * kern/dl.c (pupa_dl_iterate): New function.
47310 (pupa_dl_ref): Likewise.
47311 (pupa_dl_unref): Likewise.
47312 (pupa_dl_unload): Return if succeeded or not.
47313 (pupa_dl_unload_unneeded): New function.
47314 (pupa_dl_unload_all): Likewise.
47315 (pupa_dl_init): Renamed to ...
47316 (pupa_dl_set_prefix): ... this.
47317 (pupa_dl_get_prefix): New function.
47318
47319 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
47320 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
47321 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
47322 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
47323 (pupa_install_dos_part): Declared.
47324 (pupa_install_bsd_part): Likewise.
47325 (pupa_prefix): Likewise.
47326 (pupa_boot_drive): Likewise.
47327
47328 * include/pupa/types.h: Fix a typo.
47329
47330 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
47331 pupa_memmove.
47332 (pupa_memmove): Declared.
47333 (pupa_strcpy): Likewise.
47334
47335 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
47336 pupa_mod_init takes one argument, its own module.
47337 (pupa_dl_unload_unneeded): Declared.
47338 (pupa_dl_unload_all): Likewise.
47339 (pupa_dl_ref): Likewise.
47340 (pupa_dl_unref): Likewise.
47341 (pupa_dl_iterate): Likewise.
47342 (pupa_dl_init): Renamed to ...
47343 (pupa_dl_set_prefix): ... this.
47344 (pupa_dl_get_prefix): Declared.
47345
47346 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
47347 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
47348 unloaded.
47349 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
47350 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
47351
47352 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
47353 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
47354
47355 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
47356
47357 * util/i386/pc/pupa-setup.c (setup): Define the internal
47358 function find_first_partition_start at the top level, because GCC
47359 3.0.x cannot compile internal functions in deeper scopes
47360 correctly.
47361 (find_root_device): Use lstat instead of stat.
47362 Don't follow symbolic links.
47363 Fix the path-constructing code.
47364
47365 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
47366 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
47367 by a BLKGETSIZE ioctl first, because block devices don't fill
47368 the member st_mode of the structure stat on Linux.
47369 [__linux__] (linux_find_partition): Use a temporary buffer
47370 REAL_DEV for the working space. Copy it to DEV before returning.
47371 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
47372 buffer cache consistent.
47373 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
47374 strncmp. The previous value was merely wrong.
47375 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
47376
47377 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
47378 FAT size is 12. The previous value was merely wrong.
47379
47380 * kern/main.c (pupa_main): Don't split the starting message from
47381 newlines.
47382
47383 * kern/term.c (pupa_putchar): Put CR after LF instead of before
47384 LF, because BIOS goes crazy about character attributes in this
47385 case.
47386
47387 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
47388
47389 * include/i386/pc/util/biosdisk.h: New file.
47390 * util/i386/pc/biosdisk.c: Likewise.
47391 * util/i386/pc/pupa-setup.c: Likewise.
47392
47393 * Makefile.in (INCLUDE_DISTFILES): Added
47394 include/pupa/i386/pc/util/biosdisk.h.
47395 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
47396 directory util/i386/pc.
47397 (install-local): Added a rule for sbin_UTILITIES.
47398 (uninstall): Likewise.
47399
47400 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
47401
47402 * util/misc.c (xrealloc): New function.
47403 (pupa_malloc): Likewise.
47404 (pupa_free): Likewise.
47405 (pupa_realloc): Likewise.
47406 (pupa_stop): Likewise.
47407 (pupa_putchar): Likewise.
47408
47409 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
47410
47411 * include/pupa/util/misc.h (xrealloc): Declared.
47412
47413 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
47414 macro.
47415 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
47416 (PUPA_BOOT_MACHINE_BPB_END): ... this.
47417
47418 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
47419 [PUPA_UTIL] (pupa_fat_fini): Likewise.
47420
47421 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
47422 way should be implemented.
47423 [PUPA_UTIL] (pupa_fat_fini): Likewise.
47424
47425 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
47426 the size of NAME for safety.
47427 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
47428 0x88.
47429
47430 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
47431 (pupa_setup_SOURCES): Likewise.
47432
47433 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
47434
47435 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
47436
47437 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
47438 bunch of pushl's from pusha, because this destroys the return
47439 value.
47440
47441 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
47442
47443 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
47444 This means that any missing prototypes could be fatal. Also, you
47445 must take care when writing assembly code. See the comments at
47446 the beginning of startup.S, for more details.
47447
47448 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
47449 compilation mechanism.
47450 (pupa_chainloader_real_boot): Likewise.
47451 (pupa_biosdisk_rw_int13_extensions): Likewise.
47452 (pupa_biosdisk_rw_standard): Likewise.
47453 (pupa_biosdisk_check_int13_extensions): Likewise.
47454 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
47455 (pupa_biosdisk_get_diskinfo_standard): Likewise.
47456 (pupa_get_memsize): Likewise.
47457 (pupa_get_mmap_entry): Likewise.
47458 (pupa_console_putchar): Likewise.
47459 (pupa_console_setcursor): Likewise.
47460 (pupa_getrtsecs): Use pushl instead of push.
47461
47462 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
47463 memory instead of the stack for a mmap entry, because some
47464 BIOSes may ignore the maximum size and overflow.
47465
47466 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
47467
47468 * genmk.rb (PModule#rule): Compile automatically generated
47469 sources with module-specific CFLAGS as well as other sources.
47470
47471 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47472
47473 * configure.ac: Check ld.
47474 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
47475 respectively, before checking endianness and sizes.
47476
47477 * Makefile.in (LD): New variable.
47478
47479 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47480
47481 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
47482
47483 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47484
47485 * Changelog: New file.
47486